diff options
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/Manifest.gz | bin | 55183 -> 55360 bytes | |||
-rw-r--r-- | dev-java/asm-jdk-bridge/Manifest | 3 | ||||
-rw-r--r-- | dev-java/asm-jdk-bridge/asm-jdk-bridge-0.0.9.ebuild | 45 | ||||
-rw-r--r-- | dev-java/asm-jdk-bridge/metadata.xml | 10 | ||||
-rw-r--r-- | dev-java/asm/Manifest | 2 | ||||
-rw-r--r-- | dev-java/asm/asm-9.8.ebuild | 97 | ||||
-rw-r--r-- | dev-java/byte-buddy/Manifest | 2 | ||||
-rw-r--r-- | dev-java/byte-buddy/byte-buddy-1.17.5.ebuild | 117 | ||||
-rw-r--r-- | dev-java/jna/Manifest | 2 | ||||
-rw-r--r-- | dev-java/jna/jna-5.17.0.ebuild | 193 |
10 files changed, 471 insertions, 0 deletions
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz Binary files differindex d445eea87bc7..665cb5122104 100644 --- a/dev-java/Manifest.gz +++ b/dev-java/Manifest.gz diff --git a/dev-java/asm-jdk-bridge/Manifest b/dev-java/asm-jdk-bridge/Manifest new file mode 100644 index 000000000000..79a23ea05439 --- /dev/null +++ b/dev-java/asm-jdk-bridge/Manifest @@ -0,0 +1,3 @@ +DIST asm-jdk-bridge-parent-0.0.9.tar.gz 37939 BLAKE2B ebd6f1b74eb56c61f91847065ef668504cd1f0cca30f277b8333fa8ae751907b16e191a977a48ba58e2bcbbb6d0060665705cf6a0af0202c3fc76cb6cac77d93 SHA512 231d4b6b5b303d845e8f4026378a0873df909a3acf20719b1f164bcc21bd24fd1cee0cc5a29f4246e58f158f38dc6e3b52c745818e60ab1faf192e4578f68b4d +EBUILD asm-jdk-bridge-0.0.9.ebuild 981 BLAKE2B e812578a20a9a05636525afb2e6ec65fe1f009fa3393ebbf8e0099593d0cff37f10639adb37a5e15eb87e5c5e93638238aaf83e466d312e13e266573b273723e SHA512 ec65e8cee0450acc5e4ca562b42de6d711fb35afef84ab24392680079c47eb93a011852d6cc31825c6ffb715f0d694c2bcf0376e97ee4b854eb3971a6fde2ed1 +MISC metadata.xml 302 BLAKE2B 2fe9c0940708d72e80d053567716560f80f01c115d68f734c49f0c2cae526c99c502bad7583057e3fb60dbe8f31102cd6e273af09ba3a05ef60be39c9931124c SHA512 8c8e1226e8410c812805dbd8288614bc930361c4a1272c86a040800b7e36e93a76916b96b437a1bb12245175651c317e79af4af05776a6d2a7e2153b49c8a9ec diff --git a/dev-java/asm-jdk-bridge/asm-jdk-bridge-0.0.9.ebuild b/dev-java/asm-jdk-bridge/asm-jdk-bridge-0.0.9.ebuild new file mode 100644 index 000000000000..a6fb82788462 --- /dev/null +++ b/dev-java/asm-jdk-bridge/asm-jdk-bridge-0.0.9.ebuild @@ -0,0 +1,45 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="codes.rafael.asmjdkbridge:asm-jdk-bridge:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="A Bridge to Translate ASM From and to The OpenJDK Class File API" +HOMEPAGE="https://github.com/raphw/asm-jdk-bridge" +SRC_URI="https://github.com/raphw/asm-jdk-bridge/archive/asm-jdk-bridge-parent-${PV}.tar.gz" +S="${WORKDIR}/${PN}-${PN}-parent-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" + +# Not keyworded because java 25 isn't. +# KEYWORDS="~amd64" + +CP_DEPEND=" + >=dev-java/asm-9.8:0 + dev-java/junit:4 +" + +DEPEND=" + ${CP_DEPEND} + >=virtual/jdk-24:* +" + +RDEPEND=" + ${CP_DEPEND} + >=virtual/jre-24:* +" + +JAVA_INTERMEDIATE_JAR_NAME="codes.rafael.asmjdkbridge" + +JAVA_RELEASE_SRC_DIRS=( + ["9"]="asm-jdk-bridge/src/main/java-9" + ["24"]="asm-jdk-bridge/src/main/java-24" +) + +JAVA_SRC_DIR="asm-jdk-bridge/src/main/java" diff --git a/dev-java/asm-jdk-bridge/metadata.xml b/dev-java/asm-jdk-bridge/metadata.xml new file mode 100644 index 000000000000..3be367d5e6a6 --- /dev/null +++ b/dev-java/asm-jdk-bridge/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>java@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="github">raphw/asm-jdk-bridge</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-java/asm/Manifest b/dev-java/asm/Manifest index be6b7ea4a6b9..63e3a5edde3b 100644 --- a/dev-java/asm/Manifest +++ b/dev-java/asm/Manifest @@ -1,5 +1,7 @@ DIST asm-ASM_9_7_1.tar.bz2 1378103 BLAKE2B f7da3a9c1bcf76398c9e9b9b86d60f8854e5248632a8b2d76605851e29ee1807713fb28c9e76012ec8f9444c44e3a151ed409cd120c34ab8d3495fdc9c84edcb SHA512 77ae76464eec97dbc8129c4a746d13f0d286d2033f909b65e0e34858e1785616b7bee22faa92128b91eb39cbd849e262efe574b73ed2859920add457d6422dd0 +DIST asm-ASM_9_8.tar.bz2 1378904 BLAKE2B 8ace6a729e28569d21b3b2104d6256836ce552f9e571f62fbf994675ca5dcda846abbaa80ec5cede0ab06e519abfaa6745679733f6780be4d16f3e266651e850 SHA512 61142b14a3e1b9873a71057ef649dce3f40cf7553cf536213bee373ddc3320d4e183290adec5274f31562262845dab4505b16f64ba1be3c9893b6a11d1169370 DIST asm-cc341b5f0c24ea6688f615faff597612f0d596fb.tar.bz2 1380914 BLAKE2B f60f866ea14d63ae763212aebed715294eef3019f9878ebbbc80a63283e5176a446a90419c09e8a9210359e481a7aabb1977716d6467b77af0d3166c669c3676 SHA512 ce9adbf3e9c4d7f947e7ca63f51983c6d9bb4d4af73934c6779802caa242bc4d7f552069a8b835c16d8d32027fb4e634236adfd10f27a5563ed80fdc81b1a53d EBUILD asm-9.7.1.ebuild 2494 BLAKE2B e9794021cd2084db38d0fb9d82e40605a9242e45fa726a03e355d15c4218d5766f48a36d598cb5288f2f0b394f5d32e29a01be32a35c39bfaf3a12262779adf1 SHA512 ac91397c239572967f50b8b5a82dd9d98ed545f47dd3ec6ac92d6a164b325b4edba42fc65a2b791ddd799132f9d9f3145374debf4895849ab74fe05be41e0c34 EBUILD asm-9.7.1_p20241213.ebuild 2562 BLAKE2B 5e5a4e0836a65ac26060a590398b3386c8ab939c9761786c543be2dc3bf9edcdc2dcef5fd4ad95a69e1080626bcc07cca8371f02e86428126586ed50aa69b49b SHA512 939bc32e8d74bb9ce668296aa595a9e7061faa7a5b0286d8bafda16bd37560985b7057bf794d5ce996dbe19e9d2dc9196ec49ee6f09d206fe34ec6735e48e46c +EBUILD asm-9.8.ebuild 2497 BLAKE2B 33d6562ed5f49c491ba28dc72f74698db285ac5d062071760f930218395d59c0995c6981364f2dd74b30d3775e94853f4723e9ad8293a224faa23326ba7fe90e SHA512 a0e8992795094622359399cc694c21c5ab2d94dcecc66f1bc1e0c48803dbe7b5eaf88f4b4394ba278c23bc12322a6a240367894ac213f48c50bef7ed1a03eef4 MISC metadata.xml 1233 BLAKE2B 13faf251d3d40ed558c83262972ea106892cc3be0f7a1b95a0b484123d93473bd867b2f7b53c3e5ccc2f1fe249ebe66cb9e757e19ad36c8d3e3eac6a7a981d98 SHA512 59a292291ac757818e41d009e2cdbb73b6d914c1f552c34e9360635cb468f1ebfdf9c58d6642710d5218689d08797320102c8ccb6d5f4bc9478883feb9b9b397 diff --git a/dev-java/asm/asm-9.8.ebuild b/dev-java/asm/asm-9.8.ebuild new file mode 100644 index 000000000000..28ed404f256f --- /dev/null +++ b/dev-java/asm/asm-9.8.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# tests not enabled because of missing eclass support of junit-jupiter +JAVA_PKG_IUSE="doc source" +MAVEN_PROVIDES=" + org.ow2.asm:asm-bom:${PV} + org.ow2.asm:asm:${PV} + org.ow2.asm:asm-analysis:${PV} + org.ow2.asm:asm-commons:${PV} + org.ow2.asm:asm-tree:${PV} + org.ow2.asm:asm-util:${PV} +" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Bytecode manipulation framework for Java" +HOMEPAGE="https://asm.ow2.io" +MY_P="ASM_${PV//./_}" +SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.bz2" +S="${WORKDIR}/asm-${MY_P}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x64-macos" + +DEPEND=">=virtual/jdk-11:*" +RDEPEND=">=virtual/jre-1.8:*" + +ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" ) +JAVADOC_SRC_DIRS=( + asm/src/main/java + asm-tree/src/main/java + asm-analysis/src/main/java + asm-commons/src/main/java + asm-util/src/main/java +) + +src_prepare() { + default + local module + touch asm.module || die + for module in "${ASM_MODULES[@]}"; do + module=${module/-/.} + cat > ${module/./-}/src/main/java/module-info.java <<-EOF || die + open module org.objectweb.${module/analysis/tree.analysis} { + $(cat asm.module) + requires java.base; + exports org.objectweb.${module/analysis/tree.analysis}; + } + EOF + echo "requires transitive org.objectweb.${module/analysis/tree.analysis};" \ + >> asm.module || die + done + sed -e '/^$/d' \ + -e '/asm;/p;s:\(asm\)\(;\):\1.signature\2:' \ + -i asm/src/main/java/module-info.java || die + sed -e '/analysis/d' \ + -i asm-commons/src/main/java/module-info.java || die + sed -e '/commons/d' \ + -i asm-util/src/main/java/module-info.java || die +} + +src_compile() { + local module + for module in "${ASM_MODULES[@]}"; do + einfo "Compiling ${module}" + JAVA_JAR_FILENAME="${module}.jar" + JAVA_SRC_DIR="${module}/src/main/java" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar" + rm -r target || die + done + + if use doc; then + einfo "Compiling javadocs" + for module in "${ASM_MODULES[@]}"; do + rm "${module}/src/main/java/module-info.java" || die + JAVA_SRC_DIR+=("${module}/src/main/java") + done + ejavadoc + fi +} + +src_install() { + JAVA_JAR_FILENAME="asm.jar" + java-pkg-simple_src_install + local module + for module in asm-{analysis,commons,tree,util}; do + java-pkg_dojar ${module}.jar + if use source; then + java-pkg_dosrc "${module}/src/main/java/*" + fi + done +} diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest index 33129145ebd5..374174b47855 100644 --- a/dev-java/byte-buddy/Manifest +++ b/dev-java/byte-buddy/Manifest @@ -1,4 +1,6 @@ AUX byte-buddy-1.15.10-Skip-testIgnoreExistingField.patch 1409 BLAKE2B f327cbb42bd8cd2a39a1cda15e4307a9a366f8350c51bd98af2d70e6f9b36e06e21a6a82a2c3a30abe6b8abb5c8e40da4d5601b6b2061625a750de297e4744b3 SHA512 c4d4aa9a0e4719241ead17bf8bf8a04f06055a9985127e892eec000ef02c0d9ee88e76190d8c19e544e1ac99ec87b01a3d00332d5caca842d2e95b1edf608c8c DIST byte-buddy-1.15.11.tar.gz 2059994 BLAKE2B b5b11de938d2b96518c01cf1bcebb0f34ca6ccdb81e519e0177fa371f438da9ca5aba5749d1a7af0f42a2359c55228f3cbfbfe32f158d4a18fe7f02a5d5bf4f2 SHA512 9e663dfee80e6ae9e4983a39177a94f160e52e3ef1dec54b8f6a90e32c18ae5b36c9e791fd605b43754b2667f6efd7e15a1f7b0ce6c5034945567aef8a6b8aa8 +DIST byte-buddy-1.17.5.tar.gz 2091889 BLAKE2B 160e2c6dfe5ec5dee63c6417cb5f13462fa7ca4cfdd27cd304fb4e4bf0510be1c02dcc2d67642a734d353fe0042134d249da98aba2e5c6ddecdd9eae80daeff4 SHA512 14f0989c038489b91c05e5804a32e98f66a4a5ad95c67571416426b85e45af9ab3ce744d180d0b8fbb6447820aaec28f3b224e3d9fa2f80fca20d53c37e95b5a EBUILD byte-buddy-1.15.11.ebuild 4170 BLAKE2B b1848ac9feec92b06972bab829b8521127fb917777d9d632b80677f10e2e7c6e21250ec01317150940212ad971e4e7a4fba510b26d79318d5abd9d00d27155f4 SHA512 3df5984e206a0befe702732ffa448709a6cc1f3d0196415e25877574038e0cfae0a016f519a070357aec60bf370f04ad1b6aad0daa0a550836000685a9b6a965 +EBUILD byte-buddy-1.17.5.ebuild 3276 BLAKE2B d6faebbfe118933b5a015257ebbc0b609bd48b73871e289414e967e8d3760fdc1527010325acdd76912f9cb3b8d0f2336375f7a16a5a6f272986e2b4219a4b65 SHA512 22f4f2a693b68da92ae304e2ac9d363954c4fb39c3301b8cfd71d46008004b007996276f80273213ce3daf16b4dcc9ac35a565e4112f9175b3be91a305ba5dd7 MISC metadata.xml 440 BLAKE2B ef73e69de33dc6bbea38c81b8744fad5ce4764644d9cc6168d7c0f175856e30c3a577ffc597f25f8caf26bacfd80663b55eddde047a346fcb582d883269233b9 SHA512 b27c92e768c2783c90c8b4693c3265a9533a09abe76b2b3bd54e3865d270eed91414fcd89513bc30feb0243ea21f63d354b907b74eb18e98f899811101a6c956 diff --git a/dev-java/byte-buddy/byte-buddy-1.17.5.ebuild b/dev-java/byte-buddy/byte-buddy-1.17.5.ebuild new file mode 100644 index 000000000000..8c3cb65c3e38 --- /dev/null +++ b/dev-java/byte-buddy/byte-buddy-1.17.5.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_PROVIDES="net.bytebuddy:byte-buddy-agent:${PV} net.bytebuddy:byte-buddy:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM" +HOMEPAGE="https://bytebuddy.net" +SRC_URI="https://github.com/raphw/byte-buddy/archive/${P}.tar.gz" +S="${WORKDIR}/byte-buddy-${P}" + +LICENSE="Apache-2.0" +SLOT="0" +# KEYWORDS="~amd64" # Not keyworded bacause of dependency on asm-jdk-bridge + +DEPEND=" + >=dev-java/asm-9.8:0 + dev-java/asm-jdk-bridge:0 + dev-java/findbugs-annotations:0 + >=dev-java/jna-5.17.0:0 + dev-java/jsr305:0 + >=virtual/jdk-11:* + test? ( + dev-java/asm-jdk-bridge:0 + >=dev-java/mockito-2.28.2-r1:2 + ) +" + +RDEPEND=">=virtual/jre-1.8:*" + +PATCHES=( "${FILESDIR}/byte-buddy-1.15.10-Skip-testIgnoreExistingField.patch" ) + +JAVA_CLASSPATH_EXTRA=" + asm + asm-jdk-bridge + findbugs-annotations + jna + jsr305 +" +JAVADOC_CLASSPATH="${JAVA_CLASSPATH_EXTRA}" +JAVADOC_SRC_DIRS=( + "byte-buddy-agent/src/main/java" + "byte-buddy/src/main/java" +) + +src_prepare() { + default #780585 + java-pkg_clean ! -path "./byte-buddy-dep/src/test/*" # Keep test-classes + java-pkg-2_src_prepare + + # instead of shading byte-buddy-dep we move it into byte-buddy. + mv byte-buddy{-dep,}/src/main/java || die "cannot move sources" +} + +src_compile() { + einfo "Compiling byte-buddy-agent.jar" + JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy.agent" + JAVA_JAR_FILENAME="byte-buddy-agent.jar" + JAVA_MODULE_INFO_OUT="byte-buddy-agent/src/main" + JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources" + JAVA_SRC_DIR="byte-buddy-agent/src/main/java" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar" + rm -r target || die + + einfo "Compiling byte-buddy.jar" + JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy" + JAVA_JAR_FILENAME="byte-buddy.jar" + JAVA_MODULE_INFO_OUT="byte-buddy/src/main" + JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default" + JAVA_RESOURCE_DIRS=() + JAVA_SRC_DIR="byte-buddy/src/main/java" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar" + rm -r target || die + + use doc && ejavadoc +} + +src_test() { + # instead of shading byte-buddy-dep we move it into byte-buddy. + mv byte-buddy{-dep,}/src/test || die "cannot move tests" + + JAVAC_ARGS="-g" + JAVA_TEST_GENTOO_CLASSPATH="asm-jdk-bridge,junit-4,mockito-2" + + einfo "Testing byte-buddy-agent" + # https://github.com/raphw/byte-buddy/issues/1321#issuecomment-1252776459 + JAVA_TEST_EXTRA_ARGS=( -Dnet.bytebuddy.test.jnapath="${EPREFIX}/usr/$(get_libdir)/jna/" ) + JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java" + java-pkg-simple_src_test + + einfo "Testing byte-buddy" + JAVA_TEST_RESOURCE_DIRS=( byte-buddy/src/test/{resources,precompiled*} ) + JAVA_TEST_SRC_DIR="byte-buddy/src/test/java" + + JAVA_TEST_EXCLUDES=( + # all tests in this class fail, https://bugs.gentoo.org/863386 + net.bytebuddy.build.CachedReturnPluginTest + ) + java-pkg-simple_src_test +} + +src_install() { + java-pkg_dojar "byte-buddy-agent.jar" + java-pkg-simple_src_install + + if use source; then + java-pkg_dosrc "byte-buddy-agent/src/main/java/*" + java-pkg_dosrc "byte-buddy/src/main/java/*" + fi +} diff --git a/dev-java/jna/Manifest b/dev-java/jna/Manifest index f9f3b7b4fe3b..7318dd8fdc37 100644 --- a/dev-java/jna/Manifest +++ b/dev-java/jna/Manifest @@ -4,6 +4,8 @@ AUX jna-5.13.0-LibCTest.patch 456 BLAKE2B 51dc724df52af7dbc8700dd7adae2d9db32c15 AUX jna-5.13.0-testpath.patch 5567 BLAKE2B 0c76e603af9ae2a1f3cacde220ec4451d5973f9dab805e20fc5e9bf852928a0489ca742df8277a9c5a47d10064897ea50860d587b21288d605c476d3e7d122ae SHA512 c8c40a6f5ec049641eb3cca2a9b74fd851ebf6264d5a5cc1db10190d645e4bf219f45d5bb68094ce843b32f7079a8ae0ccb1a804f2cc0d066052acf841c96145 DIST jna-5.13.0.tar.gz 116027625 BLAKE2B 1f2bc7ab28adefa0bbad122957ed2c6ef55ab88e79b30c05f0d2d88e0e05152f7bb5e28097906a7e24f78304dfa2b225587adb0ada205ca3c2ceac1cdbab3f04 SHA512 aefd0becc03bb7fd753e8c5cdcbcb20f6d590125a5fb03048bef0024e826ab0254b750e22a8bb26bea38cc89262ad45e5030b666cb2c857b01b15a6a55379a0f DIST jna-5.16.0.tar.gz 117007067 BLAKE2B 805cc1b9a23a0bddad77900b7158d00dde3827dd577f68bdbc4d7de8a1d6d368826accee92bc76b3ea3188d1f9e3655776141136c04238c51bcedcb587937109 SHA512 76124b4c885e81f68f7724a04508a76f9b366867faede11d9b75c1c56e46f904825f4d05ce94e7e3c0e4b759007c589d4fbdb90f93864a51044b5baa6b9ca21a +DIST jna-5.17.0.tar.gz 117280491 BLAKE2B 4eb919b4a1f21e7674f334a26c7a63a3e8ec98cbfa114bc22e0a34c70f151f32f252a7c21467cf138dad6fa9bcb538a61da95450384353821d20588f99658c5f SHA512 9ed24af21a5e0470733c0836b8d7e892de8d0307d32460925b5457052de4a9c3b5f20466afd14059d686ea4af23670b002f78e3027dcc0dfc07e790942236bcb EBUILD jna-5.13.0-r1.ebuild 5362 BLAKE2B 45afcd8316679df0621c01f432a11913a367725800fd1705aa095f5b8623ad5e99a824ba3728c03ece164e63e45dc128fa2790d03000f8827cfa02568a1fac73 SHA512 09b768f2cc2b835f6dd466d66a1133f78fc15eb266c3a85cd52779d3d5efb07ea7f8bc3ea2756045971cafcbd46c02c41b14eef5fbe0d247230f135a72e417f8 EBUILD jna-5.16.0.ebuild 5385 BLAKE2B 39d527ce06b0af1e908421b9cbabff1f689b0d0e802df7f185c3af4153be16cb03ebc5a9834ab3dda124b422a5a30671fa3ab96a560741bf2aca1e931afae545 SHA512 57f8c991c1abddc5da791406e23ff740d78be39bc8024c5a88045d8493dfa139faf1578d9b5722989a9f0374ccdf66c1b7b5cd5be482ca5afcff98250cfdd9d0 +EBUILD jna-5.17.0.ebuild 5689 BLAKE2B 66a0e9565c2280fc80f03b0c0f1245c5e61ab767ede932b690be96c010b59fed3510471bd0841e5a02d9bb3f9dc4125e30b9a59cdacc312fa6613f00b2a63be4 SHA512 438d88e740f198f130e50fbe43ec20baa9d79586163dcd29dfeedaaea4ebfd098bb97325a5afa21353463420d35da1e79a0c52cb95c42f0517128031c88a63a1 MISC metadata.xml 334 BLAKE2B 9e55710ddf27995f7f0ea6480a4b2ff6ed38424e5a8de87614715defa4ae9f788932d270df48e78fdadb27851f06f2651d94c0b043816151aea55c08f083c4ee SHA512 b8b0cc53cc447f2811b3e94638de0799efaf99a05f29a0341d3a261b1f0f996ca308a007221f165031e56e60339d8d616ca366f25eda7f7f5d55acfc60a9d695 diff --git a/dev-java/jna/jna-5.17.0.ebuild b/dev-java/jna/jna-5.17.0.ebuild new file mode 100644 index 000000000000..860332ec5136 --- /dev/null +++ b/dev-java/jna/jna-5.17.0.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_PROVIDES=" + net.java.dev.jna:jna:${PV} + net.java.dev.jna:jna-platform:${PV} +" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple toolchain-funcs + +DESCRIPTION="Java Native Access" +HOMEPAGE="https://github.com/java-native-access/jna" +SRC_URI="https://github.com/java-native-access/jna/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${P}" + +LICENSE="|| ( Apache-2.0 LGPL-2.1+ )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +BDEPEND="virtual/pkgconfig" + +CDEPEND=">=dev-libs/libffi-3.4:=" + +DEPEND=" + ${CDEPEND} + >=virtual/jdk-11:* + x11-base/xorg-proto:0 + x11-libs/libXt + test? ( dev-java/reflections:0 ) +" + +RDEPEND=" + ${CDEPEND} + >=virtual/jre-1.8:* +" + +DOCS=( README.md CHANGES.md OTHERS TODO ) + +JAVADOC_SRC_DIRS=( {contrib/platform/,}src ) + +PATCHES=( + "${FILESDIR}/5.11.0-makefile-flags.patch" + "${FILESDIR}/jna-5.11.0-no-Werror.patch" + "${FILESDIR}/jna-5.13.0-testpath.patch" + "${FILESDIR}/jna-5.13.0-LibCTest.patch" +) + +src_prepare() { + default #780585 + java-pkg-2_src_prepare + java-pkg_clean + + # https://github.com/java-native-access/jna/blob/5.13.0/build.xml#L402-L407 + sed \ + -e "/VERSION =/s:TEMPLATE:${PV}:" \ + -e '/VERSION_NATIVE =/s:TEMPLATE:5.1.0:' \ + -i src/com/sun/jna/Version.java || die +} + +src_compile() { + einfo "Compiling jna.jar" + JAVA_INTERMEDIATE_JAR_NAME="com.sun.jna" + JAVA_JAR_FILENAME="jna.jar" + JAVA_MAIN_CLASS="com.sun.jna.Native" + JAVA_MODULE_INFO_OUT="src" + JAVA_SRC_DIR="src" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":jna.jar" + rm -r target || die + + einfo "Compiling jna-platform.jar" + JAVA_INTERMEDIATE_JAR_NAME="com.sun.jna.platform" + JAVA_JAR_FILENAME="jna-platform.jar" + JAVA_MAIN_CLASS="" # Did the eclass forget to unset this variable? + JAVA_MODULE_INFO_OUT="contrib/platform/src" + JAVA_SRC_DIR="contrib/platform/src" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":jna-platform.jar" + rm -r target || die + + use doc && ejavadoc + + einfo "Generating headers com_sun_jna_Native.h com_sun_jna_Function.h" + ejavac -h native -classpath "src" \ + "src/com/sun/jna/Function.java" \ + "src/com/sun/jna/Native.java" || die + + einfo "Building native library" + cd native || die + local args=( + CC="$(tc-getCC)" + STRIP=true + DYNAMIC_LIBFFI=true + ) + # Using -j1 since otherwise fails to build: + # cannot find ../build/native/libtestlib.so: No such file or directory + # [Makefile:505: ../build/native/libtestlib2.so] Error 1 + emake -j1 "${args[@]}" +} + +src_test() { + rm -r contrib/platform/test/com/sun/jna/platform/{mac,unix,win32} || die + rm -r test/com/sun/jna/wince || die + rm -r test/com/sun/jna/win32 || die + + # 1) testLoadFromJarAbsolute(com.sun.jna.LibraryLoadTest) + # java.lang.UnsatisfiedLinkError: Unable to load library '/libtestlib-jar.so': + # /libtestlib-jar.so: cannot open shared object file: No such file or directory + jar cvf build/jna-test.jar \ + -C build/native libtestlib-jar.so \ + -C test com/sun/jna/data || die + JAVA_GENTOO_CLASSPATH_EXTRA+=":build/jna-test.jar" + + JAVA_TEST_EXTRA_ARGS=( + -Djna.nosys=true + -Djna.boot.library.path=build/native + -Djna.library.path=build/native + ) + + JAVA_TEST_GENTOO_CLASSPATH="junit-4,reflections" + + einfo "Testing jna-platform" + JAVA_TEST_RUN_ONLY=( com.sun.jna.platform.linux.XAttrUtilTest ) # If not run first, it would fail. + JAVA_TEST_SRC_DIR="contrib/platform/test" + pushd "${JAVA_TEST_SRC_DIR}" > /dev/null || die + local JAVA_TEST_RUN_LATER=$(find * -name '*Test.java' ! -name 'XAttrUtilTest.java' ) + popd + JAVA_TEST_RUN_LATER="${JAVA_TEST_RUN_LATER//.java}" + JAVA_TEST_RUN_ONLY+=( ${JAVA_TEST_RUN_LATER//\//.} ) + java-pkg-simple_src_test + + einfo "Testing jna" + JAVA_TEST_SRC_DIR="test" + + # Some tests need to run first, otherwise they would fail. + JAVA_TEST_RUN_ONLY=( + com.sun.jna.CallbacksTest + com.sun.jna.DirectTest + com.sun.jna.UnionTest + ) + JAVA_TEST_RUN_ONLY+=( com.sun.jna.TypeMapperTest ) + JAVA_TEST_RUN_ONLY+=( com.sun.jna.NativeTest ) + + pushd "${JAVA_TEST_SRC_DIR}" > /dev/null || die + # Here, those tests which were moved to top of the array are excluded. + # Also exclude 2 tests which must not run before the others. + local JAVA_TEST_RUN_LATER=$(find * \ + -name "*Test.java" \ + ! -name 'CallbacksTest.java' \ + ! -name 'DirectTest.java' \ + ! -name 'UnionTest.java' \ + ! -name 'TypeMapperTest.java' \ + ! -name 'NativeTest.java' \ + ! -name 'DirectCallbacksTest.java' \ + ! -name 'VMCrashProtectionTest.java' \ + ) + popd + JAVA_TEST_RUN_LATER="${JAVA_TEST_RUN_LATER//.java}" + JAVA_TEST_RUN_ONLY+=( ${JAVA_TEST_RUN_LATER//\//.} ) + + # This one makes trouble if run before some others. + JAVA_TEST_RUN_ONLY+=( com.sun.jna.VMCrashProtectionTest ) + java-pkg-simple_src_test + + # There was 1 failure: + # 1) testDefaultCallbackExceptionHandler(com.sun.jna.CallbacksTest) + # junit.framework.AssertionFailedError: Default handler not called + # at junit.framework.Assert.fail(Assert.java:57) + # at junit.framework.Assert.assertTrue(Assert.java:22) + # at junit.framework.TestCase.assertTrue(TestCase.java:192) + # at com.sun.jna.CallbacksTest.testDefaultCallbackExceptionHandler(CallbacksTest.java:865) + # Cannot run in same batch as 'com.sun.jna.CallbacksTest'. + # It would break other tests if run before and segmentation fault if run after. + JAVA_TEST_RUN_ONLY=( com.sun.jna.DirectCallbacksTest ) + java-pkg-simple_src_test +} + +src_install() { + default + java-pkg_dojar jna.jar jna-platform.jar + java-pkg_doso build/native/libjnidispatch.so + + use doc && java-pkg_dojavadoc target/api + + if use source; then + java-pkg_dosrc "src/*" + java-pkg_dosrc "contrib/platform/src/*" + fi +} |