mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-06 08:25:01 +01:00
ghidra-9.2.4, fix jd-gui gradle requirements
This commit is contained in:
parent
6f5cd0c984
commit
f13b1efad7
6 changed files with 77 additions and 103 deletions
|
|
@ -1,7 +1,6 @@
|
|||
DIST AXMLPrinter2.jar 24552 BLAKE2B 3ff09da948c2962919927ad35f8d38a13391c763a83962f8fdce90ec4720430b00be891f68fc149f62180ddf5f5e818af4e6b6a153d1a55e871f181e930d2b7b SHA512 c1168ec913f1fbb0675915d4fd865ec9a8e8573f6c8aedcb6e68166f61f11aeaececc7548d54d78134843c0102c57d6350973f6d3027d0ffdae52a5c57a7f601
|
||||
DIST Ghidra_9.2.1_build.tar.gz 60822210 BLAKE2B f54a8a04c9687f9ee60b83a2830056e8e93d57a10df15471c57960c7e0415b093d413b1a3ec31aba40bf8ff19935b631fd5abfa2d020a861acc34ddec160852f SHA512 688fe7f26471e3c1035d60953dc5bb81ab1b7a33fb017823cbc4ea4e88bc237a74237da2a525e41d8f93dc11fa8257992a135dbab9429dc35f3012b7c0e48349
|
||||
DIST Ghidra_9.2.2_build.tar.gz 60821397 BLAKE2B a0fefd5e62a8b57d78aca098af9b9f27009b79ce2f1b8d05144e8e9e4b311631489c400605baac0c6efe5aee0a7a28d252c7fcdc647511d3edf1a3c659f2d54c SHA512 351108ccc32c4ade711d51bfdf6c5617d982e45d267acf899794a6871a03af375bbeffcbd39462fcc053b63d59f6b4ede1172571a47b34a3cf07e50749b252c8
|
||||
DIST Ghidra_9.2.3_build.tar.gz 60852382 BLAKE2B 76741b3916a182f27a0bc1400eeb907f91fb07fd5e896c44e6ade3ff79b326f85b3978b5724d687d1480ee0ceee22e94fba0d98f6b84a7ec664deb3948ed8031 SHA512 07491e03a503cdba62b1be6383adff55462c495a8feccfce2bad13e6ba77f857808e7ff1c7d4bd1db5c2d5534be2ab58feec0efb36abed4a5df6ee3af3e0df25
|
||||
DIST Ghidra_9.2.4_build.tar.gz 60855253 BLAKE2B ffc53a18fe67f29b899699a3d0d6914cfae048b58a1f8989307d8c568f8f7615d40c140b4ac4de0e7823905a865b2b50cb6b6852ecefb4db41f9cb2bc89d24a5 SHA512 c87975cd84088c146972b54f64cd5023d8fe362274ead85b93519bf7e551b6982de4b98dfaf914127b2dad37cb8907a3289fba9fcfdc9bdeada4cde62ed15b9a
|
||||
DIST PyDev-6.3.1.zip 24756333 BLAKE2B e9a942e0ff90b9eafbd1fa0df5429f2ff227ed140b7352a1003be04ffbc043e17bf19bd622d7fe9b958286a75ff4897c03088c1627ee62ea7b6e832752cb427e SHA512 411ed78d1057f5e9780e44169935fb8a0da17e97ce26e9a7a9fa9a251d4d3c1118e9b47dd9f7af03bde1f47180bde0d456039b65687f600026a148055311ecfa
|
||||
DIST cdt-8.6.0.zip 76639241 BLAKE2B 32c724b1f6ff43132f09c544bac8b35ed3f4f5866c844810abba3a52f82a3585ae7a57430fcf5603afecbeec1f46461a831339e442ca628b77f78c319bd9fc26 SHA512 2b8bb498146aa29995e807c5b4e9d5dab0f6afe89a5ce256978b7b2c478677a0cb5a0f15913a32bd99cb7b4bb31230521f70b9c26cdef1cb983dfcea599737c0
|
||||
DIST dex-tools-2.0.zip 2362460 BLAKE2B 464f2a143f1c8720eddd4d1c7db5a6f681db1091518d915b0d7807c12d021c8a734d8980bccfd417bc60297647b33ed0b7cc1e004716804bb9e25ee99f29f8ad SHA512 c4a6c72ea09b58a44fcb8918cfada600467f10f99a02b53d2436ac68295e73c8daf9ba0a8bc7160ba1e28e87f032ee034435ebe40af35b6e2fe9fa4607581358
|
||||
|
|
|
|||
|
|
@ -1,99 +0,0 @@
|
|||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit java-pkg-2
|
||||
|
||||
GRADLE_DEP_VER="20201224"
|
||||
|
||||
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://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-stable-12.12.zip
|
||||
https://www.eclipse.org/downloads/download.php?r=1&protocol=https&file=/tools/cdt/releases/8.6/cdt-8.6.0.zip
|
||||
mirror://sourceforge/project/pydev/pydev/PyDev%206.3.1/PyDev%206.3.1.zip -> PyDev-6.3.1.zip
|
||||
https://dev.pentoo.ch/~blshkv/distfiles/${PN}-dependencies-${GRADLE_DEP_VER}.tar.gz"
|
||||
# run: pentoo/scripts/gradle_dependencies.py with :generateAllExternalLibsFile from "${S}" directory to generate dependencies
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
#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:5.2.1
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
#9.1 workaround
|
||||
ln -s ./.gradle/flatRepo ./flatRepo
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export _JAVA_OPTIONS="$_JAVA_OPTIONS -Duser.home=$HOME"
|
||||
|
||||
GRADLE="gradle-5.2.1 --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() {
|
||||
#it is easier to unpack existing archive
|
||||
dodir /usr/share
|
||||
unzip build/dist/ghidra_"${PV}"_DEV_linux64.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
|
||||
}
|
||||
|
|
@ -27,7 +27,7 @@ IUSE=""
|
|||
RDEPEND="virtual/jre:11"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/jdk:11
|
||||
dev-java/gradle-bin:5.2.1
|
||||
dev-java/gradle-bin:6.3
|
||||
sys-devel/bison
|
||||
dev-java/jflex
|
||||
app-arch/unzip"
|
||||
|
|
@ -75,7 +75,7 @@ src_prepare() {
|
|||
src_compile() {
|
||||
export _JAVA_OPTIONS="$_JAVA_OPTIONS -Duser.home=$HOME"
|
||||
|
||||
GRADLE="gradle-5.2.1 --gradle-user-home .gradle --console rich --no-daemon"
|
||||
GRADLE="gradle-6.3 --gradle-user-home .gradle --console rich --no-daemon"
|
||||
GRADLE="${GRADLE} --offline"
|
||||
|
||||
unset TERM
|
||||
|
|
@ -1,2 +1,3 @@
|
|||
DIST jd-gui-1.6.6.tar.gz 365813 BLAKE2B 8615221af81682a8f6f8143ef6b639842964a402fa6a703379d02aef993960891ed2fc1e49b7ac71ae9f556068c48a8cf75e67cf40ba82853239bd80a7b0720f SHA512 325491638a66ccffa51dd989a1f09711c47da8e356d05141d35368b3a9acdb8e6dfdc2a5f422c91c4c6d5f50d214901c64d8c23e625dfd9278b0555ce1aa9214
|
||||
DIST jd-gui-dependencies-20191226.tar.gz 13715625 BLAKE2B fe557f8a487bbccdec3e70c4247c18fec7c4b55de20317813b503b7dd7db832f8a2af229716ac393cad95b513a0f2c5277e06aee31bc1930b7daad927bd17c01 SHA512 0f8af0e2001fb2f38ac2b5b241e9ff125594132f4849c601b8355b6be7636ee66496d14b67853e0719d4de0c0ca3e55ac5a6cc26c1175f9462636aa8f1dfc50f
|
||||
DIST jd-gui-dependencies-20210516.tar.gz 27856232 BLAKE2B df4323e5d1d67b6071091814982c24893a92f3b000c428682548bec23d906e41a37945f21f575b31ff58b0903ed491ccde01f852bf9d1484a6021f8dbb4b5179 SHA512 67c5e117175232c5ecaafa9e732f281d910e473c2dc7364d35315c42fbeb0cc0e7900b9c4a19dc4dfae3233f9f337a3aa8407ffd96f0b46cfb509abd6bd7f084
|
||||
|
|
|
|||
11
dev-util/jd-gui/files/build-gradle.patch
Normal file
11
dev-util/jd-gui/files/build-gradle.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- build.gradle.orig 2021-05-16 10:06:26.634022412 +0800
|
||||
+++ build.gradle 2021-05-16 10:13:31.084030796 +0800
|
||||
@@ -9,7 +9,7 @@
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
- classpath 'com.netflix.nebula:gradle-ospackage-plugin:5.3.0' // RPM & DEB support
|
||||
+ classpath 'com.netflix.nebula:gradle-ospackage-plugin:8.5.6' // RPM & DEB support
|
||||
classpath 'edu.sc.seis.gradle:launch4j:2.4.4'
|
||||
classpath 'net.sf.proguard:proguard-gradle:6.1.0'
|
||||
}
|
||||
62
dev-util/jd-gui/jd-gui-1.6.6-r2.ebuild
Normal file
62
dev-util/jd-gui/jd-gui-1.6.6-r2.ebuild
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit desktop java-pkg-2
|
||||
|
||||
DESCRIPTION="A standalone Java Decompiler GUI"
|
||||
HOMEPAGE="http://jd.benow.ca/"
|
||||
SRC_URI="https://github.com/java-decompiler/jd-gui/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.pentoo.ch/~blshkv/distfiles/${PN}-dependencies-20210516.tar.gz"
|
||||
|
||||
# run: pentoo/scripts/gradle_dependencies.py from "${S}" directory to generate dependencies
|
||||
# tar cvzf ./${P}-dependencies.tar.gz ./dependencies/
|
||||
#FIXME: gradle convert to publishToMavenLocal and mavenLocal()
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
#java-pkg-2 sets java based on RDEPEND so the java slot in rdepend is used to build
|
||||
RDEPEND="virtual/jre:11
|
||||
!dev-util/jd-gui-bin"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/jdk:11
|
||||
dev-java/gradle-bin:6.3"
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}"/1.5.2-build.patch
|
||||
#https://github.com/java-decompiler/jd-gui/issues/361
|
||||
eapply -p0 "${FILESDIR}"/build-gradle.patch
|
||||
|
||||
mkdir -p ".gradle/init.d"
|
||||
cp "${FILESDIR}"/1.5.2-repos.gradle .gradle/init.d/repos.gradle || die "cp failed"
|
||||
sed -i "s|WORK_DIR|${WORKDIR}|g" .gradle/init.d/repos.gradle || die "sed failed"
|
||||
|
||||
sed -i "s|WORK_DIR|${WORKDIR}|g" build.gradle || die "sed failed"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
GRADLE="gradle-6.3 --gradle-user-home .gradle --console rich --no-daemon"
|
||||
GRADLE="${GRADLE} --offline"
|
||||
unset TERM
|
||||
${GRADLE} jar -x check -x test || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/"${PN}"
|
||||
doins "build/libs/${P}.jar"
|
||||
|
||||
doicon ./src/linux/resources/jd_icon_128.png
|
||||
domenu ./src/linux/resources/jd-gui.desktop
|
||||
|
||||
newbin - ${PN} <<-EOF
|
||||
#!/bin/sh
|
||||
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
|
||||
java -jar /usr/share/${PN}/${P}.jar >/dev/null 2>&1 &
|
||||
EOF
|
||||
|
||||
}
|
||||
Loading…
Reference in a new issue