ghidra-12.0.3.ebuild

This commit is contained in:
Anton Bolshakov 2026-02-15 18:03:04 +08:00
parent ecedb9f7ae
commit 4dcfe5cdab
No known key found for this signature in database
GPG key ID: 32BDCED870788F04
3 changed files with 7 additions and 227 deletions

View file

@ -1,7 +1,6 @@
DIST AXMLPrinter2.jar 24552 BLAKE2B 3ff09da948c2962919927ad35f8d38a13391c763a83962f8fdce90ec4720430b00be891f68fc149f62180ddf5f5e818af4e6b6a153d1a55e871f181e930d2b7b SHA512 c1168ec913f1fbb0675915d4fd865ec9a8e8573f6c8aedcb6e68166f61f11aeaececc7548d54d78134843c0102c57d6350973f6d3027d0ffdae52a5c57a7f601
DIST Ghidra_11.4.3_build.tar.gz 74475006 BLAKE2B 489985502b464854f0a72c87e3c6380044e45f7f734b244326ea79f159ae2f1e796bf9df9718913a4a559a917a15c83f21fd07d58556740d15c1b296a75430eb SHA512 f711d45e235e1df65d928fd67dafca36809caea6f6e4bb831500441f4e894466749260d9fceed7a234f8472ed4e6b7279db099c14932bb7822d789bbde6ad41f
DIST Ghidra_12.0.1_build.tar.gz 78575589 BLAKE2B c68e5d5f7b5e4d9c981147f9f6b424afe86d1ba610d89264806f660e4a4119508170083a5cf10d5798deec3db7bb4dac390483813bb104ae11320d29d24cace6 SHA512 1685c68418c0dfa92a64096e16a379d967d9756ed22171eab2b5366b114a56564501808708ba7a65cdd60cec75194eff204b5b9d1bde5965c84edc8135bb4336
DIST Ghidra_12.0_build.tar.gz 78508855 BLAKE2B 7641373fdb02a0bf697ec6181cfeee48652aeb935fa8be1a82fe5aafa20bfe16f8de0f511f4e3adc102849abac38f3c55e8e8a64642622e7db5c45bf3d4f2ce0 SHA512 d403938c2169d877b58c6b137a9b5d403c8f8f975a96c660d7519ca7c38625e567c480591de87d26247cae5b7ee924743636ff02a8ebdf21c255974a5ace78ec
DIST Ghidra_12.0.3_build.tar.gz 78589019 BLAKE2B e0183d0e97abf9e903710161ead0d88a1e28cade2d2b4a57249ad5550dc69b0abb9e9112218c42349ec6c04ebfcb750963d87fdfd1acd98d1ce7a09c1302a0e0 SHA512 7aaeab93d819018f669f6afc23c6ffa5a8b452f898db94a541cb6aeb3f51f5a9c71f1d0c9e23d9f2f600f573423e969c7baeb67d744f1e038d4e805d0d06a8d0
DIST PyDev-9.3.0.zip 29897762 BLAKE2B 426867e2322988be23eaa6c0662049be7c34d9b019a17847fd7a4f875b971229db1c3ffb65e676dfe8d3a6b0683c0c514c9408092a7cf0afc652641f57ae31ca SHA512 5d13c012e5c0e25a1a3f43dce7b797f612d5e59b7985b30aa7588f98942a50e5723ee8d311203e9c1209a488be088a8cfb97d490095ceaef01a07e51a8c495b4
DIST Pybag-2.2.12-py3-none-any.whl 298073 BLAKE2B 664879d7c4a58f86bfdea5663637fb9a8c08631c8ba37da1d51a3632e9cfa8b0255cc8fe41e8b880375e6c7fd2725977b5910b7cc206b225ab9570e5558f6c05 SHA512 308ff5ae3adb3995ec0cbf125e866002368f634208425301f86d4b95a1d40972fa976213d08b2aa6c88b0eaed2b7a90a83ca609f659492511ba9aac25c41f102
DIST capstone-5.0.1-py3-none-win_amd64.whl 1272594 BLAKE2B 37bdd905b5c2a684c129de309d424dc3b408ebc2eabf8b609728f9547e94a29f8da18bc18a5a67e7f54bdc41bbe32f07d4c449c5ac6314e25003d18eeeb85ad1 SHA512 500baa5fc0f5b0adf22480f28d430ead8c8a85b3fe374131d61bf03b1bf960ac9192ea4cc739f62b8550f59f6d506cad80d24aba34d5d19a1ec10ea17be43572
@ -9,9 +8,8 @@ DIST cdt-8.6.0.zip 76639241 BLAKE2B 32c724b1f6ff43132f09c544bac8b35ed3f4f5866c84
DIST comtypes-1.4.1-py3-none-any.whl 197917 BLAKE2B 227edcd95cc36318431d132a5ef5bf8055c030b1bc4be214a7b6a884801fa4df17b9d7df08505d2fab6e80a31f0c6fc41826f720545babecc22915e46869c2ce SHA512 2179ef65afa59fefcae5624008ff768af6ae8b73d4efd4172648ebaddd35bb65b8d78765eb80ff5abe20445117fe6a26579e127d024bfe16a27c2643224b8026
DIST dbgmodel.tlb 62336 BLAKE2B d8174f421b93246cf3836d9cf37e0f3f645fadeac0288ec97da5b94ebeeb162c4be3c2efef3328816ccee410bedc3242f34c71c74fa3944c05ecb76a022db1e2 SHA512 454ba5e725804783689586935b455fb488eb32ebe178396ee899a9984641a366c41a1eb93659b15f222be8e54d25e8ddbb4d50b9e982ffc04f32d6b334829150
DIST dex-tools-v2.4.zip 19105975 BLAKE2B bbda5e123bdf500ff736fb38424002d41162ed1e5be34116e5722723ef13ea908ede4d8a3079bc1a376b1e47c985b0cd54ea5927edf774d1414d300de616a571 SHA512 8c1381920293195fba5ec4f9934d1cb0254cf94ef1dfb420519cf3da364c7e25fed7da7736692f36d3d068bdbbb46884d890ff43626b1b521823206f4666fc4f
DIST ghidra-dependencies-20250625.tar.gz 101631250 BLAKE2B a03e215ef986e61a8204e792f8e92f8afb3cc764d9e7d55e39c840339ace2aa4f35d5dc3826ee04ccc5a701d5b890999f5cc2a7de0536978976887d950b948d6 SHA512 aee1af9e60975511884148e4e820e2d61e086a00ac2d19cd6e06a6b8929753d8e63043fce16d5b00f189a5936665d18a9044fd1cf75cea96a8461ce34a027cdd
DIST ghidra-dependencies-20251209.tar.gz 105023467 BLAKE2B 63f2936cc1a67986cde053c17c622caca7e35924db25d9ea31ccb908f318135aa38db5651ab717f662d04bbd219d186ff50e1276f672e8f1fa2f334c998c65d0 SHA512 5d48375767e428fdb555567ad92a9b4143080807b8e987c1f31831ef4fa0b567b2cacdc4160bf2177da782b3a4802db9631747966e581a9f7966d15be7c00c8b
DIST ghidra-dependencies-20260118.tar.gz 107099640 BLAKE2B 15a65116cf77defa9d5b8d4e7451568bf6ead7c88ebdc530f2eeba99dfc1f358bc828e1ebe2eb10110398ac366c1c749350448befffb9c105d296e1b4b8f5665 SHA512 e0fc49a22b9fa1da164632dfbcfd96e90cb94c3b9fd387d82858ef22198fa4489fbe426e76314ca886858c437701b3c7d2a047d4b2a95b7929eb81447a560ec3
DIST ghidra-dependencies-20260215.tar.gz 109374510 BLAKE2B 02f515a0e0b718ef967de731386b9befbd8458933728bde9793fd55c5c8351cf37c19a462afa48efb83e3309b1707e00b87d4e8ddfd5c7a1b6450b175500a3fe SHA512 9528cc9b81be0a574f1c6f4d4d91514b9f2359e70121e84fc540a11c5a84615116066b92ac32f04200617146c17dcd5bdba206ab44031016ecdc0cdd977c1087
DIST hfsexplorer-0_21-bin.zip 1473278 BLAKE2B e9d2a3fae4da8046a17ce5e6828b4d1ff27da6384aac4be3864fe2c16f83bb95cb728eaeec9a42c3e1febaef98ba9357bfc3744b4950deb4b783d36e723d6cc0 SHA512 b85b4316115695acc78cc7c675c673058c05a238451562be0c6a48b2d11a28e5645a42cb62cdf063be015369df26201dfab6cf2e60f39e6468d1d53b23f94415
DIST java-sarif-2.1-modified.jar 227352 BLAKE2B d768865f09f2aa4ec6b965347df13d7e1bcda38e2401cdcdad7eaabd68dba901e29525c1632b8d4ea3529ed894193abe09a38293f21d3155bba4c55b7c90ed8e SHA512 04d1f895f87a8f0a653ee5c2b18ed0b6d158f1b7de4e16de2e50ed5a3087b1e83ca01f6c4c8c53d1788942e29d2f41528c910f224c41e27098cb5c2838a8ddf3
DIST postgresql-15.10.tar.gz 30424979 BLAKE2B 926015ad5e76e84f71db77b3ba3235d71bbffe6c39047cd34d95b987c10eb316017a9aa857f5dde4e8ad7f7e6acdafabae0fa69ee07c3776e67fec0ea14e539a SHA512 92906d4c6bb958b4dccfe7e978a21a8a6459616650c74013fe5662ac97fdea105ee009e38b9145716bcb07d160f8d4d793be4fb3651d40930bbfe04cef352403
@ -31,4 +29,5 @@ DIST vsOlder_x64.fidb 11155547 BLAKE2B 85854961194ea57bba7f8ed88206074c9d752dd02
DIST vsOlder_x86.fidb 17099444 BLAKE2B 2e2e65e2f3e32330453ddbb588ad19989c7212903b059194fc0bd4e4b62c5ec48b5e861c8057d82987a6e298b76ec63d5d266ecf5cef81c9c239b9ab0dfe4d68 SHA512 85f0d334b66a97252391aebf8f2497725a92b93b8c789a0b8cec1b41cd7f649703f8fa3a799c472607e5a0551c31594cfe2936ea6259c3e41eee1e64b8c32297
DIST wheel-0.37.1-py2.py3-none-any.whl 35301 BLAKE2B 41d905a91003dead88beb0231941ea0f4bc926107a1c8700934ca713fe47d91bb732d009adc44dfebcffd248a66dc513b9b372cd5bf826a058b4ebcde23075ec SHA512 dd5b7bce961e8bc3f25877c8e13433b522eb92fda533552424f2e4a03fbf8e374fab5792e645ba598f7b78a8e7458ee54bba379904772b22dfd7fad1ad4f7c5c
DIST yajsw-stable-13.12.zip 28514193 BLAKE2B 4cccc634ca6764b62daffc135ea3bcc8d6824a703bf237ce34ee4ce58e8e3f8b93aeab839b56714df5858f4f1a78fc424413ade612219d4f02285ca27d8e6fb1 SHA512 ce942efe3e4f45280913122dab121b583ce20d9a86369de8148daf100fa2f4695f59acd79087519c5ce6ac65803ffa068607430760b556abb31e60558c0085e9
DIST yajsw-stable-13.18.zip 25385290 BLAKE2B 254e820a1fd6c8a4600d721ee30dbbed52af45d229a95b2d4ee293dd7de7ed7e92f876e51afedd56c17aa501dcae1affd3419dc3b75de1ebe927e954256635bd SHA512 a128c724769f938658826789593616a8a2e68835f0624a15ea6f6551a84b8218e4ad6dcfc263a6a0c730c21ef911362d46d61e1ad02ec3857fe24bb4ea7130cd
DIST z3-4.13.0-x64-glibc-2.31.zip 48451569 BLAKE2B 6868d6cf5ed3ff4f7b0c191f418872f02d13aa0c02583e9797ef3b89562cade6b257a9e653e78e508d3b6b629b458600b855509c7c90b7002f480a41680d8851 SHA512 a58a0d58c3942df1c17295277fccdaca26113537b89c38d0ad8b0bb2f0ae4fa1773fc15164c4760c10524291c350cd80aaed21aa9302ee212dbff67170ef2bdc

