Loading pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch +109 −118 Original line number Diff line number Diff line diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle index f4dbd3cd0..6108e8534 100644 index 9e1c57faf..3a3242eb5 100644 --- a/Ghidra/Debug/Debugger-gadp/build.gradle +++ b/Ghidra/Debug/Debugger-gadp/build.gradle @@ -23,42 +23,18 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" @@ -18,11 +18,16 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" -apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle" +apply plugin: 'com.google.protobuf' apply plugin: 'eclipse' +apply plugin: 'com.google.protobuf' eclipse.project.name = 'Debug Debugger-gadp' -configurations { - allProtocArtifacts - protocArtifact -} - def platform = getCurrentPlatformName() -dependencies { - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe' - - if (isCurrentWindows()) { - protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe' - } - if (isCurrentLinux()) { - if (platform.endsWith("x86_64")) { - protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe' - } - else { - protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe' - } - } - if (isCurrentMac()) { - if (platform.endsWith("x86_64")) { - protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe' - } - else { - protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe' - } +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' } + } +dependencies { +} dependencies { api project(':Framework-AsyncComm') api project(':Framework-Debugging') api project(':ProposedUtils') @@ -73,37 +49,3 @@ dependencies { } }*/ -task generateProto { - ext.srcdir = file("src/main/proto") - ext.src = fileTree(srcdir) { - include "**/*.proto" - } - ext.outdir = file("build/generated/source/proto/main/java") - outputs.dir(outdir) - inputs.files(src) - dependsOn(configurations.protocArtifact) - doLast { - def exe = configurations.protocArtifact.first() - if (!isCurrentWindows()) { - exe.setExecutable(true) - } - exec { - commandLine exe, "--java_out=$outdir", "-I$srcdir" - args src - } - } -} - -tasks.compileJava.dependsOn(tasks.generateProto) -tasks.eclipse.dependsOn(tasks.generateProto) -rootProject.tasks.prepDev.dependsOn(tasks.generateProto) - -sourceSets { - main { - java { - srcDir tasks.generateProto.outdir - } - } -} -zipSourceSubproject.dependsOn generateProto - diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle index 6bf945c2e..3225d095d 100644 index d135294a0..785681ca2 100644 --- a/Ghidra/Debug/Debugger-isf/build.gradle +++ b/Ghidra/Debug/Debugger-isf/build.gradle @@ -20,42 +20,18 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" @@ -18,11 +18,15 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" apply plugin: 'eclipse' -apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle" - +apply plugin: 'com.google.protobuf' apply plugin: 'eclipse' eclipse.project.name = 'Debug Debugger-isf' +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' + } +} dependencies { 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 --- 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" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" -apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle" +apply plugin: 'com.google.protobuf' apply from: "${rootProject.projectDir}/gradle/debugger/hasPythonPackage.gradle" apply plugin: 'eclipse' eclipse.project.name = 'Debug Debugger-rmi-trace' +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' + } +} dependencies { api project(':Debugger') } @@ -36,7 +41,7 @@ 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()) { diff --git a/build.gradle b/build.gradle index b0c717fb1..5f56506a5 100644 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) { jcenter() flatDir name: "flat", dirs:["$flatRepo"] } + buildscript { + repositories { + mavenLocal() + mavenCentral() + } + } } } else { diff --git a/gradle/debugger/hasProtobuf.gradle b/gradle/debugger/hasProtobuf.gradle deleted file mode 100644 index 23b4ce74b..000000000 --- a/gradle/debugger/hasProtobuf.gradle +++ /dev/null @@ -1,94 +0,0 @@ -/* ### - * IP: GHIDRA - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/*plugins { - id 'com.google.protobuf' version '0.8.10' -}*/ - -configurations { - allProtocArtifacts - protocArtifact -} - def platform = getCurrentPlatformName() -def platform = getCurrentPlatformName() - - -dependencies { - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe' Loading @@ -132,20 +149,15 @@ index 6bf945c2e..3225d095d 100644 - else { - protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe' - } +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' } +} +dependencies { api project(':Framework-AsyncComm') api project(':Framework-Debugging') api project(':ProposedUtils') @@ -64,40 +40,6 @@ dependencies { testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts') } - } -} - -/*protobuf { - protoc { - artifact = 'com.google.protobuf:protoc:3.21.8' - } -}*/ - -task generateProto { - ext.srcdir = file("src/main/proto") - ext.src = fileTree(srcdir) { Loading Loading @@ -179,24 +191,3 @@ index 6bf945c2e..3225d095d 100644 - } -} -zipSourceSubproject.dependsOn generateProto - // Include buildable native source in distribution rootProject.assembleDistribution { from (this.project.projectDir.toString()) { diff --git a/build.gradle b/build.gradle index b0c717fb1..5f56506a5 100644 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) { jcenter() flatDir name: "flat", dirs:["$flatRepo"] } + buildscript { + repositories { + mavenLocal() + mavenCentral() + } + } } } else { pkgs/tools/security/ghidra/build.nix +4 −23 Original line number Diff line number Diff line Loading @@ -15,13 +15,13 @@ let pkg_path = "$out/lib/ghidra"; pname = "ghidra"; version = "10.3.3"; version = "10.4"; src = fetchFromGitHub { owner = "NationalSecurityAgency"; repo = "Ghidra"; rev = "Ghidra_${version}_build"; hash = "sha256-KDSiZ/JwAqX6Obg9UD8ZQut01l/eMXbioJy//GluXn0="; hash = "sha256-g0JM6pm1vkCh9yBB5mfrOiNrImqoyWdQcEe2g+AO6LQ="; }; gradle = gradle_7; Loading @@ -36,24 +36,6 @@ let }; # postPatch scripts. # Tells ghidra to use our own protoc binary instead of the prebuilt one. fixProtoc = '' cat >>Ghidra/Debug/Debugger-gadp/build.gradle <<HERE protobuf { protoc { path = '${protobuf}/bin/protoc' } } HERE cat >>Ghidra/Debug/Debugger-isf/build.gradle <<HERE protobuf { protoc { path = '${protobuf}/bin/protoc' } } HERE ''; # Adds a gradle step that downloads all the dependencies to the gradle cache. addResolveStep = '' cat >>build.gradle <<HERE Loading Loading @@ -85,7 +67,7 @@ HERE inherit version src; patches = [ ./0001-Use-protobuf-gradle-plugin.patch ]; postPatch = fixProtoc + addResolveStep; postPatch = addResolveStep; nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild; buildPhase = '' Loading Loading @@ -116,13 +98,12 @@ in stdenv.mkDerivation { inherit pname version src; nativeBuildInputs = [ gradle unzip makeWrapper icoutils gradle unzip makeWrapper icoutils protobuf ] ++ lib.optional stdenv.isDarwin xcbuild; dontStrip = true; patches = [ ./0001-Use-protobuf-gradle-plugin.patch ]; postPatch = fixProtoc; buildPhase = '' export HOME="$NIX_BUILD_TOP/home" Loading Loading
pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch +109 −118 Original line number Diff line number Diff line diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle index f4dbd3cd0..6108e8534 100644 index 9e1c57faf..3a3242eb5 100644 --- a/Ghidra/Debug/Debugger-gadp/build.gradle +++ b/Ghidra/Debug/Debugger-gadp/build.gradle @@ -23,42 +23,18 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" @@ -18,11 +18,16 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" -apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle" +apply plugin: 'com.google.protobuf' apply plugin: 'eclipse' +apply plugin: 'com.google.protobuf' eclipse.project.name = 'Debug Debugger-gadp' -configurations { - allProtocArtifacts - protocArtifact -} - def platform = getCurrentPlatformName() -dependencies { - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe' - - if (isCurrentWindows()) { - protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe' - } - if (isCurrentLinux()) { - if (platform.endsWith("x86_64")) { - protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe' - } - else { - protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe' - } - } - if (isCurrentMac()) { - if (platform.endsWith("x86_64")) { - protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe' - } - else { - protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe' - } +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' } + } +dependencies { +} dependencies { api project(':Framework-AsyncComm') api project(':Framework-Debugging') api project(':ProposedUtils') @@ -73,37 +49,3 @@ dependencies { } }*/ -task generateProto { - ext.srcdir = file("src/main/proto") - ext.src = fileTree(srcdir) { - include "**/*.proto" - } - ext.outdir = file("build/generated/source/proto/main/java") - outputs.dir(outdir) - inputs.files(src) - dependsOn(configurations.protocArtifact) - doLast { - def exe = configurations.protocArtifact.first() - if (!isCurrentWindows()) { - exe.setExecutable(true) - } - exec { - commandLine exe, "--java_out=$outdir", "-I$srcdir" - args src - } - } -} - -tasks.compileJava.dependsOn(tasks.generateProto) -tasks.eclipse.dependsOn(tasks.generateProto) -rootProject.tasks.prepDev.dependsOn(tasks.generateProto) - -sourceSets { - main { - java { - srcDir tasks.generateProto.outdir - } - } -} -zipSourceSubproject.dependsOn generateProto - diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle index 6bf945c2e..3225d095d 100644 index d135294a0..785681ca2 100644 --- a/Ghidra/Debug/Debugger-isf/build.gradle +++ b/Ghidra/Debug/Debugger-isf/build.gradle @@ -20,42 +20,18 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" @@ -18,11 +18,15 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" apply plugin: 'eclipse' -apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle" - +apply plugin: 'com.google.protobuf' apply plugin: 'eclipse' eclipse.project.name = 'Debug Debugger-isf' +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' + } +} dependencies { 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 --- 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" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" -apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle" +apply plugin: 'com.google.protobuf' apply from: "${rootProject.projectDir}/gradle/debugger/hasPythonPackage.gradle" apply plugin: 'eclipse' eclipse.project.name = 'Debug Debugger-rmi-trace' +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' + } +} dependencies { api project(':Debugger') } @@ -36,7 +41,7 @@ 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()) { diff --git a/build.gradle b/build.gradle index b0c717fb1..5f56506a5 100644 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) { jcenter() flatDir name: "flat", dirs:["$flatRepo"] } + buildscript { + repositories { + mavenLocal() + mavenCentral() + } + } } } else { diff --git a/gradle/debugger/hasProtobuf.gradle b/gradle/debugger/hasProtobuf.gradle deleted file mode 100644 index 23b4ce74b..000000000 --- a/gradle/debugger/hasProtobuf.gradle +++ /dev/null @@ -1,94 +0,0 @@ -/* ### - * IP: GHIDRA - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/*plugins { - id 'com.google.protobuf' version '0.8.10' -}*/ - -configurations { - allProtocArtifacts - protocArtifact -} - def platform = getCurrentPlatformName() -def platform = getCurrentPlatformName() - - -dependencies { - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe' - allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe' Loading @@ -132,20 +149,15 @@ index 6bf945c2e..3225d095d 100644 - else { - protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe' - } +buildscript { + dependencies { + classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' } +} +dependencies { api project(':Framework-AsyncComm') api project(':Framework-Debugging') api project(':ProposedUtils') @@ -64,40 +40,6 @@ dependencies { testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts') } - } -} - -/*protobuf { - protoc { - artifact = 'com.google.protobuf:protoc:3.21.8' - } -}*/ - -task generateProto { - ext.srcdir = file("src/main/proto") - ext.src = fileTree(srcdir) { Loading Loading @@ -179,24 +191,3 @@ index 6bf945c2e..3225d095d 100644 - } -} -zipSourceSubproject.dependsOn generateProto - // Include buildable native source in distribution rootProject.assembleDistribution { from (this.project.projectDir.toString()) { diff --git a/build.gradle b/build.gradle index b0c717fb1..5f56506a5 100644 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) { jcenter() flatDir name: "flat", dirs:["$flatRepo"] } + buildscript { + repositories { + mavenLocal() + mavenCentral() + } + } } } else {
pkgs/tools/security/ghidra/build.nix +4 −23 Original line number Diff line number Diff line Loading @@ -15,13 +15,13 @@ let pkg_path = "$out/lib/ghidra"; pname = "ghidra"; version = "10.3.3"; version = "10.4"; src = fetchFromGitHub { owner = "NationalSecurityAgency"; repo = "Ghidra"; rev = "Ghidra_${version}_build"; hash = "sha256-KDSiZ/JwAqX6Obg9UD8ZQut01l/eMXbioJy//GluXn0="; hash = "sha256-g0JM6pm1vkCh9yBB5mfrOiNrImqoyWdQcEe2g+AO6LQ="; }; gradle = gradle_7; Loading @@ -36,24 +36,6 @@ let }; # postPatch scripts. # Tells ghidra to use our own protoc binary instead of the prebuilt one. fixProtoc = '' cat >>Ghidra/Debug/Debugger-gadp/build.gradle <<HERE protobuf { protoc { path = '${protobuf}/bin/protoc' } } HERE cat >>Ghidra/Debug/Debugger-isf/build.gradle <<HERE protobuf { protoc { path = '${protobuf}/bin/protoc' } } HERE ''; # Adds a gradle step that downloads all the dependencies to the gradle cache. addResolveStep = '' cat >>build.gradle <<HERE Loading Loading @@ -85,7 +67,7 @@ HERE inherit version src; patches = [ ./0001-Use-protobuf-gradle-plugin.patch ]; postPatch = fixProtoc + addResolveStep; postPatch = addResolveStep; nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild; buildPhase = '' Loading Loading @@ -116,13 +98,12 @@ in stdenv.mkDerivation { inherit pname version src; nativeBuildInputs = [ gradle unzip makeWrapper icoutils gradle unzip makeWrapper icoutils protobuf ] ++ lib.optional stdenv.isDarwin xcbuild; dontStrip = true; patches = [ ./0001-Use-protobuf-gradle-plugin.patch ]; postPatch = fixProtoc; buildPhase = '' export HOME="$NIX_BUILD_TOP/home" Loading