From f090b5ba0a6063f1201b31a58068002cac47d8d7 Mon Sep 17 00:00:00 2001 From: xenia Date: Sat, 6 Sep 2025 20:26:27 -0400 Subject: [PATCH] ghidra 11.3.2 -> 11.4.2 --- .../0001-Use-protobuf-gradle-plugin.patch | 80 ++++++-------- pkgs/ghidra-xenia-v2/build.nix | 4 +- pkgs/ghidra-xenia-v2/deps.json | 100 ++++++++++++------ 3 files changed, 106 insertions(+), 78 deletions(-) diff --git a/pkgs/ghidra-xenia-v2/0001-Use-protobuf-gradle-plugin.patch b/pkgs/ghidra-xenia-v2/0001-Use-protobuf-gradle-plugin.patch index 73d4dc6..22a040a 100644 --- a/pkgs/ghidra-xenia-v2/0001-Use-protobuf-gradle-plugin.patch +++ b/pkgs/ghidra-xenia-v2/0001-Use-protobuf-gradle-plugin.patch @@ -1,18 +1,5 @@ -From be4c852769e260e3a9b516bb5626a6a6a68a2cd3 Mon Sep 17 00:00:00 2001 -From: roblabla -Date: Wed, 31 Jan 2024 13:19:55 +0100 -Subject: [PATCH] Use com.google.protobuf:protobuf-gradle-plugin - ---- - Ghidra/Debug/Debugger-isf/build.gradle | 8 +- - Ghidra/Debug/Debugger-rmi-trace/build.gradle | 16 ++-- - build.gradle | 6 ++ - gradle/hasProtobuf.gradle | 94 -------------------- - 4 files changed, 22 insertions(+), 102 deletions(-) - delete mode 100644 gradle/hasProtobuf.gradle - diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle -index f6c8464405..396b52d188 100644 +index 2db94ed67e..925f394cf0 100644 --- a/Ghidra/Debug/Debugger-isf/build.gradle +++ b/Ghidra/Debug/Debugger-isf/build.gradle @@ -18,11 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle" @@ -32,10 +19,10 @@ index f6c8464405..396b52d188 100644 +} + dependencies { - api project(':Framework-AsyncComm') api project(':ProposedUtils') + } diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle -index 8b6589f035..05da5a7a7e 100644 +index 4fa3b9a539..2663aeaeb0 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle +++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle @@ -19,12 +19,17 @@ apply from: "${rootProject.projectDir}/gradle/helpProject.gradle" @@ -56,25 +43,27 @@ index 8b6589f035..05da5a7a7e 100644 +} + dependencies { + api project(':ProposedUtils') api project(':Pty') - api project(':Debugger') -@@ -44,12 +49,9 @@ task generateProtoPy { - ext.outdir = file("build/generated/source/proto/main/py") - outputs.dir(outdir) - inputs.files(src) +@@ -37,13 +42,10 @@ dependencies { + } + + task configureGenerateProtoPy { - dependsOn(configurations.protocArtifact) + dependsOn(protobuf.generateProtoTasks.all()) - doLast { + +- doLast { - def exe = configurations.protocArtifact.first() - if (!isCurrentWindows()) { - exe.setExecutable(true) - } ++ doLast { + def exe = protobuf.tools.protoc.path - exec { - commandLine exe, "--python_out=$outdir", "-I$srcdir" - args src + generateProtoPy.commandLine exe + generateProtoPy.args "--python_out=${generateProtoPy.outdir}" + generateProtoPy.args "--pyi_out=${generateProtoPy.stubsOutdir}" diff --git a/build.gradle b/build.gradle -index 2d75307a08..aa8f1d7604 100644 +index 159eb7dd7b..ef4add1ad8 100644 --- a/build.gradle +++ b/build.gradle @@ -80,6 +80,12 @@ if (flatRepo.isDirectory()) { @@ -92,19 +81,19 @@ index 2d75307a08..aa8f1d7604 100644 else { diff --git a/gradle/hasProtobuf.gradle b/gradle/hasProtobuf.gradle deleted file mode 100644 -index 23b4ce74bb..0000000000 +index a8c176bcbe..0000000000 --- a/gradle/hasProtobuf.gradle +++ /dev/null -@@ -1,94 +0,0 @@ +@@ -1,98 +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. @@ -157,7 +146,22 @@ index 23b4ce74bb..0000000000 - } -}*/ - --task generateProto { +-task configureGenerateProto { +- dependsOn(configurations.protocArtifact) +- +- doLast { +- def exe = configurations.protocArtifact.first() +- if (!isCurrentWindows()) { +- exe.setExecutable(true) +- } +- generateProto.commandLine exe, "--java_out=${generateProto.outdir}", "-I${generateProto.srcdir}" +- generateProto.args generateProto.src +- } +-} +- +-// Can't use providers.exec, or else we see no output +-task generateProto(type:Exec) { +- dependsOn(configureGenerateProto) - ext.srcdir = file("src/main/proto") - ext.src = fileTree(srcdir) { - include "**/*.proto" @@ -165,17 +169,6 @@ index 23b4ce74bb..0000000000 - 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) @@ -190,6 +183,3 @@ index 23b4ce74bb..0000000000 - } -} -zipSourceSubproject.dependsOn generateProto --- -2.47.0 - diff --git a/pkgs/ghidra-xenia-v2/build.nix b/pkgs/ghidra-xenia-v2/build.nix index 4407d52..79c20ae 100644 --- a/pkgs/ghidra-xenia-v2/build.nix +++ b/pkgs/ghidra-xenia-v2/build.nix @@ -19,7 +19,7 @@ let pname = "ghidra"; - version = "11.3.2"; + version = "11.4.2"; isMacArm64 = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; @@ -29,7 +29,7 @@ let owner = "NationalSecurityAgency"; repo = "Ghidra"; rev = "Ghidra_${version}_build"; - hash = "sha256-EvIOC/VIUaEl7eneVzgEt2fhLSP9DaawMAutk4ouFp8="; + hash = "sha256-/veSp2WuGOF0cYwUC4QFJD6kaMae5NuKrQ5Au4LjDe8="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; diff --git a/pkgs/ghidra-xenia-v2/deps.json b/pkgs/ghidra-xenia-v2/deps.json index f162898..a0ef368 100644 --- a/pkgs/ghidra-xenia-v2/deps.json +++ b/pkgs/ghidra-xenia-v2/deps.json @@ -99,11 +99,14 @@ } }, "https://ftp.postgresql.org": { - "pub/source/v15.10/postgresql-15.10": { - "tar.gz": "sha256-FzNmYFJZqD3BicQyf/TDclSv7WW0+GbL2KXvLqRJ6PM=" + "pub/source/v15.13/postgresql-15.13": { + "tar.gz": "sha256-r9wisKblvse2VyN1a5DUTqkR5hsvewHE3FUkq4E7TYk=" } }, - "https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.3.2": { + "https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.4.2": { + "Debugger/dbgmodel": { + "tlb": "sha256-jPXzouuBFgqjSQVqXKTCxyaxtumL8wl81BNRRxYzQ8c=" + }, "FunctionID/vs2012_x64": { "fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw=" }, @@ -283,6 +286,10 @@ "jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=", "pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA=" }, + "commons-codec#commons-codec/1.18.0": { + "jar": "sha256-ugBfMEzvkqPe3iSjitWsm4r8zw2PdYOdbBM4Y0z39uQ=", + "pom": "sha256-dLkW2ksDhMYZ5t1MGN7+iqQ4f3lSBSU8+0u7L0WM3c4=" + }, "commons-collections#commons-collections/3.2.2": { "jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=", "pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws=" @@ -291,6 +298,10 @@ "jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=", "pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k=" }, + "commons-io#commons-io/2.19.0": { + "jar": "sha256-gkJokZtLYvn0DwjFQ4HeWZOwePWGZ+My0XNIrgGdcrk=", + "pom": "sha256-VCt6UC7WGVDRuDEStRsWF9NAfjpN9atWqY12Dg+MWVA=" + }, "commons-lang#commons-lang/2.6": { "jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=", "pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE=" @@ -332,9 +343,9 @@ "jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=", "pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik=" }, - "junit#junit/4.12": { - "jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=", - "pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ=" + "junit#junit/4.13.2": { + "jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=", + "pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ=" }, "kr/motd/maven#os-maven-plugin/1.7.0": { "jar": "sha256-lDBTUBpCnlPRxNYhUu7BJfo2Yg4NxmtzkKiVCXz96s4=", @@ -432,6 +443,9 @@ "org/apache#apache/27": { "pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk=" }, + "org/apache#apache/33": { + "pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU=" + }, "org/apache#apache/7": { "pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU=" }, @@ -443,9 +457,9 @@ "jar": "sha256-Hfi5QwtcjtFD14FeQD4z71NxskAKrb6b2giDdi4IRtE=", "pom": "sha256-JxvWc4Oa9G5zr/lX4pGNS/lvWsT2xs9NW+k/0fEnHE0=" }, - "org/apache/commons#commons-compress/1.21": { - "jar": "sha256-auz9VFlyillWAc+gcljRMZcv/Dm0kutIvdWWV3ovJEo=", - "pom": "sha256-Z1uwI8m+7d4yMpSZebl0Kl/qlGKApVobRi1Mp4AQiM0=" + "org/apache/commons#commons-compress/1.27.1": { + "jar": "sha256-KT2A9UtTa3QJXc1+o88KKbv8NAJRkoEzJJX0Qg03DRY=", + "pom": "sha256-34zBqDh9TOhCNjtyCf3G0135djg5/T/KtVig+D+dhBw=" }, "org/apache/commons#commons-dbcp2/2.9.0": { "jar": "sha256-iHcgkSxcu83/bg4h1QNJN1Vfj/xZc4Hv+Pp38zzm1k4=", @@ -454,9 +468,9 @@ "org/apache/commons#commons-lang3/3.11": { "pom": "sha256-mA1mXYP+0EZlE08FeOUHRCoOdQaRBzeEORsKeYhySnU=" }, - "org/apache/commons#commons-lang3/3.12.0": { - "jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=", - "pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo=" + "org/apache/commons#commons-lang3/3.17.0": { + "jar": "sha256-bucx31yOWil2ocoCO2uzIOqNNTn75kyKHVy3ZRJ8M7Q=", + "pom": "sha256-NRxuSUDpObHzMN9H9g8Tujg9uB7gCBga9UHzoqbSpWw=" }, "org/apache/commons#commons-lang3/3.9": { "pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU=" @@ -488,6 +502,18 @@ "org/apache/commons#commons-parent/54": { "pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M=" }, + "org/apache/commons#commons-parent/72": { + "pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA=" + }, + "org/apache/commons#commons-parent/73": { + "pom": "sha256-TtRFYLB/hEhHnf0eg6Qiuk6D5gs25RsocaxQKm1cG+o=" + }, + "org/apache/commons#commons-parent/79": { + "pom": "sha256-Yo3zAUis08SRz8trc8euS1mJ5VJqsTovQo3qXUrRDXo=" + }, + "org/apache/commons#commons-parent/81": { + "pom": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ=" + }, "org/apache/commons#commons-pool2/2.11.1": { "jar": "sha256-6gUF7nUV5YsawOaG5NGl2ffYCOJRphvDcaoFlbmWP4M=", "pom": "sha256-wbsCmUpK34loDfepitujPFUnaDAUJy1liFuzA27NSMM=" @@ -523,17 +549,17 @@ "org/apache/logging/log4j#log4j/2.17.1": { "pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk=" }, - "org/bouncycastle#bcpkix-jdk15on/1.69": { - "jar": "sha256-QIN20Xqqh4nnrNBV/kBCiaEfozX9fGinUykEn7fSjtI=", - "pom": "sha256-WrvkytLCMJR0ZvsgmiJn48xqDTgKajGRWVnTqtm4F2w=" + "org/bouncycastle#bcpkix-jdk18on/1.80": { + "jar": "sha256-T0umqSYX6hncGD8PpdtJLu5Cb93ioKLWyUd3/9GvZBM=", + "pom": "sha256-pKEiETRntyjhjyb7DP1X8LGg18SlO4Zxis5wv4uG7Uc=" }, - "org/bouncycastle#bcprov-jdk15on/1.69": { - "jar": "sha256-5Gm9Ofk2mZ8lYAJjEAP/AioilR2p1b2Xicer+pdjopI=", - "pom": "sha256-/YHicUSVvOeeauazAp2s0kzyz/NAJB2lgQVYlae6eN4=" + "org/bouncycastle#bcprov-jdk18on/1.80": { + "jar": "sha256-6K0gn4xY0pGjfKl1Dp6frGBZaVbJg+Sd2Cgjgd2LMkk=", + "pom": "sha256-oKdcdtkcQh7qVtD2Bi+49j7ff6x+xyT9QgzNytcYHUM=" }, - "org/bouncycastle#bcutil-jdk15on/1.69": { - "jar": "sha256-KeQOJGbQQNgqbw6ZY10LwrujqUJRz3k5zwtpMhyu/Ak=", - "pom": "sha256-p2e8fzQtGTKJfso8i6zHAEygOAv6dSnyOpc0VJZcffw=" + "org/bouncycastle#bcutil-jdk18on/1.80": { + "jar": "sha256-Iuymh/eVVBH0Vq8z5uqOaPxzzYDLizKqX3qLGCfXxng=", + "pom": "sha256-Qhp95L/rnFs4sfxHxCagh9kIeJVdQQf1t6gusde3R7Y=" }, "org/checkerframework#checker-compat-qual/2.5.2": { "pom": "sha256-da9ztewybj29yUayH9RoAtXafGEsO/Hlh1N0yY1+pP0=" @@ -547,10 +573,10 @@ "module": "sha256-clinadyqJrmBVNIp2FzHLls2ZrC8tjfS2vFuxJiVZjg=", "pom": "sha256-AjkvvUziGQH5RWFUcrHU1NNZGzqr3wExBfXJLsMstPA=" }, - "org/checkerframework#checker-qual/3.42.0": { - "jar": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc=", - "module": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y=", - "pom": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo=" + "org/checkerframework#checker-qual/3.49.3": { + "jar": "sha256-Nn7b8v6fYGwf21qLpuHJwnYlmT4f+VTjho3nC8xkFrc=", + "module": "sha256-dv9CWNsfoaC8bOeur0coPfEGD9Q3oJvm7zxcMmnqWtM=", + "pom": "sha256-i+QBdkYoXZFCx/sibPuARFwXfcfBNjsj2UH6bJuwXc8=" }, "org/codehaus#codehaus-parent/3": { "pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE=" @@ -579,6 +605,10 @@ "jar": "sha256-YwKKfV6V7sjibuBCSxQfh+nalccYTypaSbtD371TsQQ=", "pom": "sha256-zMoEy/7Z60gzSM+6aexh9gvdyfPjwJJLZLsZ0cqy4s0=" }, + "org/commonmark#commonmark-ext-gfm-tables/0.23.0": { + "jar": "sha256-WfO2Gthywhg7guygUn14GspFThF31xmMl5WydH0XC3s=", + "pom": "sha256-x6/bJCGgs9hFDewHWaPrfBHEqZfTlLd8VR3Bgi3S2Uk=" + }, "org/commonmark#commonmark-ext-heading-anchor/0.23.0": { "jar": "sha256-7O27O1jbcgxhNXwb4boTKlweeczr4B8NPZo25VJCDL0=", "pom": "sha256-95zHry5Zpgc70UwPNKezU0JDO5FxqhdLYzeHRaVuASw=" @@ -669,9 +699,17 @@ "jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=", "pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg=" }, - "org/junit#junit-bom/5.7.1": { - "module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=", - "pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q=" + "org/junit#junit-bom/5.11.0": { + "module": "sha256-9+2+Z/IgQnCMQQq8VHQI5cR29An1ViNqEXkiEnSi7S0=", + "pom": "sha256-5nRZ1IgkJKxjdPQNscj0ouiJRrNAugcsgL6TKivkZE0=" + }, + "org/junit#junit-bom/5.11.0-M2": { + "module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=", + "pom": "sha256-Sj/8Sk7c/sLLXWGZInBqlAcWF5hXGTn4VN/ac+ThfMg=" + }, + "org/junit#junit-bom/5.11.4": { + "module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=", + "pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU=" }, "org/junit#junit-bom/5.7.2": { "module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=", @@ -735,9 +773,9 @@ "jar": "sha256-jK3UOsXrbQneBfrsyji5F6BAu5E5x+3rTMgcdAtxMoE=", "pom": "sha256-cimwOzCnPukQCActnkVppR2FR/roxQ9SeEGu9MGwuqg=" }, - "org/postgresql#postgresql/42.7.3": { - "jar": "sha256-omRMv7obqhRf9+jI71gqbu16fsTKeS9/BUEivex1Ymg=", - "pom": "sha256-wqy2hFfZlqjkntB3flklW3RlCXZSOVHxAa25QHXhWIU=" + "org/postgresql#postgresql/42.7.6": { + "jar": "sha256-8qHMA1LdXlxvZdut/ye+4Awy5DLGrQMNB0R/ilmDxCo=", + "pom": "sha256-SfNzCJO2khPK99foymodjHaf9mhCHVJS3gBSvFVGp8c=" }, "org/python#jython-standalone/2.7.4": { "jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=",