diff options
Diffstat (limited to 'dev-util/visualvm')
-rw-r--r-- | dev-util/visualvm/Manifest | 2 | ||||
-rw-r--r-- | dev-util/visualvm/visualvm-2.2.ebuild | 179 |
2 files changed, 181 insertions, 0 deletions
diff --git a/dev-util/visualvm/Manifest b/dev-util/visualvm/Manifest index b1188123c8ef..b7e7214d4f61 100644 --- a/dev-util/visualvm/Manifest +++ b/dev-util/visualvm/Manifest @@ -2,5 +2,7 @@ AUX visualvm-r2.sh 423 BLAKE2B cdc5db4465a339735ccff5f37bed89d76da2f2d514f522b77 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.10.tar.gz 11782775 BLAKE2B 6c25293fc456cd5add37aa11d623e7a329f31f2608eaf5217a64f014d26a0ab439569edac6367a79102c3d89fe88182bd9ac56edf96aac515b6b6146eaf70a25 SHA512 dd8da529b766c97e8dfc392eafeafb672cd5f74d8a86cb5c4c4385769c5cb1376e7757601d5254de46d7bc5ff705aef0d839692426ffd1a3a10304c3fa90d440 +DIST visualvm-2.2.tar.gz 11816709 BLAKE2B fccffbaf59da2402c0d035b9f9884769e10d4a93c11bf5a8353eb2287f27709e169168b8ddde0fb561e79bf9974932f706dde8d8ee197020a5aabf4b855e10b0 SHA512 1ca9520f520b8de462262ce9a0db223c1014152890315aefecc9c47f67945e7c23f723f04c2d24a64d3385f639e285f2106ef0e678f70e2e1322d5ad57e3e801 EBUILD visualvm-2.1.10.ebuild 6508 BLAKE2B b5c4a6f188a28dd3d0af4c5256b5f304063e7a119baebe2ac63d65daa9d62b9283b986b869db7a09e6817dd9ceca02b8c3739a92178a68e6d4da3e28a38d26a4 SHA512 dd1e8dc1a3c930b08518f655364714243ad0c1de1775cab778c66d2abb80de3904cb3190d54f434d385cb7d063f9704b70c19d8942cb2fcc441e2ec3894abc6b +EBUILD visualvm-2.2.ebuild 6370 BLAKE2B 684683bed6118ebc5f15e7183db8ca3729d440333109d3c9edd046b3ac4c242d41c2fc4c596aca6de614a58b01f1a2a36f647efc7e46c09e486a73e70839faf6 SHA512 773140f442588be7a1fbbce0154204f1dac17fd47bdffbb1a360de80f5c42d08c75daf1df6499ba2b85dc54a850e08eee719d7ca25e0ed3a4d3e03579c7e3e7c MISC metadata.xml 317 BLAKE2B e5f32379a40e3c2180df4f3ac4e7ea03a7dbfe69b1cb6537c1693262cc06e6334959abfb68f888c588fa933f60e85f137355bb57ff769107dfe805595d1a3ad1 SHA512 605d7206793c3d865547b69f9715305d46d433d18096b886b362d2d86adf4eda894c23af1819b6af95423fbe2a37781d1d100a9df9f15a01942f66c73dc2fa2c diff --git a/dev-util/visualvm/visualvm-2.2.ebuild b/dev-util/visualvm/visualvm-2.2.ebuild new file mode 100644 index 000000000000..fe34975f2511 --- /dev/null +++ b/dev-util/visualvm/visualvm-2.2.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2025 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 +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="0" +KEYWORDS="~amd64" + +BDEPEND=" + app-arch/unzip + >=dev-java/ant-1.10.14-r3:0 +" + +# hamcrest-core, jcommander, jna, junit:4, junit:5 and testng are needed only on runtime. +# They are added here to get rid of a QA notice, #937128. +COMMON_DEPEND=" + dev-java/asm:0 + dev-java/hamcrest-core:1.3 + dev-java/jcommander:0 + dev-java/jmc:0 + dev-java/jna:0 + dev-java/junit:4 + dev-java/junit:5 + dev-java/lz4-java:0 + dev-java/owasp-java-encoder:0 + dev-java/testng:0 +" + +# it does not compile with java 11 +# not even after removing hardcoded -source and -target values +DEPEND=" + ${COMMON_DEPEND} + virtual/jdk:1.8 +" + +RDEPEND=" + ${COMMON_DEPEND} + !dev-util/visualvm:7 + >=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 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" + + # remove hardcoded javac's source & target settings + cd .. || die + find -name build.xml \ + -exec sed -Ei 's,(source|target)="1.5",,g' {} + || + die "remove javac's source & target in build.xml files" + + cd .. || die + find -name build.xml \ + -exec sed -Ei 's,(source|target)="1.4",,g' {} + || + die "remove javac's source & target in build.xml files" + + for prop in $(find -name project.properties); do + sed -e '/javac.source=/d' -e '/javac.target/d' -i ${prop} + done + + for impl in $(find -name build-impl.xml); do + sed -e '/default.javac.source=/d' -e '/default.javac.target/d' -i ${mpl} + done +} + +src_compile() { + eant -v \ + -Dext.binaries.downloaded=true \ + -Djavac.source="$(java-pkg_get-source)" \ + -Djavac.target="$(java-pkg_get-target)" \ + 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 ${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 ${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 ${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;" +} |