summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/Manifest.gzbin55183 -> 55360 bytes
-rw-r--r--dev-java/asm-jdk-bridge/Manifest3
-rw-r--r--dev-java/asm-jdk-bridge/asm-jdk-bridge-0.0.9.ebuild45
-rw-r--r--dev-java/asm-jdk-bridge/metadata.xml10
-rw-r--r--dev-java/asm/Manifest2
-rw-r--r--dev-java/asm/asm-9.8.ebuild97
-rw-r--r--dev-java/byte-buddy/Manifest2
-rw-r--r--dev-java/byte-buddy/byte-buddy-1.17.5.ebuild117
-rw-r--r--dev-java/jna/Manifest2
-rw-r--r--dev-java/jna/jna-5.17.0.ebuild193
10 files changed, 471 insertions, 0 deletions
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz
index d445eea87bc7..665cb5122104 100644
--- a/dev-java/Manifest.gz
+++ b/dev-java/Manifest.gz
Binary files differ
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
+}