diff --git a/dev-util/ghidra/Manifest b/dev-util/ghidra/Manifest index 7ca050dd9..4d01ee2d7 100644 --- a/dev-util/ghidra/Manifest +++ b/dev-util/ghidra/Manifest @@ -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 diff --git a/dev-util/ghidra/ghidra-9.2.2.ebuild b/dev-util/ghidra/ghidra-9.2.2.ebuild deleted file mode 100644 index faed23096..000000000 --- a/dev-util/ghidra/ghidra-9.2.2.ebuild +++ /dev/null @@ -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 -} diff --git a/dev-util/ghidra/ghidra-9.2.1.ebuild b/dev-util/ghidra/ghidra-9.2.4.ebuild similarity index 97% rename from dev-util/ghidra/ghidra-9.2.1.ebuild rename to dev-util/ghidra/ghidra-9.2.4.ebuild index faed23096..41d1d8110 100644 --- a/dev-util/ghidra/ghidra-9.2.1.ebuild +++ b/dev-util/ghidra/ghidra-9.2.4.ebuild @@ -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 diff --git a/dev-util/jd-gui/Manifest b/dev-util/jd-gui/Manifest index e00f37bf5..0868e46fd 100644 --- a/dev-util/jd-gui/Manifest +++ b/dev-util/jd-gui/Manifest @@ -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 diff --git a/dev-util/jd-gui/files/build-gradle.patch b/dev-util/jd-gui/files/build-gradle.patch new file mode 100644 index 000000000..32c84420a --- /dev/null +++ b/dev-util/jd-gui/files/build-gradle.patch @@ -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' + } diff --git a/dev-util/jd-gui/jd-gui-1.6.6-r2.ebuild b/dev-util/jd-gui/jd-gui-1.6.6-r2.ebuild new file mode 100644 index 000000000..6510e5c6a --- /dev/null +++ b/dev-util/jd-gui/jd-gui-1.6.6-r2.ebuild @@ -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 + +}