about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2024-04-09 11:35:07 +0200
committerGitHub <noreply@github.com>2024-04-09 11:35:07 +0200
commit6bd6ea849369543513f634a5a90b188c71b5f59a (patch)
tree628fd8a8cd9443e62aa98c9998d5d3616a5c508b
parentbe50b0bc1b67beb1255bf35a1df9de29652ea521 (diff)
parente989382eb6a99771cfadb61e6a41679e246ac025 (diff)
Merge pull request #300022 from roblabla/ghidra-11.0.2
-rw-r--r--pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch37
-rw-r--r--pkgs/tools/security/ghidra/build.nix16
2 files changed, 32 insertions, 21 deletions
diff --git a/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch b/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
index 7fb7d53e352fc..7378878a648a4 100644
--- a/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
+++ b/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
@@ -1,3 +1,16 @@
+From ffb6777d58f068db7e14372415154cd93f77766e Mon Sep 17 00:00:00 2001
+From: roblabla <unfiltered@roblab.la>
+Date: Wed, 31 Jan 2024 13:19:55 +0100
+Subject: [PATCH] Use com.google.protobuf:protobuf-gradle-plugin
+
+---
+ Ghidra/Debug/Debugger-gadp/build.gradle      |  7 +-
+ Ghidra/Debug/Debugger-isf/build.gradle       |  8 +-
+ Ghidra/Debug/Debugger-rmi-trace/build.gradle | 14 +--
+ build.gradle                                 |  6 ++
+ gradle/debugger/hasProtobuf.gradle           | 94 --------------------
+ 5 files changed, 26 insertions(+), 103 deletions(-)
+
 diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle
 index 9e1c57faf..3a3242eb5 100644
 --- a/Ghidra/Debug/Debugger-gadp/build.gradle
@@ -43,7 +56,7 @@ index d135294a0..785681ca2 100644
  	api project(':Framework-AsyncComm')
  	api project(':Framework-Debugging')
 diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
-index eec00786e..666cccafc 100644
+index 40fbc17ab..7517ffe6e 100644
 --- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
 +++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
 @@ -18,12 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
@@ -63,17 +76,23 @@ index eec00786e..666cccafc 100644
 +	}
 +}
  dependencies {
+ 	api project(':Pty')
  	api project(':Debugger')
- }
-@@ -36,7 +41,7 @@ task generateProtoPy {
+@@ -44,12 +49,9 @@ task generateProtoPy {
  	ext.outdir = file("build/generated/source/proto/main/py")
  	outputs.dir(outdir)
  	inputs.files(src)
 -	dependsOn(configurations.protocArtifact)
 +	dependsOn(protobuf.generateProtoTasks.all())
  	doLast {
- 		def exe = configurations.protocArtifact.first()
- 		if (!isCurrentWindows()) {
+-		def exe = configurations.protocArtifact.first()
+-		if (!isCurrentWindows()) {
+-			exe.setExecutable(true)
+-		}
++		def exe = protobuf.tools.protoc.path
+ 		exec {
+ 			commandLine exe, "--python_out=$outdir", "-I$srcdir"
+ 			args src
 diff --git a/build.gradle b/build.gradle
 index b0c717fb1..5f56506a5 100644
 --- a/build.gradle
@@ -92,10 +111,9 @@ index b0c717fb1..5f56506a5 100644
  }
  else {	
 diff --git a/gradle/debugger/hasProtobuf.gradle b/gradle/debugger/hasProtobuf.gradle
-deleted file mode 100644
-index 23b4ce74b..000000000
+index 23b4ce74b..e69de29bb 100644
 --- a/gradle/debugger/hasProtobuf.gradle
-+++ /dev/null
++++ b/gradle/debugger/hasProtobuf.gradle
 @@ -1,94 +0,0 @@
 -/* ###
 - * IP: GHIDRA
@@ -191,3 +209,6 @@ index 23b4ce74b..000000000
 -	}
 -}
 -zipSourceSubproject.dependsOn generateProto
+-- 
+2.42.0
+
diff --git a/pkgs/tools/security/ghidra/build.nix b/pkgs/tools/security/ghidra/build.nix
index 8b9f2aaca0077..cb658615f3047 100644
--- a/pkgs/tools/security/ghidra/build.nix
+++ b/pkgs/tools/security/ghidra/build.nix
@@ -10,19 +10,18 @@
 , icoutils
 , xcbuild
 , protobuf
-, fetchurl
 }:
 
 let
   pkg_path = "$out/lib/ghidra";
   pname = "ghidra";
-  version = "11.0";
+  version = "11.0.2";
 
   src = fetchFromGitHub {
     owner = "NationalSecurityAgency";
     repo = "Ghidra";
     rev = "Ghidra_${version}_build";
-    hash = "sha256-LVtDqgceZUrMriNy6+yK/ruBrTI8yx6hzTaPa1BTGlc=";
+    hash = "sha256-Q5nolgqBG2LFVoEeEtzEPTt/cAHubPlRIFt3SYX9z1Y=";
   };
 
   gradle = gradle_7;
@@ -92,7 +91,7 @@ HERE
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-KT+XXowCNaNfOiPzYLwbPMaF84omKFobHkkNqZ6oyUA=";
+    outputHash = "sha256-nKfJiGoZlDEpbCmYVKNZXz2PYIosCd4nPFdy3MfprHc=";
   };
 
 in stdenv.mkDerivation {
@@ -106,13 +105,6 @@ in stdenv.mkDerivation {
 
   patches = [
     ./0001-Use-protobuf-gradle-plugin.patch
-    # we use fetchurl since the fetchpatch normalization strips the whole diff
-    # https://github.com/NixOS/nixpkgs/issues/266556
-    (fetchurl {
-      name = "0002-remove-executable-bit.patch";
-      url = "https://github.com/NationalSecurityAgency/ghidra/commit/e2a945624b74e5d42dc85e9c1f992315dd154db1.diff";
-      sha256 = "07mjfl7hvag2akk65g4cknp330qlk07dgbmh20dyg9qxzmk91fyq";
-    })
   ];
 
   buildPhase = ''
@@ -124,8 +116,6 @@ in stdenv.mkDerivation {
 
     sed -i "s#mavenLocal()#mavenLocal(); maven { url '${deps}/maven' }#g" build.gradle
 
-    rm -v Ghidra/Debug/Debugger-rmi-trace/build.gradle.orig
-
     gradle --offline --no-daemon --info -Dorg.gradle.java.home=${openjdk17} buildGhidra
   '';