1{
2 lib,
3 buildGhidraExtension,
4 ghidra,
5}:
6
7buildGhidraExtension {
8 pname = "machinelearning";
9 version = lib.getVersion ghidra;
10
11 src = "${ghidra}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_MachineLearning.zip";
12 dontUnpack = true;
13
14 # Built as part ghidra
15 dontBuild = true;
16
17 installPhase = ''
18 runHook preInstall
19
20 mkdir -p $out/lib/ghidra/Ghidra/Extensions
21 unzip -d $out/lib/ghidra/Ghidra/Extensions $src
22
23 runHook postInstall
24 '';
25
26 meta = with lib; {
27 inherit (ghidra.meta) homepage license;
28 description = "Finds functions using ML";
29 downloadPage = "https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Extensions/MachineLearning";
30 sourceProvenance = with sourceTypes; [
31 fromSource
32 binaryBytecode # deps
33 ];
34 };
35}