commit:     0fd3fee71df9f52d7ddfa479a4239a16b473918e
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Jul 17 08:15:10 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Aug  2 13:23:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fd3fee7

dev-util/visualvm: add 2.1.9

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37587
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-util/visualvm/Manifest              |   1 +
 dev-util/visualvm/visualvm-2.1.9.ebuild | 161 ++++++++++++++++++++++++++++++++
 2 files changed, 162 insertions(+)

diff --git a/dev-util/visualvm/Manifest b/dev-util/visualvm/Manifest
index caec3f4cb377..447002287093 100644
--- a/dev-util/visualvm/Manifest
+++ b/dev-util/visualvm/Manifest
@@ -1,3 +1,4 @@
 DIST nashorn-core-15.4.jar 2167292 BLAKE2B 
f40349e9f369eed1bb3795622ffe9353c98f35df1d5c2f5f3845d8f1fd5ecea553e11da15d17b9083f6ae2efa4485df131a9a9216499f1c7d440ca4b1d772a2b
 SHA512 
3b560e1ae67d5d5d19250849dee3f813d2c801e56ba85d90439a067378a47f95020910da85b7c8afb6675ea2e25cd274953483efd07e89097656aadc804c8020
 DIST nb190_platform_20231030.zip 26056691 BLAKE2B 
7815c08ad60515e8018336452e24c2fb0743d1ef48c58ffd80d371000fa664f8f0053a4c1d56a012b9e50f6714a44c300a915061afebd586f9438abae7867447
 SHA512 
779256d678c9a13dde4314a5771480c450ae86c49e80ac99eb90a4e9e32e3bc5759128f60a610aecc3ce9e7dbce56b0076b528c8f18a682ebac2dd74cb5a6eea
 DIST visualvm-2.1.8.tar.gz 11630256 BLAKE2B 
503866654d969ef127455ce6d3c5d087c7543e100cb8bd8712d15dc3d0530ee3fd31ee571837be9dfe99cb01cbf0ebf7a29084cb16b80d9ebbf5ebc2654f945b
 SHA512 
34329db8be5ab6727d1500e4a7bb07af704c6f815912418bd5fa0a872671f53237054c8fc13129124e5bb8c953bc31a47bb7c857962aa9ed080f16d2b6965331
+DIST visualvm-2.1.9.tar.gz 11781212 BLAKE2B 
e924134e211a7f0a95d299f21dab2fff35fb0c0f646ea25adc0eb1204628fbec752075380dc6f717ff902f566040cf9ed8186b1470f9277d39742e288142de67
 SHA512 
ed950c6216185b9d09ed0605729cd02b649df32fef0f204066419bf96f61f63887b7bad082e5434e740f23856270be2b5c0bd35aa825511cb35486059592b3e7

