about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvringar <git@zabka.it>2024-08-02 13:11:01 +0200
committervringar <git@zabka.it>2024-08-02 13:11:01 +0200
commit5c354f19ea79a4bb52e29465d672a01e82c7c6d5 (patch)
treebf9ec4259ca3a83dd03dd2f0920caee59d64037b
parent60b0489ee327cbbbc6432c771b5d38756b3b809b (diff)
ghidra: restore configurability to buildGhidraExtension
This is required as Ghidra plugins don't have a consistent
layout and have to be widely configurable
-rw-r--r--pkgs/tools/security/ghidra/build-extension.nix4
-rw-r--r--pkgs/tools/security/ghidra/extensions/gnudisassembler/default.nix1
2 files changed, 4 insertions, 1 deletions
diff --git a/pkgs/tools/security/ghidra/build-extension.nix b/pkgs/tools/security/ghidra/build-extension.nix
index ce84287a8bd68..49d68b2f81eed 100644
--- a/pkgs/tools/security/ghidra/build-extension.nix
+++ b/pkgs/tools/security/ghidra/build-extension.nix
@@ -26,9 +26,11 @@ let
       preBuild = ''
         # Set project name, otherwise defaults to directory name
         echo -e '\nrootProject.name = "${pname}"' >> settings.gradle
+        ${args.preBuild or ""}
       '';
 
-      gradleFlags = [ "-PGHIDRA_INSTALL_DIR=${ghidra}/lib/ghidra" ];
+      gradleBuildTask = args.gradleBuildTask or "buildExtension";
+      gradleFlags = args.gradleFlags or [] ++ [ "-PGHIDRA_INSTALL_DIR=${ghidra}/lib/ghidra" ];
 
       installPhase = args.installPhase or ''
         runHook preInstall
diff --git a/pkgs/tools/security/ghidra/extensions/gnudisassembler/default.nix b/pkgs/tools/security/ghidra/extensions/gnudisassembler/default.nix
index 7ca4b056842e9..14b0f1df2733e 100644
--- a/pkgs/tools/security/ghidra/extensions/gnudisassembler/default.nix
+++ b/pkgs/tools/security/ghidra/extensions/gnudisassembler/default.nix
@@ -48,6 +48,7 @@ buildGhidraExtension {
   buildInputs = [
     zlib
   ];
+  gradleBuildTask = "assemble";
 
   installPhase = ''
     runHook preInstall