View file

@ -1,219 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
inherit java-pkg-2 desktop python-single-r1
GRADLE_DEP_VER="20250625"
# Ghidra/application.properties
GRADLE_VER="8.5"
RELEASE_VERSION="11.4" #${PV}
DESCRIPTION="A software reverse engineering framework"
HOMEPAGE="https://ghidra-sre.org/"
# ./gradle/support/fetchDependencies.gradle
FIDB_FILES="vs2012_x86.fidb vs2012_x64.fidb vs2015_x86.fidb vs2015_x64.fidb \
vs2017_x86.fidb vs2017_x64.fidb vs2019_x86.fidb vs2019_x64.fidb vsOlder_x86.fidb vsOlder_x64.fidb"
# ./gradle/support/fetchDependencies.gradle
# https://github.com/NationalSecurityAgency/ghidra/archive/refs/tags/Ghidra_11.4_build.tar.gz
SRC_URI="https://github.com/NationalSecurityAgency/${PN}/archive/refs/tags/Ghidra_${PV}_build.tar.gz
https://dev.pentoo.ch/~blshkv/distfiles/${PN}-dependencies-${GRADLE_DEP_VER}.tar.gz
https://github.com/pxb1988/dex2jar/releases/download/v2.4/dex-tools-v2.4.zip
https://github.com/digitalsleuth/AXMLPrinter2/raw/691036a3caf84950fbb0df6f1fa98d7eaa92f2a0/AXMLPrinter2.jar
https://github.com/unsound/hfsexplorer/releases/download/hfsexplorer-0.21/hfsexplorer-0_21-bin.zip
https://downloads.sourceforge.net/yajsw/yajsw/yajsw-stable-13.12.zip
https://ftp.postgresql.org/pub/source/v15.10/postgresql-15.10.tar.gz
https://archive.eclipse.org/tools/cdt/releases/8.6/cdt-8.6.0.zip
https://sourceforge.net/projects/pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0.zip -> PyDev-9.3.0.zip
https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_${RELEASE_VERSION}/lib/java-sarif-2.1-modified.jar
"
for FIDB in ${FIDB_FILES}; do
SRC_URI+=" https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_${RELEASE_VERSION}/FunctionID/${FIDB}"
done
SRC_URI+=" https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl
https://files.pythonhosted.org/packages/90/c7/6dc0a455d111f68ee43f27793971cf03fe29b6ef972042549db29eec39a2/psutil-5.9.8.tar.gz
https://files.pythonhosted.org/packages/c7/42/be1c7bbdd83e1bfb160c94b9cafd8e25efc7400346cf7ccdbdb452c467fa/setuptools-68.0.0-py3-none-any.whl
https://files.pythonhosted.org/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl
https://files.pythonhosted.org/packages/ce/78/91db67e7fe1546dc8b02c38591b7732980373d2d252372f7358054031dd4/Pybag-2.2.12-py3-none-any.whl
https://files.pythonhosted.org/packages/d0/dd/b28df50316ca193dd1275a4c47115a720796d9e1501c1888c4bfa5dc2260/capstone-5.0.1-py3-none-win_amd64.whl
https://files.pythonhosted.org/packages/50/8f/518a37381e55a8857a638afa86143efa5508434613541402d20611a1b322/comtypes-1.4.1-py3-none-any.whl
https://files.pythonhosted.org/packages/83/1c/25b79fc3ec99b19b0a0730cc47356f7e2959863bf9f3cd314332bddb4f68/pywin32-306-cp312-cp312-win_amd64.whl"
# run: "pentoo/scripts/gradle_dependencies.py buildGhidra" from "${S}" directory to generate dependencies
# https://www.eclipse.org/downloads/download.php?r=1&protocol=https&file=/tools/cdt/releases/8.6/cdt-8.6.0.zip
# https://sourceforge.net/projects/yajsw/files/yajsw/yajsw-stable-13.05/yajsw-stable-13.05.zip/download
S="${WORKDIR}/ghidra-Ghidra_${PV}_build"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
#FIXME:
# * QA Notice: Files built without respecting CFLAGS have been detected
# * QA Notice: Files built without respecting LDFLAGS have been detected
# * Please include the following list of files in your report:
# * /usr/share/ghidra/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_24
# * /usr/share/ghidra/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_41
# * /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/decompile
# * /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/sleigh
# * /usr/share/ghidra/Ghidra/Features/FileFormats/data/sevenzipnativelibs/Linux-amd64/lib7-Zip-JBinding.so
# * /usr/share/ghidra/Ghidra/Features/FileFormats/os/linux_x86_64/lzfse
# FIXME:
# build fails with system-vm jdk-25, see:
# https://github.com/gradle/gradle/issues/35111
# java-pkg-2 does not set it for some reason
JAVA_PKG_WANT_SOURCE="21"
JAVA_PKG_WANT_TARGET="21"
REQUIRED_USE=${PYTHON_REQUIRED_USE}
#java-pkg-2 sets java based on RDEPEND so the java slot in rdepend is used to build
#>=virtual/jdk-21:*
RDEPEND="virtual/jre:21
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
virtual/jdk:21
sys-devel/bison
dev-java/jflex
app-arch/unzip"
BDEPEND=">=dev-java/gradle-bin-${GRADLE_VER}:* <dev-java/gradle-bin-9.0.0
dev-python/pip"
check_gradle_binary() {
gradle_link_target=$(readlink -n /usr/bin/gradle)
currentver="${gradle_link_target/gradle-bin-/}"
requiredver="${GRADLE_VER}"
einfo "Gradle version ${currentver} currently set."
if [ "$(echo ${currentver} | cut -d. -f1)" -ge "9" ]; then
eerror "Selected gradle version ${currentver} is too high. It must be eselected before building ${PN}."
die "Please run 'eselect gradle set gradle-bin-XX' when XX is a version of gradle lower than 9."
elif [ "$(printf '%s\n' "$requiredver" "$currentver" | sort -V | head -n1)" = "$requiredver" ]; then
einfo "Gradle version ${currentver} is >= ${requiredver}, proceeding with build..."
else
eerror "Gradle version ${requiredver} or higher must be eselected before building ${PN}."
die "Please run 'eselect gradle set gradle-bin-XX' when XX is a version of gradle higher than ${requiredver}"
fi
}
pkg_setup() {
java-pkg-2_pkg_setup
python-single-r1_pkg_setup
}
src_unpack() {
# https://github.com/NationalSecurityAgency/ghidra/blob/master/DevGuide.md
# alternative:
# gradle -I gradle/support/fetchDependencies.gradle init
# gradle -g dependencies/gradle prepdev
# build: gradle -g dependencies/gradle buildGhidra
unpack ${A}
mkdir -p "${S}/.gradle/flatRepo" || die "(1) mkdir failed"
cd "${S}/.gradle"
unpack dex-tools-v2.4.zip
cp dex-tools-v2.4/lib/dex-*.jar ./flatRepo || die "(2) cp failed"
cp "${DISTDIR}/AXMLPrinter2.jar" ./flatRepo || die "(3) cp failed"
cp "${DISTDIR}/java-sarif-2.1-modified.jar" ./flatRepo || die "(4) cp failed"
unpack hfsexplorer-0_21-bin.zip
cp lib/*.jar ./flatRepo || die "(5) cp failed"
mkdir -p "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(6) mkdir failed"
cp "${DISTDIR}"/yajsw-stable-13.12.zip "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(7) cp failed"
PLUGIN_DEP_PATH="ghidra.bin/GhidraBuild/EclipsePlugins/GhidraDev/buildDependencies"
mkdir -p "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(8) mkdir failed"
cp "${DISTDIR}"/PyDev-9.3.0.zip "${WORKDIR}/${PLUGIN_DEP_PATH}/PyDev 9.3.0.zip" || die "(9) cp failed"
cp "${DISTDIR}"/cdt-8.6.0.zip "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(10) cp failed"
cp "${DISTDIR}"/postgresql-15.10.tar.gz "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(10) cp failed"
cd "${S}"
mv ../dependencies .
mkdir ./dependencies/fidb || die "failed to create fidb dir"
for FIDB in ${FIDB_FILES}; do
cp "${DISTDIR}/${FIDB}" ./dependencies/fidb/ || die
done
#copy whl
mkdir -p ./dependencies/{Debugger-rmi-trace,Debugger-agent-dbgeng} || die "failed to create Debugger dir"
cp "${DISTDIR}"/protobuf-3.20.3-py2.py3-none-any.whl ./dependencies/Debugger-rmi-trace/ || die
cp "${DISTDIR}"/psutil-5.9.8.tar.gz ./dependencies/Debugger-rmi-trace/ || die
cp "${DISTDIR}"/setuptools-68.0.0-py3-none-any.whl ./dependencies/Debugger-rmi-trace/ || die
cp "${DISTDIR}"/wheel-0.37.1-py2.py3-none-any.whl ./dependencies/Debugger-rmi-trace/ || die
cp "${DISTDIR}"/Pybag-2.2.12-py3-none-any.whl ./dependencies/Debugger-agent-dbgeng/ || die
cp "${DISTDIR}"/capstone-5.0.1-py3-none-win_amd64.whl ./dependencies/Debugger-agent-dbgeng/ || die
cp "${DISTDIR}"/comtypes-1.4.1-py3-none-any.whl ./dependencies/Debugger-agent-dbgeng/ || die
cp "${DISTDIR}"/pywin32-306-cp312-cp312-win_amd64.whl ./dependencies/Debugger-agent-dbgeng/ || die
}
src_prepare() {
mkdir -p ".gradle/init.d" || die "(10) mkdir failed"
cp "${FILESDIR}"/repos.gradle .gradle/init.d || die "(11) cp failed"
sed -i "s|S_DIR|${S}|g" .gradle/init.d/repos.gradle || die "(12) sed failed"
#remove build date so we can unpack dist.zip later
sed -i "s|_\${rootProject.BUILD_DATE_SHORT}||g" gradle/root/distribution.gradle || die "(13) sed failed"
#10.0 workaround
ln -s ../.gradle/flatRepo ./dependencies/flatRepo
# First attempt at disabling pip
#sed -i 's#pip#echo#' Ghidra/Features/PyGhidra/build.gradle || die
# Use the correct python version
# https://github.com/pentoo/pentoo-overlay/issues/2243
#sed -i "s/findPython3\(true\)/\"${EPYTHON}\"/" build.gradle || die
sed -i "s/findPython3(true)/\"${EPYTHON}\"/" build.gradle || die
eapply_user
}
src_compile() {
check_gradle_binary
export _JAVA_OPTIONS="$_JAVA_OPTIONS -Duser.home=$HOME -Djava.io.tmpdir=${T}"
GRADLE="gradle --gradle-user-home .gradle --console rich --no-daemon"
GRADLE="${GRADLE} --offline --parallel --max-workers $(nproc)"
unset TERM
${GRADLE} prepDev -x check -x test || die
${GRADLE} assembleAll -x check -x test --parallel || die
#build without eclipse plugin
# ${GRADLE} yajswDevUnpack -x check -x test || die
# ${GRADLE} buildNatives_linux64 -x check -x test || die
# ${GRADLE} sleighCompile -x check -x test || die
}
src_install() {
# remove zip files which aren't needed at runtime
find build/dist/ghidra_${PV}_DEV/ -type f -name '*.zip' -exec rm -f {} +
#FIXME: add doc flag
rm -r build/dist/ghidra_${PV}_DEV/docs/ || die "rm failed"
insinto /usr/share/ghidra
doins -r build/dist/ghidra_${PV}_DEV/*
fperms +x /usr/share/ghidra/ghidraRun
fperms +x /usr/share/ghidra/support/launch.sh
fperms +x /usr/share/ghidra/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_41
fperms +x /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/decompile
shopt -s nullglob
# cd to install dir so the globbing works even when Ghidra isn't installed already
pushd "${ED}"
fperms +x usr/share/ghidra/Ghidra/Debug/Debugger-*/data/{debugger-launchers,support}/*.sh
popd
shopt -u nullglob
dosym -r /usr/share/ghidra/ghidraRun /usr/bin/ghidra
# icon
doicon GhidraDocs/GhidraClass/Beginner/Images/GhidraLogo64.png
# desktop entry
make_desktop_entry ${PN} "Ghidra" /usr/share/pixmaps/GhidraLogo64.png "Utility"
}

View file

@ -1,11 +1,11 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
inherit java-pkg-2 desktop python-single-r1
GRADLE_DEP_VER="20251209"
GRADLE_DEP_VER="20260215"
# Ghidra/application.properties
GRADLE_VER="8.5"
@ -31,7 +31,7 @@ SRC_URI="https://github.com/NationalSecurityAgency/${PN}/archive/refs/tags/Ghidr
https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_${RELEASE_VERSION}/Debugger/dbgmodel.tlb
https://github.com/digitalsleuth/AXMLPrinter2/raw/691036a3caf84950fbb0df6f1fa98d7eaa92f2a0/AXMLPrinter2.jar
https://github.com/unsound/hfsexplorer/releases/download/hfsexplorer-0.21/hfsexplorer-0_21-bin.zip
https://downloads.sourceforge.net/yajsw/yajsw/yajsw-stable-13.12.zip
https://downloads.sourceforge.net/yajsw/yajsw/yajsw-stable-13.18.zip
https://ftp.postgresql.org/pub/source/v15.10/postgresql-15.10.tar.gz
https://archive.eclipse.org/tools/cdt/releases/8.6/cdt-8.6.0.zip
https://sourceforge.net/projects/pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0.zip -> PyDev-9.3.0.zip
@ -132,7 +132,7 @@ src_unpack() {
cp lib/*.jar ./flatRepo || die "(5) cp failed"
mkdir -p "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(6) mkdir failed"
cp "${DISTDIR}"/yajsw-stable-13.12.zip "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(7) cp failed"
cp "${DISTDIR}"/yajsw-stable-13.18.zip "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(7) cp failed"
PLUGIN_DEP_PATH="ghidra.bin/GhidraBuild/EclipsePlugins/GhidraDev/buildDependencies"
mkdir -p "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(8) mkdir failed"