diff --git a/dev-util/visualvm/visualvm-2.1.9.ebuild 
b/dev-util/visualvm/visualvm-2.1.9.ebuild
new file mode 100644
index 000000000000..4a81848ea960
--- /dev/null
+++ b/dev-util/visualvm/visualvm-2.1.9.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NBV=190
+NBT=20231030
+NBZ=nb${NBV}_platform_${NBT}.zip
+ASM_UTIL_VERSION="9.5"
+ASM_UTIL_FILE="asm-util-${ASM_UTIL_VERSION}.jar"
+FLIGHT_RECORDER_VERSION="8.3.1"
+FLIGHT_RECORDER_FILE="flightrecorder-${FLIGHT_RECORDER_VERSION}.jar"
+COMMON_VERSION="8.3.1"
+COMMON_FILE="common-${COMMON_VERSION}.jar"
+ENCODER_VERSION="1.2.3"
+ENCODER_FILE="encoder-${ENCODER_VERSION}.jar"
+LZ4_JAVA_VERSION="1.8.0"
+LZ4_JAVA_FILE="lz4-java-${LZ4_JAVA_VERSION}.jar"
+NASHORN_CORE_VERSION="15.4"
+NASHORN_CORE_FILE="nashorn-core-${NASHORN_CORE_VERSION}.jar"
+
+inherit java-pkg-2 desktop
+
+DESCRIPTION="Integrates commandline JDK tools and profiling capabilities"
+HOMEPAGE="https://visualvm.github.io";
+
+SRC_URI="https://github.com/oracle/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+       https://github.com/oracle/${PN}/releases/download/2.1.8/${NBZ}
+       
https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/${NASHORN_CORE_VERSION}/${NASHORN_CORE_FILE}";
+S="${WORKDIR}/${P}/${PN}"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="7"
+KEYWORDS="~amd64"
+
+BDEPEND="
+       app-arch/unzip
+       >=dev-java/ant-1.10.14-r3:0
+"
+
+COMMON_DEPEND="
+       dev-java/jmc:0
+       dev-java/lz4-java:0
+       dev-java/owasp-java-encoder:0
+"
+
+# it does not compile with java 11
+DEPEND="
+       ${COMMON_DEPEND}
+       virtual/jdk:1.8
+"
+
+RDEPEND="
+       ${COMMON_DEPEND}
+       dev-java/asm:9
+       dev-java/hamcrest-core:1.3
+       dev-java/jcommander:0
+       dev-java/jna:4
+       dev-java/junit:4
+       dev-java/junit:5
+       dev-java/testng:0
+       >=virtual/jre-1.8:*
+"
+
+QA_PREBUILT="
+       
/usr/share/visualvm/cluster/lib/deployed/jdk15/linux-amd64/libprofilerinterface.so
+       
/usr/share/visualvm/cluster/lib/deployed/jdk16/linux-amd64/libprofilerinterface.so
+       /usr/share/visualvm/platform/modules/lib/libflatlaf-linux-x86_64.so
+       
/usr/share/visualvm/platform/modules/lib/aarch64/linux/libjnidispatch-nb.so
+       
/usr/share/visualvm/platform/modules/lib/amd64/linux/libjnidispatch-nb.so
+       
/usr/share/visualvm/platform/modules/lib/riscv64/linux/libjnidispatch-nb.so
+"
+
+INSTALL_DIR=/usr/share/${PN}
+
+src_unpack() {
+       unpack ${P}.tar.gz
+       cd "${S}" || die
+       unpack ${NBZ}
+}
+
+src_prepare() {
+       java-pkg-2_src_prepare
+
+       # Remove unneeded binaries
+       rm -rv netbeans/platform/lib/*.{dll,exe} \
+               netbeans/platform/modules/lib/{amd64/*.dll,i386,x86} || die
+       find libs.profiler/lib.profiler/release/lib/deployed/jdk1? -mindepth 1 \
+               -maxdepth 1 ! -name linux-amd64 -exec rm -rv {} + || die
+
+       # link in external libraries
+       ln -s "${DISTDIR}/${NASHORN_CORE_FILE}" nashorn.jdk15/external || die 
"Failed to link nashorn core jar"
+       java-pkg_jar-from --into nashorn.jdk15/external asm-9 asm-util.jar 
${ASM_UTIL_FILE} \
+               || die "Failed to link asm util jar"
+       java-pkg_jar-from --into jfr.generic/external jmc jmc-common.jar 
${COMMON_FILE} \
+               || die "Failed to link jmc common jar"
+       java-pkg_jar-from --into jfr.generic/external jmc 
jmc-flightrecorder.jar ${FLIGHT_RECORDER_FILE} \
+               || die "Failed to link jmc flightrecorder jar"
+       java-pkg_jar-from --into jfr.generic/external lz4-java lz4-java.jar 
${LZ4_JAVA_FILE} \
+               || die "Failed to link lz4 java jar"
+       java-pkg_jar-from --into jfr.generic/external owasp-java-encoder 
owasp-java-encoder.jar ${ENCODER_FILE} \
+               || die "Failed to link owasp-java-encoder jar"
+}
+
+src_compile() {
+       eant -v \
+               -Dext.binaries.downloaded=true \
+               -Dant.build.javac.source="8" \
+               -Dant.build.javac.target="8" \
+               build
+}
+
+src_install() {
+       # this is the visualvm cluster
+       insinto ${INSTALL_DIR}
+       doins -r build/cluster netbeans/{harness,platform}
+
+       # configuration file that can be used to tweak visualvm startup 
parameters
+       insinto /etc/${PN}
+       newins launcher/visualvm.conf ${PN}.conf
+       sed -i 
"s%visualvm_default_userdir=.*%visualvm_default_userdir=\"\${HOME}/.visualvm\"%g"
 \
+               "${ED}/etc/${PN}/visualvm.conf" || die "Failed to update 
userdir"
+       sed -i 
"s%visualvm_default_cachedir=.*%visualvm_default_cachedir=\"\${HOME}/.cache/visualvm\"%g"
 \
+               "${ED}/etc/${PN}/visualvm.conf" || die "Failed to update 
cachedir"
+       echo -e "\nvisualvm_jdkhome=\"\$(java-config -O)\"" >> 
"${ED}/etc/${PN}/visualvm.conf" \
+               || die "Failed to set jdk detection"
+
+       # replace bundled stuff
+       pushd "${ED}/${INSTALL_DIR}/platform/core" > /dev/null || die
+       for name in asm{,-commons,-tree}; do
+               rm ${name}-9.5.jar && java-pkg_jar-from asm-9 ${name}.jar 
${name}-9.2.jar || die
+       done
+       popd > /dev/null
+
+       pushd "${ED}/${INSTALL_DIR}/platform/modules/ext" > /dev/null || die
+       rm hamcrest-core-1.3.jar && java-pkg_jar-from hamcrest-core-1.3 
hamcrest-core.jar hamcrest-core-1.3.jar || die
+       rm jcommander-1.78.jar && java-pkg_jar-from jcommander jcommander.jar 
jcommander-1.78.jar || die
+       for name in jna{,-platform}; do
+               rm ${name}-5.12.1.jar && java-pkg_jar-from jna-4 ${name}.jar 
${name}-5.12.1.jar || die
+       done
+       rm junit-4.13.2.jar && java-pkg_jar-from junit-4 junit.jar 
junit-4.13.2.jar || die
+       for name in junit-jupiter-{api,engine,params}; do
+               rm ${name}-5.6.0.jar && java-pkg_jar-from junit-5 ${name}.jar 
${name}-5.6.0.jar || die
+       done
+       rm testng-6.14.3.jar && java-pkg_jar-from testng testng.jar 
testng-6.14.3.jar || die
+       popd > /dev/null
+
+       pushd "${ED}/${INSTALL_DIR}/cluster/modules/ext" > /dev/null || die
+       rm ${ASM_UTIL_FILE} && java-pkg_jar-from asm-9 asm-util.jar 
${ASM_UTIL_FILE} || die
+       rm ${COMMON_FILE} && java-pkg_jar-from jmc jmc-common.jar 
${COMMON_FILE} || die
+       rm ${FLIGHT_RECORDER_FILE} && java-pkg_jar-from jmc 
jmc-flightrecorder.jar ${FLIGHT_RECORDER_FILE} || die
+       rm ${LZ4_JAVA_FILE} && java-pkg_jar-from lz4-java lz4-java.jar 
${LZ4_JAVA_FILE} || die
+       rm ${ENCODER_FILE} && java-pkg_jar-from owasp-java-encoder 
owasp-java-encoder.jar ${ENCODER_FILE} || die
+       popd > /dev/null
+
+       # visualvm runtime script
+       newbin "${FILESDIR}"/${PN}-r2.sh ${PN}
+
+       # makes visualvm entry
+       make_desktop_entry ${PN} VisualVM java "Development;Java;"
+}

Reply via email to