ghidra: move my zip cleanup on a version

This commit is contained in:
Rick Farina (Zero_Chaos) 2022-07-27 17:09:10 -04:00
parent ac530f5b99
commit 6be54cf1b9
No known key found for this signature in database
GPG key ID: A29433C0AA431DDC
3 changed files with 0 additions and 115 deletions

View file

@ -1,5 +1,4 @@
DIST AXMLPrinter2.jar 24552 BLAKE2B 3ff09da948c2962919927ad35f8d38a13391c763a83962f8fdce90ec4720430b00be891f68fc149f62180ddf5f5e818af4e6b6a153d1a55e871f181e930d2b7b SHA512 c1168ec913f1fbb0675915d4fd865ec9a8e8573f6c8aedcb6e68166f61f11aeaececc7548d54d78134843c0102c57d6350973f6d3027d0ffdae52a5c57a7f601
DIST Ghidra_10.1.4_build.tar.gz 63840800 BLAKE2B d08ab26534700081665653217257d3665f283ef97dd139797a49e2658e0a23fae8c4f49ca2585dcb6ae61e5f63bce2c857fc857cc0020b9dee0bf1762fdab78e SHA512 53286ed5c112982642c7167bce6c37634a77e185647a3964799aeffbcf5c927489cae146d2649f5c432cc0592eb11b0b46a019bb8c75941dc1f71f23798aa292
DIST Ghidra_10.1.5_build.tar.gz 63843079 BLAKE2B 952c6f173bf32ff8f9d70e93011c9642b816eb71be9e54fc0b455ad53cb3fd9af4537dfc0ed778a71dd57f7c254b76d0def9abcc9a51352b6f264d90347418e1 SHA512 18ff9977687acf8c0c6313bf227784be5c2c74741c1af5092e19711a194b25b6e8b7391c5f093f55bbc5826376a2f31441fb6f4467aec43cd986262ff51a1498
DIST PyDev-6.3.1.zip 24756333 BLAKE2B e9a942e0ff90b9eafbd1fa0df5429f2ff227ed140b7352a1003be04ffbc043e17bf19bd622d7fe9b958286a75ff4897c03088c1627ee62ea7b6e832752cb427e SHA512 411ed78d1057f5e9780e44169935fb8a0da17e97ce26e9a7a9fa9a251d4d3c1118e9b47dd9f7af03bde1f47180bde0d456039b65687f600026a148055311ecfa
DIST cdt-8.6.0.zip 76639241 BLAKE2B 32c724b1f6ff43132f09c544bac8b35ed3f4f5866c844810abba3a52f82a3585ae7a57430fcf5603afecbeec1f46461a831339e442ca628b77f78c319bd9fc26 SHA512 2b8bb498146aa29995e807c5b4e9d5dab0f6afe89a5ce256978b7b2c478677a0cb5a0f15913a32bd99cb7b4bb31230521f70b9c26cdef1cb983dfcea599737c0

View file

@ -1,114 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit java-pkg-2 desktop
GRADLE_DEP_VER="20220131"
DESCRIPTION="A software reverse engineering framework"
HOMEPAGE="https://ghidra-sre.org/"
SRC_URI="https://github.com/NationalSecurityAgency/${PN}/archive/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/2.0/dex-tools-2.0.zip
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2.jar
https://sourceforge.net/projects/catacombae/files/HFSExplorer/0.21/hfsexplorer-0_21-bin.zip
mirror://sourceforge/yajsw/yajsw/yajsw-beta-13.01.zip
https://dev.pentoo.ch/~blshkv/distfiles/cdt-8.6.0.zip
mirror://sourceforge/project/pydev/pydev/PyDev%206.3.1/PyDev%206.3.1.zip -> PyDev-6.3.1.zip"
# 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
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
IUSE=""
#FIXME:
# * 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_33_1
# * /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/decompile
# * /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/sleigh
#java-pkg-2 sets java based on RDEPEND so the java slot in rdepend is used to build
RDEPEND=">=virtual/jre-11"
DEPEND="${RDEPEND}
>=virtual/jdk-11
dev-java/gradle-bin:*
sys-devel/bison
dev-java/jflex
app-arch/unzip"
S="${WORKDIR}/ghidra-Ghidra_${PV}_build"
src_unpack() {
# https://github.com/NationalSecurityAgency/ghidra/blob/master/DevGuide.md
unpack ${A}
mkdir -p "${S}/.gradle/flatRepo" || die "(1) mkdir failed"
cd "${S}/.gradle"
unpack dex-tools-2.0.zip
cp dex2jar-2.0/lib/dex-*.jar ./flatRepo || die "(3) cp failed"
cp "${DISTDIR}/AXMLPrinter2.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-12.12.zip "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(7) cp failed"
cp "${DISTDIR}"/yajsw-beta-13.01.zip "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(7) cp failed"
mkdir -p "${WORKDIR}"/ghidra.bin/GhidraBuild/EclipsePlugins/GhidraDev/buildDependencies/ || die "(8) mkdir failed"
cp "${DISTDIR}"/PyDev-6.3.1.zip "${WORKDIR}/ghidra.bin/GhidraBuild/EclipsePlugins/GhidraDev/buildDependencies/PyDev 6.3.1.zip" || die "(9) cp failed"
cp "${DISTDIR}"/cdt-8.6.0.zip "${WORKDIR}"/ghidra.bin/GhidraBuild/EclipsePlugins/GhidraDev/buildDependencies/ || die "(10) cp failed"
cd "${S}"
mv ../dependencies .
}
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
eapply_user
}
src_compile() {
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"
unset TERM
${GRADLE} prepDev -x check -x test || die
${GRADLE} buildGhidra -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() {
#FIXME: it is easier to unpack existing archive for now
dodir /usr/share
unzip build/dist/ghidra_"${PV}"_DEV_linux_x86_64.zip -d "${ED}"/usr/share/ || die "unable to unpack dist zip"
mv "${ED}"/usr/share/ghidra_"${PV}"_DEV "${ED}"/usr/share/ghidra || die "mv failed"
#fixme: add doc flag
rm -r "${ED}"/usr/share/ghidra/docs/ || die "rm failed"
dosym "${EPREFIX}"/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"
}