Commit 85dc0632 authored by Emily Trau's avatar Emily Trau Committed by Emily Trau
Browse files

ghidra-extensions.sleighdevtools: init at 11.0.2

parent 5a7c5c4c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -6,4 +6,7 @@ lib.makeScope newScope (self: {
  ghidraninja-ghidra-scripts = self.callPackage ./extensions/ghidraninja-ghidra-scripts { };

  gnudisassembler = self.callPackage ./extensions/gnudisassembler { inherit ghidra; };

  sleighdevtools = self.callPackage ./extensions/sleighdevtools { inherit ghidra; };

})
+40 −0
Original line number Diff line number Diff line
{ lib
, buildGhidraExtension
, ghidra
, python3
}:

buildGhidraExtension {
  pname = "sleighdevtools";
  version = lib.getVersion ghidra;

  src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_SleighDevTools.zip";
  dontUnpack = true;

  # Built as part ghidra
  dontBuild = true;
  buildInputs = [ python3 ];

  installPhase = ''
    runHook preInstall

    mkdir -p $out/lib/ghidra/Ghidra/Extensions
    unzip -d $out/lib/ghidra/Ghidra/Extensions $src

    runHook postInstall
  '';

  meta = with lib; {
    inherit (ghidra.meta) homepage license;
    description = "Sleigh language development tools including external disassembler capabilities";
    longDescription = ''
      Sleigh language development tools including external disassembler capabilities.
      The GnuDisassembler extension may be also be required as a disassembly provider.
    '';
    downloadPage = "https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Extensions/SleighDevTools";
    sourceProvenance = with sourceTypes; [
      fromSource
      binaryBytecode  # deps
    ];
  };
}