summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-10-03 19:04:04 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-10-03 19:04:04 +0000
commitaea0caf6fbf330077944736867748fcdabc85d33 (patch)
tree8abfffe4f3beca7a0fb19f0821243fb2c4f74285 /dev-java
parent9db05347f01604a785caafda9c9c5dbac4649447 (diff)
downloadbaldeagleos-repo-aea0caf6fbf330077944736867748fcdabc85d33.tar.gz
baldeagleos-repo-aea0caf6fbf330077944736867748fcdabc85d33.tar.xz
baldeagleos-repo-aea0caf6fbf330077944736867748fcdabc85d33.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/assertj-core/Manifest1
-rw-r--r--dev-java/assertj-core/assertj-core-3.27.6.ebuild93
-rw-r--r--dev-java/auto-value/auto-value-1.11.0.ebuild2
-rw-r--r--dev-java/checker-framework-qual/Manifest1
-rw-r--r--dev-java/checker-framework-qual/checker-framework-qual-3.51.1.ebuild23
-rw-r--r--dev-java/compile-testing/compile-testing-0.23.0.ebuild2
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.37-r1.ebuild (renamed from dev-java/eclipse-ecj/eclipse-ecj-4.37.ebuild)5
-rw-r--r--dev-java/error-prone-annotations/Manifest1
-rw-r--r--dev-java/error-prone-annotations/error-prone-annotations-2.42.0.ebuild31
-rw-r--r--dev-java/escapevelocity/escapevelocity-1.1.ebuild2
-rw-r--r--dev-java/felix-framework/felix-framework-7.0.5-r3.ebuild (renamed from dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild)8
-rw-r--r--dev-java/felix-resolver/felix-resolver-2.0.4-r2.ebuild (renamed from dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild)6
-rw-r--r--dev-java/generics-resolver/Manifest3
-rw-r--r--dev-java/generics-resolver/generics-resolver-3.0.3.ebuild55
-rw-r--r--dev-java/generics-resolver/metadata.xml9
-rw-r--r--dev-java/gson/gson-2.13.2.ebuild2
-rw-r--r--dev-java/guava-testlib/Manifest1
-rw-r--r--dev-java/guava-testlib/guava-testlib-33.5.0.ebuild75
-rw-r--r--dev-java/guava/Manifest1
-rw-r--r--dev-java/guava/files/guava-33.5.0-allow-java26.patch59
-rw-r--r--dev-java/guava/guava-33.5.0.ebuild81
-rw-r--r--dev-java/httpcomponents-client/httpcomponents-client-4.5.13-r3.ebuild (renamed from dev-java/httpcomponents-client/httpcomponents-client-4.5.13-r2.ebuild)6
-rw-r--r--dev-java/httpcore/httpcore-4.4.14-r2.ebuild (renamed from dev-java/httpcore/httpcore-4.4.14-r1.ebuild)6
-rw-r--r--dev-java/incap/incap-1.0.0.ebuild2
-rw-r--r--dev-java/j2objc-annotations/Manifest1
-rw-r--r--dev-java/j2objc-annotations/j2objc-annotations-3.1.ebuild35
-rw-r--r--dev-java/javacup/javacup-11b_p20160615-r1.ebuild (renamed from dev-java/javacup/javacup-11b_p20160615.ebuild)6
-rw-r--r--dev-java/javacup/javacup-11b_p20160615-r2.ebuild102
-rw-r--r--dev-java/javapoet/javapoet-1.13.0.ebuild2
-rw-r--r--dev-java/javaruntype/Manifest1
-rw-r--r--dev-java/javaruntype/javaruntype-1.3.ebuild37
-rw-r--r--dev-java/javaruntype/metadata.xml9
-rw-r--r--dev-java/jdbc-mysql/Manifest2
-rw-r--r--dev-java/jdbc-mysql/jdbc-mysql-9.4.0.ebuild90
-rw-r--r--dev-java/jflex/Manifest1
-rw-r--r--dev-java/jflex/jflex-1.6.1-r4.ebuild (renamed from dev-java/jflex/jflex-1.6.1-r3.ebuild)7
-rw-r--r--dev-java/jflex/jflex-1.9.1.ebuild144
-rw-r--r--dev-java/jflex/metadata.xml6
-rw-r--r--dev-java/jimfs/jimfs-1.3.1.ebuild2
-rw-r--r--dev-java/jna/Manifest1
-rw-r--r--dev-java/jna/jna-5.18.1.ebuild199
-rw-r--r--dev-java/jtwig-core/jtwig-core-5.87.0-r1.ebuild (renamed from dev-java/jtwig-core/jtwig-core-5.87.0.ebuild)6
-rw-r--r--dev-java/jtwig-reflection/jtwig-reflection-5.87.0-r1.ebuild (renamed from dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild)6
-rw-r--r--dev-java/junit-quickcheck/Manifest2
-rw-r--r--dev-java/junit-quickcheck/junit-quickcheck-1.0.ebuild185
-rw-r--r--dev-java/junit-quickcheck/metadata.xml10
-rw-r--r--dev-java/mockito/Manifest1
-rw-r--r--dev-java/mockito/mockito-1.9.5-r5.ebuild (renamed from dev-java/mockito/mockito-1.9.5-r4.ebuild)4
-rw-r--r--dev-java/mockito/mockito-5.20.0.ebuild95
-rw-r--r--dev-java/ognl/Manifest1
-rw-r--r--dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch91
-rw-r--r--dev-java/ognl/metadata.xml9
-rw-r--r--dev-java/ognl/ognl-3.1.24.ebuild81
-rw-r--r--dev-java/opentelemetry-java/Manifest1
-rw-r--r--dev-java/opentelemetry-java/metadata.xml9
-rw-r--r--dev-java/opentelemetry-java/opentelemetry-java-1.49.0.ebuild94
-rw-r--r--dev-java/protobuf-java/Manifest1
-rw-r--r--dev-java/protobuf-java/protobuf-java-4.32.1.ebuild155
-rw-r--r--dev-java/qdox/files/qdox-1.12.1-jflex-1.9.1.patch91
-rw-r--r--dev-java/qdox/qdox-1.12.1-r7.ebuild (renamed from dev-java/qdox/qdox-1.12.1-r6.ebuild)8
-rw-r--r--dev-java/qdox/qdox-1.12.1-r8.ebuild105
-rw-r--r--dev-java/qdox/qdox-2.0.1-r1.ebuild (renamed from dev-java/qdox/qdox-2.0.1.ebuild)6
-rw-r--r--dev-java/testparameterinjector/Manifest1
-rw-r--r--dev-java/testparameterinjector/metadata.xml10
-rw-r--r--dev-java/testparameterinjector/testparameterinjector-1.18.ebuild59
-rw-r--r--dev-java/truth/truth-1.4.5.ebuild2
-rw-r--r--dev-java/typesafe-config/Manifest1
-rw-r--r--dev-java/typesafe-config/typesafe-config-1.4.5.ebuild28
68 files changed, 2141 insertions, 41 deletions
diff --git a/dev-java/assertj-core/Manifest b/dev-java/assertj-core/Manifest
index 7e6324ac741b..f912d7a188e8 100644
--- a/dev-java/assertj-core/Manifest
+++ b/dev-java/assertj-core/Manifest
@@ -1 +1,2 @@
+DIST assertj-build-3.27.6.tar.gz 1889577 BLAKE2B 3d93636cd7ab18c775a5f19e4cc340c94b73049799c9f1ec2883cc44b5fdd266c1578596c79b955d31c208ea0f03aca5f8446835b3c899ac852953db01649bbb SHA512 87717a96e6ee776c0689f5271498314c8503feef03ea3194acf7af7617463fc9d904575e17a9f8fe1601e179f1c9731bbbe5cf6d684eb1c2770c5c909863b622
DIST assertj-core-3.10.0.tar.gz 1100495 BLAKE2B 4050060e027588d9c62abd5f4c6b77affd96d94a6474c4acc750a946cd3906787f9b2194627abff6d2e0849d590f5a74bbc702b41de6cbfaa09fae951a1012cf SHA512 3763768c5572e133de69735b01fd64432c4330723aa7e6cc0de42e5948cb2d455ae52d9ada66391fb41e47c261816fe12a00d07962e253f0da13ef49255fc5c6
diff --git a/dev-java/assertj-core/assertj-core-3.27.6.ebuild b/dev-java/assertj-core/assertj-core-3.27.6.ebuild
new file mode 100644
index 000000000000..afeed38c04ec
--- /dev/null
+++ b/dev-java/assertj-core/assertj-core-3.27.6.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple junit5
+
+DESCRIPTION="Rich and fluent assertions for testing for Java"
+HOMEPAGE="https://assertj.github.io/doc/"
+SRC_URI="https://github.com/assertj/assertj/archive/assertj-build-${PV}.tar.gz"
+S="${WORKDIR}/assertj-assertj-build-${PV}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# package EngineTestKit does not exist
+# package jakarta.ws.rs.core does not exist
+# package nl.jqno.equalsverifier does not exist
+# package org.hibernate.collection.spi does not exist
+# package org.hibernate.engine.spi does not exist
+# package org.hibernate.persister.collection does not exist
+# package org.junit.jupiter.params.shadow.com.univocity.parsers.common does not exist
+# package org.junit.platform.testkit.engine does not exist
+# package org.springframework.core.convert does not exist
+# package org.springframework.core.convert.support does not exist
+# package org.springframework.core does not exist
+# package org.springframework.util does not exist
+RESTRICT="test" # Needs more stuff to get packaged
+
+CP_DEPEND="
+ >=dev-java/byte-buddy-1.17.7:0
+ >=dev-java/hamcrest-3.0:0
+ dev-java/junit:4
+ dev-java/junit:5
+ dev-java/opentest4j:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-11:*
+ dev-java/apiguardian-api:0
+ >=dev-java/asm-9.8-r1:0
+ >=dev-java/jna-5.17.0:0
+ dev-java/jsr305:0
+ test? (
+ >=dev-java/commons-collections-4.5.0:4
+ >=dev-java/commons-io-2.19.0:0
+ >=dev-java/commons-lang-3.18.0:0
+ >=dev-java/commons-text-1.14.0:0
+ >=dev-java/guava-33.4.8:0
+ dev-java/junit-dataprovider:0
+ >=dev-java/junit-pioneer-1.9.1:0
+ dev-java/memoryfilesystem:0
+ >=dev-java/mockito-5.20.0:0
+ )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="apiguardian-api asm jna jsr305"
+JAVA_INTERMEDIATE_JAR_NAME="org.assertj.core"
+JAVA_RELEASE_SRC_DIRS=( ["9"]="src/main/java9" )
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-collections-4
+ commons-io
+ commons-lang
+ commons-text
+ guava
+ junit-5
+ junit-pioneer
+ mockito
+"
+
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.{io,lang,math,util}=ALL-UNNAMED )
+ fi
+}
diff --git a/dev-java/auto-value/auto-value-1.11.0.ebuild b/dev-java/auto-value/auto-value-1.11.0.ebuild
index ba22f778bad6..2367ac1826c5 100644
--- a/dev-java/auto-value/auto-value-1.11.0.ebuild
+++ b/dev-java/auto-value/auto-value-1.11.0.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/auto-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
CP_DEPEND="
>=dev-java/asm-9.8-r1:0
diff --git a/dev-java/checker-framework-qual/Manifest b/dev-java/checker-framework-qual/Manifest
index 929aabb2320a..58bfbdf28fed 100644
--- a/dev-java/checker-framework-qual/Manifest
+++ b/dev-java/checker-framework-qual/Manifest
@@ -1,2 +1,3 @@
DIST checker-framework-3.48.4.tar.gz 8347976 BLAKE2B 29a874f406ca20d12563950e6f7603c94e8c0672871ec8c3f05bc7f37629cc7fc26ae8743283e55cc69f4eb8c40e1e8fc123ba636d19bba3084cd9f1b36a8b0c SHA512 6495e328c041e0b5fc0fddfc4e5811171531933e7154f95eb39113d7aaa78b08a83860426406f66461614f53c024a55a9486a3dd736bc04fb9c306ab3349157f
DIST checker-framework-3.49.5.tar.gz 8393359 BLAKE2B 1cf9eedfb290e214761a7915dd82829aea6be2ddc4cfc3da4c136eb12801a87b1dc5dd08ac15fb3a06cee04eb412097eab1d17f85b6b6e0056f0e3273bdb7186 SHA512 940754511309e8131d712d3006bad0e3087359c10f723b26646d1d2500477a78b06f413f6b02a13ea5ac22d91a9bc28cf0083d8a9a73acb860cdcef492976c72
+DIST checker-framework-3.51.1.tar.gz 10856115 BLAKE2B 55f1353f04aee6eb1067760316482f2218865d56930558fb91b17f031763b58b0ae7e5ee87584b04f687829f5893a353d884544cfa9859c2b0b5bcbd0fec1342 SHA512 8401d26d5a1ceaa6a47f477c3c3afc096e5fdaa445e2ada1aa1ddc1e50d74b9139ca2026dc18b724ccb018d648e66a9386ffb89bda6fe68d9eb61fa1d6806e66
diff --git a/dev-java/checker-framework-qual/checker-framework-qual-3.51.1.ebuild b/dev-java/checker-framework-qual/checker-framework-qual-3.51.1.ebuild
new file mode 100644
index 000000000000..435d4b3f0da2
--- /dev/null
+++ b/dev-java/checker-framework-qual/checker-framework-qual-3.51.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.checkerframework:checker-qual:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Annotations for type-checking by the Checker Framework"
+HOMEPAGE="https://checkerframework.org/"
+SRC_URI="https://github.com/typetools/checker-framework/archive/checker-framework-${PV}.tar.gz"
+S="${WORKDIR}/checker-framework-checker-framework-${PV}/checker-qual"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND=">=virtual/jdk-11:*" # module-info
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/compile-testing/compile-testing-0.23.0.ebuild b/dev-java/compile-testing/compile-testing-0.23.0.ebuild
index bd6f29f79a19..44a547c1caf6 100644
--- a/dev-java/compile-testing/compile-testing-0.23.0.ebuild
+++ b/dev-java/compile-testing/compile-testing-0.23.0.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
DEPEND="
dev-java/auto-value:0
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.37.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.37-r1.ebuild
index 72c59abb4a1f..e901a56de5fe 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.37.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.37-r1.ebuild
@@ -16,13 +16,14 @@ S="${WORKDIR}"
LICENSE="EPL-1.0"
SLOT="4.37"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="~amd64 ~arm64"
BDEPEND="app-arch/unzip"
+# jdk-25 because of compilation errors with jdk-21
DEPEND="
>=dev-java/ant-1.10.15:0
- >=virtual/jdk-21:*
+ >=virtual/jdk-25:*
"
# ./org/eclipse/jdt/internal/compiler/env/ICompilationUnit.java:64:
diff --git a/dev-java/error-prone-annotations/Manifest b/dev-java/error-prone-annotations/Manifest
index 2c4f9f17db57..cec510511bc3 100644
--- a/dev-java/error-prone-annotations/Manifest
+++ b/dev-java/error-prone-annotations/Manifest
@@ -1,2 +1,3 @@
DIST error-prone-2.36.0.tar.gz 2887918 BLAKE2B 8478d23214681f887607c10339a554f839f84a1f6c80d2fda0c35463c405673e50301a0fb2f450a22ee12ef1b8c84ff904721f4184004bb35e28f567df760a0f SHA512 a9e8c78119ecfc99d064ed1a1748a7ca9931a9391f241b0d36886268dd1294623368a5f703bee5b5008fb4f20008be5a0073f2c1078a7086bc34adb4c6cdf5bd
DIST error-prone-2.41.0.tar.gz 2390500 BLAKE2B 24d3602df463bf652907d1b7193ed1defbab61f3a511c34903b12f58ed073ec0075764037e41ed9fa58f691293d98c50d1bca208236d6d34d676753bab928e9c SHA512 0826b8451638f48ac03abd291d410cca8f1b478bdfd5816c77199fe870e1bddcb063db2860066a5b55564a327187d0f4558036f342debec489e2eba79be103c3
+DIST error-prone-2.42.0.tar.gz 2396047 BLAKE2B cd321ee3299c05af91db8a1a2ab980060042c880b9540490a31e64cba4c36db458eee81533def94f882a7b664e62abcfbabb8e9d383fd1bff42df40a1d082e67 SHA512 7ce7b197a03937c3369b36cd5a190868cea1d2168b43b884d32649ccb9f27f6a176a5dc0336b64b6030ce59ab5a2fd684b84780b7491b34b024e6345fc284022
diff --git a/dev-java/error-prone-annotations/error-prone-annotations-2.42.0.ebuild b/dev-java/error-prone-annotations/error-prone-annotations-2.42.0.ebuild
new file mode 100644
index 000000000000..5a43fe982382
--- /dev/null
+++ b/dev-java/error-prone-annotations/error-prone-annotations-2.42.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.errorprone:error_prone_annotations:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java annotations for the Error Prone static analysis tool"
+HOMEPAGE="https://errorprone.info"
+SRC_URI="https://github.com/google/error-prone/archive/v${PV}.tar.gz -> error-prone-${PV}.tar.gz"
+S="${WORKDIR}/error-prone-${PV}/annotations"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND=">=virtual/jdk-11:*" # module-info
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_INTERMEDIATE_JAR_NAME="com.google.errorprone.annotations"
+JAVA_RELEASE_SRC_DIRS=( ["9"]="src/main/java9" )
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir src/main/java9 || die
+ mv src/main/java{,9}/module-info.java || die
+}
diff --git a/dev-java/escapevelocity/escapevelocity-1.1.ebuild b/dev-java/escapevelocity/escapevelocity-1.1.ebuild
index 90f4836332a7..801e98974310 100644
--- a/dev-java/escapevelocity/escapevelocity-1.1.ebuild
+++ b/dev-java/escapevelocity/escapevelocity-1.1.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
CP_DEPEND=">=dev-java/guava-33.4.8:0"
diff --git a/dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild b/dev-java/felix-framework/felix-framework-7.0.5-r3.ebuild
index 2a9511a9f70e..b5626b0a6fc4 100644
--- a/dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild
+++ b/dev-java/felix-framework/felix-framework-7.0.5-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,9 +26,9 @@ DEPEND="${CP_DEPEND}
dev-java/osgi-annotation:0
>=virtual/jdk-11:*
test? (
- dev-java/asm:9
+ dev-java/asm:0
dev-java/easymock:2.5
- dev-java/mockito:0
+ dev-java/mockito:1
)"
RDEPEND="${CP_DEPEND}
@@ -41,7 +41,7 @@ JAVA_CLASSPATH_EXTRA="felix-resolver,osgi-annotation"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_TEST_GENTOO_CLASSPATH="asm-9,junit-4,easymock-2.5,mockito"
+JAVA_TEST_GENTOO_CLASSPATH="asm,junit-4,easymock-2.5,mockito-1"
JAVA_TEST_SRC_DIR="src/test/java"
src_prepare() {
diff --git a/dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild b/dev-java/felix-resolver/felix-resolver-2.0.4-r2.ebuild
index 4dca801b9b68..ac5af152bdb5 100644
--- a/dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild
+++ b/dev-java/felix-resolver/felix-resolver-2.0.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,7 +28,7 @@ DEPEND="
${CP_DEPEND}
test? (
dev-java/felix-utils:0
- dev-java/mockito:0
+ dev-java/mockito:1
)
"
@@ -46,7 +46,7 @@ S="${WORKDIR}/org.apache.felix.resolver-${PV}"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_SRC_DIR="src/main/java"
-JAVA_TEST_GENTOO_CLASSPATH="felix-utils,junit-4,mockito"
+JAVA_TEST_GENTOO_CLASSPATH="felix-utils,junit-4,mockito-1"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/generics-resolver/Manifest b/dev-java/generics-resolver/Manifest
new file mode 100644
index 000000000000..fd7acd624d50
--- /dev/null
+++ b/dev-java/generics-resolver/Manifest
@@ -0,0 +1,3 @@
+DIST apache-groovy-binary-2.4.21.zip 37467992 BLAKE2B e0f925bad53f0f8a7012f0bea420ec3e5986118cc23cd677a11f619284754eacc15c3012cf780063fef574053781bba924a86e5fa2ac284d86f349ad18173704 SHA512 e2f73405d7521b99e3ce5622cffcc505bbc039ccb1c35696fc895d648a9325937a136cf97a229f7ac1b90b63ad8603881350c4d41e514ad45233fb333d76d510
+DIST generics-resolver-3.0.3.tar.gz 147500 BLAKE2B fecbea9b11034fc43fd5bf58526507b2aee0fe26ae48365d821081b03a829e7f5891343ca0709ccb29c33ad8efd33fbad9594630754cb746ca9268e234703478 SHA512 d37fd71750730ed354f5eacbb6b982474eabce02501563eec263bbf476faad5583aa3b6ff4593f7d198b7641978b8a454495dfcf97f7af06870d9d120931ddb7
+DIST spock-core-1.0-groovy-2.4.jar 588030 BLAKE2B 68d8fad8b6ffb45a18778797ea23d4f3b09256bf4e9f207ee666d07572399cd13522e6f1590219a80e23f6906a2e9eaf1f22c6a3c01717e8c1e99b5d37b89210 SHA512 078c0b16688eaa3134043e58ed4273981797ea92f08723b5508c7d7e4f635278dd5ca731fb294da2a1f35674623d969ee423d4344c2c822e1d4cb8d4f3383790
diff --git a/dev-java/generics-resolver/generics-resolver-3.0.3.ebuild b/dev-java/generics-resolver/generics-resolver-3.0.3.ebuild
new file mode 100644
index 000000000000..af6638bb4081
--- /dev/null
+++ b/dev-java/generics-resolver/generics-resolver-3.0.3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+# JAVA_TESTING_FRAMEWORKS="junit-4" ??
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java generics runtime resolver"
+HOMEPAGE="https://xvik.github.io/generics-resolver/3.0.3/"
+# For compiling the tests, we currently bundle binary versions of spock-core and apache-groovy-binary.
+SCV="1.0-groovy-2.4"
+AGV="2.4.21"
+SRC_URI="https://github.com/xvik/generics-resolver/archive/${PV}.tar.gz -> ${P}.tar.gz
+ test? (
+ https://repo1.maven.org/maven2/org/spockframework/spock-core/${SCV}/spock-core-${SCV}.jar
+ https://downloads.apache.org/groovy/${AGV}/distribution/apache-groovy-binary-${AGV}.zip
+ )"
+S="${WORKDIR}/${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# TODO: Run the tests
+RESTRICT="test"
+
+BDEPEND="app-arch/unzip"
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/groovy"
+
+src_test() {
+ # This contains the compiler groovyc
+ unzip "${DISTDIR}/apache-groovy-binary-${AGV}.zip"
+
+ mkdir -p target/test-classes || die "test-classes"
+
+ local sources # list of all '*.java' files
+ find src/test/groovy -type f -name '*.java' > test_sources || die "sources"
+ ejavac -d target/test-classes @test_sources
+
+ local grsources # list of all '*.groovy' files
+ find src/test/groovy -type f -name '*.groovy' > grtest_sources || die "grsources"
+ "groovy-${AGV}/bin/groovyc" \
+ -cp "${DISTDIR}/spock-core-${SCV}.jar:generics-resolver.jar:target/test-classes" \
+ -d target/test-classes @grtest_sources || die "groovyc"
+
+# java-pkg-simple_src_test ??
+}
diff --git a/dev-java/generics-resolver/metadata.xml b/dev-java/generics-resolver/metadata.xml
new file mode 100644
index 000000000000..a63267abaf71
--- /dev/null
+++ b/dev-java/generics-resolver/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/gson/gson-2.13.2.ebuild b/dev-java/gson/gson-2.13.2.ebuild
index d0c6e3472c1c..930ee5baf504 100644
--- a/dev-java/gson/gson-2.13.2.ebuild
+++ b/dev-java/gson/gson-2.13.2.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/gson-gson-parent-${PV}/gson"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
DEPEND="
>=dev-java/error-prone-annotations-2.41.0:0
diff --git a/dev-java/guava-testlib/Manifest b/dev-java/guava-testlib/Manifest
index b75e71e84663..9278daab0547 100644
--- a/dev-java/guava-testlib/Manifest
+++ b/dev-java/guava-testlib/Manifest
@@ -1,4 +1,5 @@
DIST guava-33.4.0.tar.gz 5900161 BLAKE2B 85201845218bfba9150e1190259588d46113c5267bf492f54a7d789e8ba7e890fa79e44a0fdf378949899b93f7df12d7480a38ccec4bc756b581f5b6529318a2 SHA512 6534867f40e2a63e7268e3dec1bc3ee0caafb89c77abc2fa2527b2612ecae17d01803f3968bee9844b3948cdb039b9c61ffdbba5309841c9a6a8d14118af970d
DIST guava-33.4.8.tar.gz 5876137 BLAKE2B 67c14f95ac894bd821126519034ef45cffc016d7e29652b5020bc01a4ea7cecf779359f21261e1011842ff694299f62be3577a34ea0234c61d21fde7ccfa129d SHA512 e0ce963356e9404bd80a1caa76108ece9bb82c1a46a10ff262b8ba515af17fc33c520bf7dae35168ea9d92250b40e46ef062e5ccf5fec6ebad1a791b137c0f60
+DIST guava-33.5.0.tar.gz 5877617 BLAKE2B bcd6a7daa44ea03faf8adaed36e47d9a2c38e485a45c0ffac2d8f4355a67c2c36f1325189f585b0507c4f2a430af80ce05d1f96df026272cb0fded9eccd66be8 SHA512 95e744d60e1cd20553b2070cdde0f240065e7aa71b76c2174806fbaf756df2adca4388a25d24ce2b6b4da6fa65f1fa1285febe238caa812c7e43fa97731654d4
DIST truth-1.4.2.jar 275487 BLAKE2B 9c0dce92648f734ab88a0faf1a1e5328d747efffd29aa8f12b7ed2b2c87036ce18bf3195348f9ffce848842a240179fa60e9625c6997439a4cedce6aac6c2b77 SHA512 5f29cb259f2cf63e8a908061d2a58b28ecf12366a03564c8e63c33cdbdb21935ac95ed7b68437b015a2bd055732c88ec8ca1e55b45b99a2cb3e9dd53cb0b87cc
DIST truth-1.4.4.jar 274574 BLAKE2B b8ada1085b9f463daf82827a3f080d599719846eed8b68a3c4341b087d8e86d1fc690820eaaab900531ac4cb75b928542215d622b1e93cb268d43f02daf248e2 SHA512 f6b817bd148a4dae757b836d9b9ddc6812a079bebd8febfc34504fc252c8ca2fe895e6978f697d9c64e7255d32611994246dd691a6d3cbea47b3a9bcdb53e282
diff --git a/dev-java/guava-testlib/guava-testlib-33.5.0.ebuild b/dev-java/guava-testlib/guava-testlib-33.5.0.ebuild
new file mode 100644
index 000000000000..1e6c3e347e91
--- /dev/null
+++ b/dev-java/guava-testlib/guava-testlib-33.5.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+MAVEN_ID="com.google.guava:guava-testlib:${PV}-jre"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="A set of java classes to assist the tests for Guava itself"
+HOMEPAGE="https://github.com/google/guava"
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> guava-${PV}.tar.gz"
+S="${WORKDIR}/guava-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.42.0:0
+ ~dev-java/guava-${PV}:0
+ dev-java/jspecify:0
+ dev-java/junit:4
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.51.1:0
+ dev-java/jsr305:0
+ >=dev-java/j2objc-annotations-3.1:0
+ >=virtual/jdk-11:*
+ test? ( dev-java/truth:0 )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="checker-framework-qual jsr305 j2objc-annotations"
+JAVA_INTERMEDIATE_JAR_NAME="com.google.common.testlib"
+JAVA_RELEASE_SRC_DIRS=( ["9"]="guava-testlib/src9" )
+JAVA_SRC_DIR="${PN}/src"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4 truth"
+JAVA_TEST_SRC_DIR="${PN}/test"
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="1024M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir guava-testlib/src9 || die "mkdir"
+ mv guava-testlib/src{,9}/module-info.java || die "mv module-info"
+}
+
+src_test() {
+ JAVA_TEST_EXTRA_ARGS="-Xmx${CHECKREQS_MEMORY}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/guava/Manifest b/dev-java/guava/Manifest
index a6accb86b202..5a3e0210b2a3 100644
--- a/dev-java/guava/Manifest
+++ b/dev-java/guava/Manifest
@@ -1,2 +1,3 @@
DIST guava-33.4.0.tar.gz 5900161 BLAKE2B 85201845218bfba9150e1190259588d46113c5267bf492f54a7d789e8ba7e890fa79e44a0fdf378949899b93f7df12d7480a38ccec4bc756b581f5b6529318a2 SHA512 6534867f40e2a63e7268e3dec1bc3ee0caafb89c77abc2fa2527b2612ecae17d01803f3968bee9844b3948cdb039b9c61ffdbba5309841c9a6a8d14118af970d
DIST guava-33.4.8.tar.gz 5876137 BLAKE2B 67c14f95ac894bd821126519034ef45cffc016d7e29652b5020bc01a4ea7cecf779359f21261e1011842ff694299f62be3577a34ea0234c61d21fde7ccfa129d SHA512 e0ce963356e9404bd80a1caa76108ece9bb82c1a46a10ff262b8ba515af17fc33c520bf7dae35168ea9d92250b40e46ef062e5ccf5fec6ebad1a791b137c0f60
+DIST guava-33.5.0.tar.gz 5877617 BLAKE2B bcd6a7daa44ea03faf8adaed36e47d9a2c38e485a45c0ffac2d8f4355a67c2c36f1325189f585b0507c4f2a430af80ce05d1f96df026272cb0fded9eccd66be8 SHA512 95e744d60e1cd20553b2070cdde0f240065e7aa71b76c2174806fbaf756df2adca4388a25d24ce2b6b4da6fa65f1fa1285febe238caa812c7e43fa97731654d4
diff --git a/dev-java/guava/files/guava-33.5.0-allow-java26.patch b/dev-java/guava/files/guava-33.5.0-allow-java26.patch
new file mode 100644
index 000000000000..36f1a00fe26c
--- /dev/null
+++ b/dev-java/guava/files/guava-33.5.0-allow-java26.patch
@@ -0,0 +1,59 @@
+From 9a406e7f461c27d141eb765d7992e767ee13427f Mon Sep 17 00:00:00 2001
+From: Liam Miller-Cushon <cushon@google.com>
+Date: Thu, 25 Sep 2025 07:58:39 -0700
+Subject: [PATCH] Fix a compilation error caused by
+ https://bugs.openjdk.org/browse/JDK-8357219
+
+RELNOTES=n/a
+PiperOrigin-RevId: 811351810
+---
+ android/guava/src/com/google/common/primitives/Booleans.java | 5 +++--
+ guava/src/com/google/common/primitives/Booleans.java | 5 +++--
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/android/guava/src/com/google/common/primitives/Booleans.java b/android/guava/src/com/google/common/primitives/Booleans.java
+index dae0f3b028eb..38c0cbbdee67 100644
+--- a/android/guava/src/com/google/common/primitives/Booleans.java
++++ b/android/guava/src/com/google/common/primitives/Booleans.java
+@@ -18,7 +18,6 @@
+ import static com.google.common.base.Preconditions.checkElementIndex;
+ import static com.google.common.base.Preconditions.checkNotNull;
+ import static com.google.common.base.Preconditions.checkPositionIndexes;
+-import static java.lang.Math.min;
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+@@ -321,7 +320,9 @@ private enum LexicographicalComparator implements Comparator<boolean[]> {
+
+ @Override
+ public int compare(boolean[] left, boolean[] right) {
+- int minLength = min(left.length, right.length);
++ // do not static import Math.min due to https://bugs.openjdk.org/browse/JDK-8357219
++ @SuppressWarnings("StaticImportPreferred")
++ int minLength = Math.min(left.length, right.length);
+ for (int i = 0; i < minLength; i++) {
+ int result = Boolean.compare(left[i], right[i]);
+ if (result != 0) {
+diff --git a/guava/src/com/google/common/primitives/Booleans.java b/guava/src/com/google/common/primitives/Booleans.java
+index dae0f3b028eb..38c0cbbdee67 100644
+--- a/guava/src/com/google/common/primitives/Booleans.java
++++ b/guava/src/com/google/common/primitives/Booleans.java
+@@ -18,7 +18,6 @@
+ import static com.google.common.base.Preconditions.checkElementIndex;
+ import static com.google.common.base.Preconditions.checkNotNull;
+ import static com.google.common.base.Preconditions.checkPositionIndexes;
+-import static java.lang.Math.min;
+
+ import com.google.common.annotations.GwtCompatible;
+ import com.google.common.annotations.GwtIncompatible;
+@@ -321,7 +320,9 @@ private enum LexicographicalComparator implements Comparator<boolean[]> {
+
+ @Override
+ public int compare(boolean[] left, boolean[] right) {
+- int minLength = min(left.length, right.length);
++ // do not static import Math.min due to https://bugs.openjdk.org/browse/JDK-8357219
++ @SuppressWarnings("StaticImportPreferred")
++ int minLength = Math.min(left.length, right.length);
+ for (int i = 0; i < minLength; i++) {
+ int result = Boolean.compare(left[i], right[i]);
+ if (result != 0) {
diff --git a/dev-java/guava/guava-33.5.0.ebuild b/dev-java/guava/guava-33.5.0.ebuild
new file mode 100644
index 000000000000..23a0bcd4173b
--- /dev/null
+++ b/dev-java/guava/guava-33.5.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.guava:guava:${PV}-jre"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A collection of Google's core Java libraries"
+HOMEPAGE="https://github.com/google/guava"
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.42.0:0
+ >=dev-java/j2objc-annotations-3.1:0
+ dev-java/jspecify:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.51.1:0
+ dev-java/jsr305:0
+ >=virtual/jdk-11:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+PATCHES=( "${FILESDIR}/guava-33.5.0-allow-java26.patch" )
+
+JAVA_CLASSPATH_EXTRA="jsr305"
+
+src_prepare() {
+ default # bug #780585
+ java-pkg-2_src_prepare
+
+ # Get module-info.class into versions/9
+ mkdir -p futures/failureaccess/src9 || die "mkdir futures"
+ mv futures/failureaccess/src{,9}/module-info.java || die "mv futures"
+ mkdir -p guava/src9 || die "mkdir guava"
+ mv guava/src{,9}/module-info.java || die "mv guava"
+}
+
+src_compile() {
+ einfo "Compiling failureaccess.jar"
+ JAVA_INTERMEDIATE_JAR_NAME="com.google.common.util.concurrent.internal"
+ JAVA_JAR_FILENAME="failureaccess.jar"
+ JAVA_RELEASE_SRC_DIRS=( ["9"]="futures/failureaccess/src9" )
+ JAVA_SRC_DIR="futures/failureaccess/src"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":failureaccess.jar"
+ rm -r target || die
+
+ einfo "Compiling guava.jar"
+ JAVA_CLASSPATH_EXTRA="checker-framework-qual"
+ JAVA_INTERMEDIATE_JAR_NAME="com.google.common"
+ JAVA_JAR_FILENAME="guava.jar"
+ JAVA_RELEASE_SRC_DIRS=( ["9"]="guava/src9" )
+ JAVA_SRC_DIR="guava/src"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":guava.jar"
+ rm -r target || die
+
+ JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
+ JAVADOC_SRC_DIRS=( {futures/failureaccess,guava}/src )
+ use doc && ejavadoc
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dojar failureaccess.jar
+}
diff --git a/dev-java/httpcomponents-client/httpcomponents-client-4.5.13-r2.ebuild b/dev-java/httpcomponents-client/httpcomponents-client-4.5.13-r3.ebuild
index 58857b3d2332..225c88505c15 100644
--- a/dev-java/httpcomponents-client/httpcomponents-client-4.5.13-r2.ebuild
+++ b/dev-java/httpcomponents-client/httpcomponents-client-4.5.13-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,7 +32,7 @@ DEPEND="${CDEPEND}
>=virtual/jdk-1.8:*
test? (
dev-java/hamcrest-core:1.3
- dev-java/mockito:0
+ dev-java/mockito:1
)"
RDEPEND="${CDEPEND}
@@ -47,7 +47,7 @@ JAVA_SRC_DIR=(
)
JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito,hamcrest-core-1.3"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-1,hamcrest-core-1.3"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/httpcore/httpcore-4.4.14-r1.ebuild b/dev-java/httpcore/httpcore-4.4.14-r2.ebuild
index 8fc95ded1c04..348839c3df25 100644
--- a/dev-java/httpcore/httpcore-4.4.14-r1.ebuild
+++ b/dev-java/httpcore/httpcore-4.4.14-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,7 +26,7 @@ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-httpcomponents-httpcore )"
DEPEND=">=virtual/jdk-1.8:*
test? (
dev-java/commons-logging:0
- dev-java/mockito:0
+ dev-java/mockito:1
)"
RDEPEND=">=virtual/jre-1.8:*"
@@ -39,7 +39,7 @@ JAVA_SRC_DIR=(
)
JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_TEST_GENTOO_CLASSPATH="commons-logging,junit-4,mockito"
+JAVA_TEST_GENTOO_CLASSPATH="commons-logging,junit-4,mockito-1"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/incap/incap-1.0.0.ebuild b/dev-java/incap/incap-1.0.0.ebuild
index 213e9846d5a4..265a0fe40bba 100644
--- a/dev-java/incap/incap-1.0.0.ebuild
+++ b/dev-java/incap/incap-1.0.0.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/gradle-incap-helper-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/j2objc-annotations/Manifest b/dev-java/j2objc-annotations/Manifest
index f3cf7f8491c0..ccd74fc82066 100644
--- a/dev-java/j2objc-annotations/Manifest
+++ b/dev-java/j2objc-annotations/Manifest
@@ -1 +1,2 @@
DIST j2objc-3.0.0.tar.gz 29562144 BLAKE2B b0dc9aeef148ee29154062228049b4db86648fb66b93d224d536a3c0b7e56eb4850d38761b59c6728b005e1520a7a3c07ef3bdb3662d9cad52794ec3ce533426 SHA512 b7e295e448caa61d03c12cde77266ab397f27a5632ab01944571736a79860fa0375279f27fcb1870d0452bde4d8b50ee453a88a23e5b92c1ef0411d4212f3779
+DIST j2objc-3.1.tar.gz 29746329 BLAKE2B 9f07e189e6a6cffa6cf9446187fa3c58caefa1cba5aca6c0f032ec0c4477f630e747ce61dd2026fbbb5f235d8a70df8d0504281fc9cec1c44e80955bdb286b82 SHA512 8988e950457699cf4d440ac014d49ac437839a54e433e5e170ccdfc3073dfc7c1cf8bf7defc81fec6f3de186c47ae3f3ecdb6e3e3c9685b4b21296ef3c90efa1
diff --git a/dev-java/j2objc-annotations/j2objc-annotations-3.1.ebuild b/dev-java/j2objc-annotations/j2objc-annotations-3.1.ebuild
new file mode 100644
index 000000000000..7ed9394bd590
--- /dev/null
+++ b/dev-java/j2objc-annotations/j2objc-annotations-3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.j2objc:j2objc-annotations:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Annotations for the J2ObjC Java to Objective-C translator"
+HOMEPAGE="https://developers.google.com/j2objc/"
+SRC_URI="https://github.com/google/j2objc/archive/${PV}.tar.gz -> j2objc-${PV}.tar.gz"
+S="${WORKDIR}/j2objc-${PV}/annotations"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{CONTRIBUTING,README}.md )
+JAVA_INTERMEDIATE_JAR_NAME="com.google.j2objc.annotations"
+JAVA_RELEASE_SRC_DIRS=( ["9"]="src/main/java9" )
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ rm Makefile || die
+
+ # Upstream builds it as META-INF/versions/9/module-info.class
+ mkdir -p src/main/java9 || die "mkdir java9"
+ mv src/main/java{,9}/module-info.java || die "move module-info.java"
+}
diff --git a/dev-java/javacup/javacup-11b_p20160615.ebuild b/dev-java/javacup/javacup-11b_p20160615-r1.ebuild
index 3b5077688dcb..da0a5793dc10 100644
--- a/dev-java/javacup/javacup-11b_p20160615.ebuild
+++ b/dev-java/javacup/javacup-11b_p20160615-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,8 +16,10 @@ SLOT="0"
KEYWORDS="amd64 arm64 ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="ant-task"
+# Restricted to ~jflex-1.6.1 in order to allow switching the emerge order.
+# javacup-11b_p20160615-r2 will be used by jflex-1.9.1 but not depend on it.
DEPEND="${CP_DEPEND}
- >=dev-java/jflex-1.6.1-r3:0
+ ~dev-java/jflex-1.6.1:0
>=virtual/jdk-1.8:*
ant-task? ( >=dev-java/ant-1.10.14-r3:0 )"
RDEPEND="${CP_DEPEND}
diff --git a/dev-java/javacup/javacup-11b_p20160615-r2.ebuild b/dev-java/javacup/javacup-11b_p20160615-r2.ebuild
new file mode 100644
index 000000000000..102c9ef1481f
--- /dev/null
+++ b/dev-java/javacup/javacup-11b_p20160615-r2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="CUP Parser Generator for Java"
+HOMEPAGE="https://www2.cs.tum.edu/projects/cup/"
+SRC_URI="https://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${PV/_p/-}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="ant-task"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.15:0 )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.15:0 )
+"
+
+DOCS=( changelog.txt )
+HTML_DOCS=( manual.html )
+
+JAVA_MAIN_CLASS="java_cup/Main"
+JAVA_SRC_DIR=( "src" "java" )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ if use ant-task; then
+ JAVA_GENTOO_CLASSPATH+="ant"
+ else
+ rm src/java_cup/anttask/CUPTask.java || die
+ fi
+}
+
+src_compile() {
+ if has_version \>=${CATEGORY}/${PN}-11b:${SLOT}; then
+ einfo "Get path of installed JAVACUP"
+ # PORTAGE_QUIET=1 to suppress "QA Notice: java-pkg_ensure-dep", bug #937047
+ CP_CUP="$(PORTAGE_QUIET=1 java-pkg_getjar --build-only javacup javacup.jar)"
+ else
+ einfo "Get path of bundled JAVACUP"
+ CP_CUP="$(echo bin/java-cup-*.jar)"
+ fi
+ einfo "Path to JAVACUP is ${CP_CUP}"
+
+ if has_version \~dev-java/jflex-1.9.1:0; then
+ einfo "Get path of installed jflex"
+ MAIN="jflex.Main"
+ CP_FLEX="$(PORTAGE_QUIET=1 java-pkg_getjar --build-only jflex jflex.jar)"
+ else
+ einfo "Get path to the bundled JFlex"
+ MAIN="JFlex.Main"
+ CP_FLEX="$(echo bin/JFlex.jar)"
+ fi
+ einfo "Path to JFlex is ${CP_FLEX}"
+
+ einfo "Generate parser with: ${CP_CUP}"
+ "$(java-config -J)" -jar "${CP_CUP}" \
+ -interface -destdir "java" -parser "parser" -symbols "sym" \
+ cup/parser.cup || die
+
+ einfo "Generate lexer"
+ # https://jflex.de/manual.html#running-jflex
+ $(java-config -J) -cp "${CP_CUP}:${CP_FLEX}" "${MAIN}" \
+ flex/Lexer.jflex -d java/javacup || die
+
+ einfo "Build intermediate jar"
+ JAVA_JAR_FILENAME="seco.jar"
+ java-pkg-simple_src_compile
+
+ einfo "Remove classes and generated code"
+ rm -rv java/* target/classes/ || die
+
+ einfo "Regenerate parser with intermediate jar file"
+ "$(java-config -J)" -jar ./seco.jar \
+ -interface -destdir "java" -parser "parser" -symbols "sym" \
+ cup/parser.cup || die
+
+ einfo "Regenerate lexer with intermediate jar file"
+ $(java-config -J) -cp "$(echo ./seco.jar):${CP_FLEX}" "${MAIN}" \
+ flex/Lexer.jflex -d java/javacup || die
+
+ einfo "Build final jar with regenerated parser and lexer"
+ JAVA_JAR_FILENAME="${PN}.jar"
+ java-pkg-simple_src_compile
+ "$(java-config --jar)" cvf "${PN}-runtime.jar" -C target/classes java_cup/runtime || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dojar "${PN}-runtime.jar"
+ use ant-task && java-pkg_register-ant-task
+}
diff --git a/dev-java/javapoet/javapoet-1.13.0.ebuild b/dev-java/javapoet/javapoet-1.13.0.ebuild
index eae3a16fa9e3..7adf87392507 100644
--- a/dev-java/javapoet/javapoet-1.13.0.ebuild
+++ b/dev-java/javapoet/javapoet-1.13.0.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
DEPEND="
>=virtual/jdk-1.8:*
diff --git a/dev-java/javaruntype/Manifest b/dev-java/javaruntype/Manifest
new file mode 100644
index 000000000000..0a633e71ba86
--- /dev/null
+++ b/dev-java/javaruntype/Manifest
@@ -0,0 +1 @@
+DIST javaruntype-1.3.tar.gz 75272 BLAKE2B 5418b86db369facedd24d20a4f616a779988c9eb4e9be898ecd0f7889b0ddc912b96f1bcf59267be94931ffeefd7fa71a1f539b09c3666253bb30c6c50d0e39d SHA512 3287a23e02af9da1f713cd90949144e3a5576dd46b2febbf5ff2621ba66f59b1f2869a3ae6f831e88a366fcfc97cedf331c02365e23bd97c70079fe2cf363412
diff --git a/dev-java/javaruntype/javaruntype-1.3.ebuild b/dev-java/javaruntype/javaruntype-1.3.ebuild
new file mode 100644
index 000000000000..f2047991c3ab
--- /dev/null
+++ b/dev-java/javaruntype/javaruntype-1.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="runtime type system for Java"
+HOMEPAGE="https://www.javaruntype.org"
+SRC_URI="https://github.com/javaruntype/javaruntype/archive/${P}.tar.gz"
+S="${WORKDIR}/javaruntype-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-java/antlr-runtime:3.5
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="antlr-runtime-3.5"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ local JAVA_TEST_RUN_ONLY=$(find src/test/java -type f -name "Test*.java" -printf "%P\n" )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/javaruntype/metadata.xml b/dev-java/javaruntype/metadata.xml
new file mode 100644
index 000000000000..a63267abaf71
--- /dev/null
+++ b/dev-java/javaruntype/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/jdbc-mysql/Manifest b/dev-java/jdbc-mysql/Manifest
index 85f8e8e2aead..9143bf13f186 100644
--- a/dev-java/jdbc-mysql/Manifest
+++ b/dev-java/jdbc-mysql/Manifest
@@ -1,4 +1,6 @@
DIST mysql-connector-j-9.2.0.tar.gz 4502257 BLAKE2B 00c2bddf27f090236ce67bbd31b746d9d16c25aca27257005bbbb02430574d2b9e25eb597cb5948e6bb8b00bf5b2e564a44e7f072763816914c2c76bdfc80a1a SHA512 31a32cbb026932c3ec08c5a6f24643db084b3bf43d28e11b94bbccb5478b66f69322819dd611daa7b2ba0b705fba00d3a7ba2ce6d96f023cf4e2b0ae4457ba6a
+DIST mysql-connector-j-9.4.0.tar.gz 4493403 BLAKE2B ea07fc61ff4b2f6c4e70e5263a2702eab62ca54ee0b98015c5a506ad6c0651815e5d379519fd71168764d228130f7f20542ecf6b78c90063792879ceb81cf11a SHA512 57db259a45b6b060c93f8252d5e9d1998534033db9b0ade8409bb72890701017d411482c8b11eb25c84d18bf8301c57ca200177b2e3e019f1be32e17304bc2fd
DIST oci-java-sdk-common-3.29.0.jar 453619 BLAKE2B 41a68344a9cf4733c642e3a6e4254f3991f19c13edf57b3c61352b1e6ffdfabfe29cd8dccaa9b128fae618a492fb342007d14ad65b06cd614da572c787cf35ab SHA512 b6def960e114b69d3f34706d5e293f0a05b30c31a1443a92e454631712bb633eaea3795beeeabe4eb1303b8ad42ef2b73d69880b73d360e193f8f1b532bc3430
+DIST oci-java-sdk-common-3.66.0.jar 491192 BLAKE2B 9570b3d0ea16348a4cf184bd5e3bce5da7fe0d2bd69386ab92ed8d6ec8889f8db02ea70ebab7aed711dfab8891edc3a7497243424d8d8339587454e051e9afe5 SHA512 eda592ba11769b374631f8a238941736235dc7d29e67490fead6855bd6f7fca000ee8647c860d2d8b0531bf71dc2e51cdd5dd7a2b03e33bf4c29e6c9c8efc960
DIST opentelemetry-api-1.40.0.jar 141734 BLAKE2B 1f14ca7caadd0a3eed615da7ee528e5df72474d9a4eabcf5a820996830cf76c8fa3402de7d283598f1e4bb44b1a15c488b81863c4b5c0685ea35fe65f3fb12c2 SHA512 d4a1af66075b5f147ba297a8133a707716e323800d8aa2debcdace2bbe10046b2fee8a47d87fa9b6f1f11ad30f4da688670c546841990ad8daa7c8c0535498f2
DIST opentelemetry-context-1.40.0.jar 47251 BLAKE2B 7effcc63ec6695184467518686ec8165118cae1e7a4f1a7db273a3cbd1ff0b1e98c2a83252291db9536121e1e2999d1d77734acd7ddb5b272264138af4e6af74 SHA512 14ebc39edce8b603fe9f13d304faf54d7362abe3b1ae574aa84d5bbe37c43b133c8131976efd2bfedc94c646b2487054f7b3cce04e1f09efbce0f4ce5a6d5921
diff --git a/dev-java/jdbc-mysql/jdbc-mysql-9.4.0.ebuild b/dev-java/jdbc-mysql/jdbc-mysql-9.4.0.ebuild
new file mode 100644
index 000000000000..46ae8218499b
--- /dev/null
+++ b/dev-java/jdbc-mysql/jdbc-mysql-9.4.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+MAVEN_ID="com.mysql:mysql-connector-j:9.4.0"
+
+inherit java-pkg-2 java-pkg-simple junit5
+
+# Bundling binary versions of oci-java-sdk-common
+# According to src/build/misc/pom.xml
+OSC="3.66.0"
+
+DESCRIPTION="JDBC Type 4 driver for MySQL"
+HOMEPAGE="https://dev.mysql.com/doc/connector-j/en/"
+SRC_URI="https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-${PV}.tar.gz
+ https://repo1.maven.org/maven2/com/oracle/oci/sdk/oci-java-sdk-common/${OSC}/oci-java-sdk-common-${OSC}.jar"
+
+S="${WORKDIR}/mysql-connector-j-${PV}"
+
+LICENSE="GPL-2-with-MySQL-FLOSS-exception"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Most tests fail with:
+# Cannot connect to MySQL server on localhost:3,306.
+# Make sure that there is a MySQL server running on the machine/port you are trying to
+# connect to and that the machine this software is running on is able to connect to
+# this host/port (i.e. not firewalled). Also make sure that the server has not been
+# started with the --skip-networking flag.
+RESTRICT="test"
+
+CP_DEPEND="
+ dev-java/c3p0:0
+ dev-java/opentelemetry-java:0
+ >=dev-java/protobuf-java-4.31.1:0
+ dev-java/slf4j-api:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/guava-33.4.8:0
+ dev-java/incap:0
+ dev-java/javapoet:0
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/hamcrest:0 )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=dev-java/bcpkix-1.80:0
+ >=dev-java/bcprov-1.80:0
+ >=dev-java/jakarta-annotation-api-3.0.0:0
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( CHANGES README )
+
+JAVA_CLASSPATH_EXTRA="guava incap javapoet"
+JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/oci-java-sdk-common-${OSC}.jar"
+JAVA_JAR_FILENAME="mysql-connector-j.jar"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=(
+ "src/generated"
+ "src/legacy/java"
+ "src/main/core-api/java"
+ "src/main/core-impl/java"
+ "src/main/protocol-impl/java"
+ "src/main/user-api/java"
+ "src/main/user-impl/java"
+)
+JAVA_TEST_GENTOO_CLASSPATH="hamcrest junit-5"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p src/main/resources/META-INF/services || die "META-INF"
+ # populate META-INF/services according to line 801 build.xml
+ echo com.mysql.cj.jdbc.Driver \
+ > src/main/resources/META-INF/services/java.sql.Driver || die "META-INF"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_newjar "${DISTDIR}/oci-java-sdk-common-${OSC}.jar" oci-java-sdk-common.jar
+ java-pkg_regjar "${ED}/usr/share/jdbc-mysql/lib/oci-java-sdk-common.jar"
+ java-pkg_register-dependency bcpkix,bcprov,jakarta-annotation-api
+}
diff --git a/dev-java/jflex/Manifest b/dev-java/jflex/Manifest
index dc9f2fde4025..ff6b6d0feb28 100644
--- a/dev-java/jflex/Manifest
+++ b/dev-java/jflex/Manifest
@@ -1 +1,2 @@
DIST jflex-1.6.1.tar.gz 3027791 BLAKE2B 4262f75c16a847314db8cb175901658ff6b424469e66523b41564179fa30f0e64bcf2d7ad0e06ad918336e5a41e166a74d55f19f7451662d19fbcaa29f716dce SHA512 436840c90d906042205d27e1d3c56dec724bf62cc3d8c8d3445f217af0a50c9ca2bb56ed91f0cd3c37a930f7ca22f4cc50e8c28dbe905f02adf695c8e96fb07b
+DIST jflex-1.9.1.tar.gz 4944916 BLAKE2B 7976e17c0a75f84fc09a431ae100ea5061694edeffb5a8bc14b8afbb93a07296b7826b4540634ea0cb4db761a600603925a4489e49ea9b8a1d948d4cad9919be SHA512 2f7dc057741fb76309cd83042301cfcd73ff1e9e2e5330cdd88d96b8aa45d66cbb73a2a3e1020613d717ccd8aece21afe98b92c6d718d73337baa28c142a031f
diff --git a/dev-java/jflex/jflex-1.6.1-r3.ebuild b/dev-java/jflex/jflex-1.6.1-r4.ebuild
index ee3f226e1d98..0cdfce644742 100644
--- a/dev-java/jflex/jflex-1.6.1-r3.ebuild
+++ b/dev-java/jflex/jflex-1.6.1-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,7 +31,10 @@ DEPEND="
test? ( dev-java/junit:4 )
"
-PDEPEND=">=dev-java/javacup-11b_p20160615:0"
+# Restricted to max javacup-11b_p20160615-r1 in order to allow switching
+# the emerge order. The next revision, javacup-11b_p20160615-r2, will not
+# depend on jflex.
+PDEPEND="<=dev-java/javacup-11b_p20160615-r1:0"
JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/jflex/jflex-1.9.1.ebuild b/dev-java/jflex/jflex-1.9.1.ebuild
new file mode 100644
index 000000000000..31acca3718ce
--- /dev/null
+++ b/dev-java/jflex/jflex-1.9.1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JFlex is a lexical analyzer generator for Java"
+HOMEPAGE="https://www.jflex.de/"
+SRC_URI="https://github.com/jflex-de/jflex/releases/download/v${PV}/${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc-macos ~x64-macos"
+IUSE="ant-task examples test vim-syntax"
+REQUIRED_USE="test? ( ant-task )"
+
+# <dev-java/ognl-3.1.25:0 because of test failures with 3.1.25 or higher
+DEPEND="
+ >=virtual/jdk-1.8:*
+ dev-java/auto-value:0
+ dev-java/escapevelocity:0
+ dev-java/incap:0
+ >=dev-java/javacup-11b_p20160615-r2:0
+ dev-java/javapoet:0
+ dev-java/jsr305:0
+ ant-task? ( >=dev-java/ant-1.10.15:0 )
+ test? (
+ dev-java/antlr-runtime:3.5
+ dev-java/generics-resolver:0
+ >=dev-java/guava-33.4.8:0
+ dev-java/javaruntype:0
+ dev-java/junit-quickcheck:0
+ <dev-java/ognl-3.1.25:0
+ dev-java/slf4j-simple:0
+ dev-java/truth:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.15:0 )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+"
+
+DOCS=( {changelog,README}.md )
+JAVA_CLASSPATH_EXTRA="auto-value,javacup,jsr305"
+JAVA_MAIN_CLASS="jflex.Main"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ ant
+ antlr-runtime-3.5
+ generics-resolver
+ guava
+ javaruntype
+ junit-4
+ junit-quickcheck
+ ognl
+ slf4j-simple
+ truth
+"
+
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # Keep pre-compiled jar for generating LexScan.java
+ # It includes java_cup/runtime
+ java-pkg_clean ! -path "./lib/jflex-full-${PV}.jar"
+
+ # No need for that stuff
+ rm -r src/generated || die "rm generated"
+
+ # Providing ant-task would require dev-java/ant in dependencies.
+ if use ant-task; then
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant ant.jar)"
+ else
+ rm src/main/java/jflex/anttask/JFlexTask.java || die
+ fi
+}
+
+jflex_compile() {
+ $(java-config -J) "${@}" jflex.Main \
+ -d src/main/java \
+ --skel src/main/jflex/skeleton.nested \
+ src/main/jflex/LexScan.flex || die
+ java-pkg-simple_src_compile
+}
+
+src_compile() {
+ # get processorpath
+ local pp="$(java-pkg_getjar --build-only auto-value auto-value.jar)"
+ pp="${pp}:$(java-pkg_getjar --build-only auto-value auto-common.jar)"
+ pp="${pp}:$(java-pkg_getjars --build-only escapevelocity,guava,incap,javapoet)"
+
+ JAVAC_ARGS="-processorpath ${pp} -s src/main/java"
+
+ JAVACUP=$(java-pkg_getjar --build-only javacup javacup.jar)
+ java -jar "${JAVACUP}" -destdir ${JAVA_SRC_DIR} -package ${PN} \
+ -parser LexParse -interface src/main/cup/LexParse.cup || die
+
+ einfo "Generate LexScan.java using pre-compiled jar"
+ jflex_compile -cp "lib/jflex-full-${PV}.jar"
+
+ einfo "Remove and re-generate LexScan.java using the freshly built jar"
+ rm -v src/main/java/LexScan.java || die "rm LexScan.java"
+ rm -r target || die
+ jflex_compile -cp "${JAVACUP}:jflex.jar"
+}
+
+src_test() {
+ local TESTS=$(find src/test/java \( -name "*Test.java" -o -name "*Quickcheck.java" \) -printf "%P\n")
+ TESTS="${TESTS//.java}"
+ JAVA_TEST_RUN_ONLY="${TESTS//\//.}"
+
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ use ant-task && java-pkg_register-ant-task
+
+ use examples && java-pkg_doexamples examples
+
+ if use doc; then
+ dodoc doc/*.pdf
+ docinto html
+ dodoc doc/*.{css,html,png} doc/COPYRIGHT
+ fi
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins lib/${PN}.vim
+ fi
+}
diff --git a/dev-java/jflex/metadata.xml b/dev-java/jflex/metadata.xml
index 15d291fa1282..3e9d30d37f98 100644
--- a/dev-java/jflex/metadata.xml
+++ b/dev-java/jflex/metadata.xml
@@ -5,7 +5,11 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
-
+ <upstream>
+ <changelog>https://jflex.de/changelog.html</changelog>
+ <bugs-to>https://github.com/jflex-de/jflex/issues/</bugs-to>
+ <doc>https://jflex.de/docu.html</doc>
+ </upstream>
<use>
<flag name="ant-task">Build and register the ant-task</flag>
</use>
diff --git a/dev-java/jimfs/jimfs-1.3.1.ebuild b/dev-java/jimfs/jimfs-1.3.1.ebuild
index 118e100869f2..cc00cd84379e 100644
--- a/dev-java/jimfs/jimfs-1.3.1.ebuild
+++ b/dev-java/jimfs/jimfs-1.3.1.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${P}/jimfs"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
CP_DEPEND="
dev-java/auto-service-annotations:0
diff --git a/dev-java/jna/Manifest b/dev-java/jna/Manifest
index ea4b27931fcd..87b2fdd59133 100644
--- a/dev-java/jna/Manifest
+++ b/dev-java/jna/Manifest
@@ -1,3 +1,4 @@
DIST jna-5.13.0.tar.gz 116027625 BLAKE2B 1f2bc7ab28adefa0bbad122957ed2c6ef55ab88e79b30c05f0d2d88e0e05152f7bb5e28097906a7e24f78304dfa2b225587adb0ada205ca3c2ceac1cdbab3f04 SHA512 aefd0becc03bb7fd753e8c5cdcbcb20f6d590125a5fb03048bef0024e826ab0254b750e22a8bb26bea38cc89262ad45e5030b666cb2c857b01b15a6a55379a0f
DIST jna-5.17.0.tar.gz 117280491 BLAKE2B 4eb919b4a1f21e7674f334a26c7a63a3e8ec98cbfa114bc22e0a34c70f151f32f252a7c21467cf138dad6fa9bcb538a61da95450384353821d20588f99658c5f SHA512 9ed24af21a5e0470733c0836b8d7e892de8d0307d32460925b5457052de4a9c3b5f20466afd14059d686ea4af23670b002f78e3027dcc0dfc07e790942236bcb
DIST jna-5.18.0.tar.gz 117188224 BLAKE2B 5950a8250705f54eb0d6229203ffdd860aa4646d032a9b9a328cf846cba23aca2f5c36585421713f1afd1dc79f630ac56e7b93bfbb041cf87027dd9ff155df90 SHA512 e93337088b076434c16b878f7b9a3172af0daa7ca7c4a817a781e064ba570b65541ae1edda5dbde249ae65533c252bedb1501ed5bbcfc0e9256998b18ed8bd47
+DIST jna-5.18.1.tar.gz 117189568 BLAKE2B 32d641ef9f9565cd9469379ab848da4a7fef147ecba7ef20569590dfa76a66d677a0822f5a99bf567e4e70f41955173b118feb24f1bb717f57e08aac21e77acd SHA512 ce20cb336e49196bb438c5c575a4e7a708b59ee96f19510218c50a60f9f2124f299aa4e5f749963734d17f6cabcb77c6c0d5eed1aeaf14d03913bd31cc9d0846
diff --git a/dev-java/jna/jna-5.18.1.ebuild b/dev-java/jna/jna-5.18.1.ebuild
new file mode 100644
index 000000000000..3097c219c32c
--- /dev/null
+++ b/dev-java/jna/jna-5.18.1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+MAVEN_PROVIDES="
+ net.java.dev.jna:jna:${PV}
+ net.java.dev.jna:jna-platform:${PV}
+"
+
+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
+
+ # build.xml lines 245-250
+ sed \
+ -e "/VERSION =/s:TEMPLATE:${PV}:" \
+ -e "/VERSION_NATIVE =/s:TEMPLATE:${PV}:" \
+ -i src/com/sun/jna/Version.java || die
+ sed \
+ -e "s:^JNA_JNI_VERSION=.*$:JNA_JNI_VERSION=${PV}:" \
+ -i native/Makefile || 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
+
+ #954164
+ rm contrib/platform/src/com.sun.jna.platform/versions/9/module-info.java || 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
+ --enable-native-access=ALL-UNNAMED
+ )
+
+ 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
+}
diff --git a/dev-java/jtwig-core/jtwig-core-5.87.0.ebuild b/dev-java/jtwig-core/jtwig-core-5.87.0-r1.ebuild
index 4f96b964098c..ec35a50e8de1 100644
--- a/dev-java/jtwig-core/jtwig-core-5.87.0.ebuild
+++ b/dev-java/jtwig-core/jtwig-core-5.87.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2024 Gentoo Authors
+# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,7 +34,7 @@ DEPEND="
dev-java/commons-io:1
dev-java/commons-lang:3.6
dev-java/hamcrest:0
- dev-java/mockito:0
+ dev-java/mockito:1
)
"
@@ -58,7 +58,7 @@ JAVA_TEST_GENTOO_CLASSPATH="
commons-lang-3.6
hamcrest
junit-4
- mockito
+ mockito-1
"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild b/dev-java/jtwig-reflection/jtwig-reflection-5.87.0-r1.ebuild
index 44b9944c3e77..659b095e5e60 100644
--- a/dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild
+++ b/dev-java/jtwig-reflection/jtwig-reflection-5.87.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2024 Gentoo Authors
+# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,7 +26,7 @@ DEPEND="
test? (
dev-java/commons-io:1
dev-java/hamcrest:0
- dev-java/mockito:0
+ dev-java/mockito:1
)
"
@@ -52,7 +52,7 @@ JAVA_TEST_GENTOO_CLASSPATH="
commons-io-1
hamcrest
junit-4
- mockito
+ mockito-1
"
JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/junit-quickcheck/Manifest b/dev-java/junit-quickcheck/Manifest
new file mode 100644
index 000000000000..45ae4efd29b2
--- /dev/null
+++ b/dev-java/junit-quickcheck/Manifest
@@ -0,0 +1,2 @@
+DIST junit-quickcheck-1.0.tar.gz 194171 BLAKE2B f84e09e500640bc1b84ccee0fff0e9facaa3f22e6c49718ca63d9858194b131e292ba5e53af23a8b5757b4321d27563cbf299a0cc1b399a56665d8a67481a8b7 SHA512 b7c35c6d58f7e075f37cad19bab2429bd069b5ea516bb25ef22eaa313426e231b4c9a43b60e84bd0c6bae4742598922c4ea756591301cbe4723a33245a14de65
+DIST mockito-core-1.10.19.jar 1172979 BLAKE2B d7c903ca2db28eaf042d31cfcd45ddb3efed48c82a5003c9f14026aa21ebc8ca1354cd692e2b396efa19124b2eac590f25c2f47f811a44675665d83527867107 SHA512 15222889398341f867c4e9cc2884cd37eafff68542a28c852382bded5d7d76b67831f006a36f8f069524ccf9acd1295f9b5267ec8b2f1f49470b3fc6aedfc548
diff --git a/dev-java/junit-quickcheck/junit-quickcheck-1.0.ebuild b/dev-java/junit-quickcheck/junit-quickcheck-1.0.ebuild
new file mode 100644
index 000000000000..a4ceb7aec47e
--- /dev/null
+++ b/dev-java/junit-quickcheck/junit-quickcheck-1.0.ebuild
@@ -0,0 +1,185 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+MCV="1.10.19"
+DESCRIPTION="Property-based testing, JUnit-style"
+HOMEPAGE="https://github.com/pholser/junit-quickcheck"
+SRC_URI="https://github.com/pholser/junit-quickcheck/archive/${P}.tar.gz
+ test? ( https://repo1.maven.org/maven2/org/mockito/mockito-core/${MCV}/mockito-core-${MCV}.jar )"
+S="${WORKDIR}/junit-quickcheck-${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+CP_DEPEND="
+ dev-java/generics-resolver:0
+ dev-java/javaruntype:0
+ dev-java/junit:4
+ dev-java/ognl:0
+ dev-java/slf4j-api:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/antlr-runtime:3.5
+ >=dev-java/guava-testlib-33.4.8:0
+ >=dev-java/hamcrest-3.0:0
+ >=dev-java/javassist-3.30.2:3
+ >=dev-java/objenesis-3.4:0
+ )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVADOC_SRC_DIRS=( {core,generators}/src/main/java )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ local services="generators/src/main/resources/META-INF/services"
+ mkdir -p "${services}"
+ cat > "${services}/com.pholser.junit.quickcheck.generator.Generator" <<-EOF || die "here doc"
+ com.pholser.junit.quickcheck.generator.java.util.ArrayListGenerator
+ com.pholser.junit.quickcheck.generator.java.util.HashSetGenerator
+ com.pholser.junit.quickcheck.generator.java.util.LocaleGenerator
+ com.pholser.junit.quickcheck.generator.java.util.LinkedListGenerator
+ com.pholser.junit.quickcheck.generator.java.util.StackGenerator
+ com.pholser.junit.quickcheck.generator.java.util.OptionalDoubleGenerator
+ com.pholser.junit.quickcheck.generator.java.util.DateGenerator
+ com.pholser.junit.quickcheck.generator.java.util.LinkedHashMapGenerator
+ com.pholser.junit.quickcheck.generator.java.util.OptionalLongGenerator
+ com.pholser.junit.quickcheck.generator.java.util.TimeZoneGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.FunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.UnaryOperatorGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.ToIntBiFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.PredicateGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.BinaryOperatorGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.BiPredicateGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.ToIntFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.ToDoubleFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.ToLongBiFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.BiFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.IntFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.ToLongFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.DoubleFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.SupplierGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.LongFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.function.ToDoubleBiFunctionGenerator
+ com.pholser.junit.quickcheck.generator.java.util.BitSetGenerator
+ com.pholser.junit.quickcheck.generator.java.util.OptionalIntGenerator
+ com.pholser.junit.quickcheck.generator.java.util.HashMapGenerator
+ com.pholser.junit.quickcheck.generator.java.util.VectorGenerator
+ com.pholser.junit.quickcheck.generator.java.util.PropertiesGenerator
+ com.pholser.junit.quickcheck.generator.java.util.OptionalGenerator
+ com.pholser.junit.quickcheck.generator.java.util.concurrent.CallableGenerator
+ com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version4
+ com.pholser.junit.quickcheck.generator.java.util.HashtableGenerator
+ com.pholser.junit.quickcheck.generator.java.util.LinkedHashSetGenerator
+ com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version3
+ com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version5
+ com.pholser.junit.quickcheck.generator.java.math.BigDecimalGenerator
+ com.pholser.junit.quickcheck.generator.java.math.BigIntegerGenerator
+ com.pholser.junit.quickcheck.generator.java.time.ZonedDateTimeGenerator
+ com.pholser.junit.quickcheck.generator.java.time.LocalDateGenerator
+ com.pholser.junit.quickcheck.generator.java.time.OffsetTimeGenerator
+ com.pholser.junit.quickcheck.generator.java.time.ZoneIdGenerator
+ com.pholser.junit.quickcheck.generator.java.time.PeriodGenerator
+ com.pholser.junit.quickcheck.generator.java.time.YearMonthGenerator
+ com.pholser.junit.quickcheck.generator.java.time.InstantGenerator
+ com.pholser.junit.quickcheck.generator.java.time.LocalDateTimeGenerator
+ com.pholser.junit.quickcheck.generator.java.time.OffsetDateTimeGenerator
+ com.pholser.junit.quickcheck.generator.java.time.DurationGenerator
+ com.pholser.junit.quickcheck.generator.java.time.YearGenerator
+ com.pholser.junit.quickcheck.generator.java.time.ClockGenerator
+ com.pholser.junit.quickcheck.generator.java.time.ZoneOffsetGenerator
+ com.pholser.junit.quickcheck.generator.java.time.LocalTimeGenerator
+ com.pholser.junit.quickcheck.generator.java.time.MonthDayGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.ShortGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.CharacterGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.DoubleGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.IntegerGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.StringGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.LongGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.FloatGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.ByteGenerator
+ com.pholser.junit.quickcheck.generator.java.lang.Encoded
+ com.pholser.junit.quickcheck.generator.java.lang.BooleanGenerator
+ com.pholser.junit.quickcheck.generator.java.nio.charset.CharsetGenerator
+ com.pholser.junit.quickcheck.generator.VoidGenerator
+ EOF
+}
+
+src_compile() {
+ einfo "Compiling core"
+ JAVA_JAR_FILENAME="core.jar"
+ JAVA_RESOURCE_DIRS="core/src/main/resources"
+ JAVA_SRC_DIR="core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar"
+ rm -r target || die "clean core"
+
+ einfo "Compiling generators"
+ JAVA_JAR_FILENAME="generators.jar"
+ JAVA_RESOURCE_DIRS="generators/src/main/resources"
+ JAVA_SRC_DIR="generators/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":generators.jar"
+ rm -r target || die "clean generators"
+
+ JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
+ use doc && ejavadoc
+}
+
+src_test() {
+ # mockito-core-1.10.19 is presently not packaged
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/mockito-core-${MCV}.jar"
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ fi
+
+ einfo "Testing core"
+ JAVA_TEST_EXCLUDES=(
+ # upstream doesn't run these tests
+ com.pholser.junit.quickcheck.EqualsHashCodePropertiesTest # 9 of 9 tests fail
+ com.pholser.junit.quickcheck.internal.generator.CorePropertyParameterTest # 2 of 2 tests fail
+ com.pholser.junit.quickcheck.test.generator.TestGeneratorSource # Invalid test class, no runnable methods
+ )
+ JAVA_TEST_GENTOO_CLASSPATH="antlr-runtime-3.5 guava-testlib hamcrest javassist-3 junit-4 objenesis ognl"
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Creating core-tests.jar"
+ jar cvf core-tests.jar -C target/test-classes . || die
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
+ JAVA_TEST_RUN_ONLY=()
+
+ einfo "Testing generators"
+ JAVA_TEST_EXCLUDES=(
+ # 2 of 2 tests fail, upstream doesn't run it
+ com.pholser.junit.quickcheck.generator.BasicGeneratorPropertyParameterTest
+ )
+ JAVA_TEST_RESOURCE_DIRS=()
+ JAVA_TEST_SRC_DIR="generators/src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar generators.jar
+ JAVA_JAR_FILENAME="core.jar"
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/junit-quickcheck/metadata.xml b/dev-java/junit-quickcheck/metadata.xml
new file mode 100644
index 000000000000..e25b5c52aab3
--- /dev/null
+++ b/dev-java/junit-quickcheck/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/mockito/Manifest b/dev-java/mockito/Manifest
index 9d9fe63d1383..d2e824d6d275 100644
--- a/dev-java/mockito/Manifest
+++ b/dev-java/mockito/Manifest
@@ -1,3 +1,4 @@
DIST mockito-2.28.2.tar.gz 875085 BLAKE2B d0aab378c028530724156f999700506fe64f5bf19371dc9b957e34924d3d17b8191f093054c6dde4f5879d61ddf9614a60b1fd597aae09b92abf559c08fbcdf7 SHA512 9921fe9ffbdff4d7a9a8de56aa5078e68eb6bee38f379f58059dcc42da07a59b7e5953309d646e1fb760f7135f5076e201529370cc5df56d685f7acb08311ea5
DIST mockito-4.11.0.tar.gz 1050218 BLAKE2B 7f7298e233c9cdb0b475aa201300a1063fd8efc587f3a4de0cb1caedd6f6506a32f8e9b0548fa5898892515ec96625153a1a2ad65fc8070b7dc6c254206fbbfd SHA512 b1de01c8e9b2fc4eef0013af562efeac7e22babdebbd8c7842ecd55071627e11c5e6ab575436990ea70d4ceefb56fc260333278c8d4b833e454956bf89841fc5
+DIST mockito-5.20.0.tar.gz 897211 BLAKE2B 605a8b9953509e8ffc5f6e1c89f3174256d0b563faa43d497e82fe780d2a47f13d89d6b0f410acabbb1e7b13395690cbad87a3c767fe807ae7dfbe52c97e1d38 SHA512 3c929e1469421335a13d6651bc39f6dd10c99d761d89c9c5daa6da44a8fb6732f23b99c27017dd8cccd90e6dd159187fda34f4d61893f620d6fd54ac13377441
DIST mockito-core-1.9.5-sources.jar 723074 BLAKE2B e553a923542a1a2574ee0cda5979d168cc3e9644dbbc9fceed2301ae1bac150c4e35dbc4432d50e2479efea2a6cd35ec19c62c3598f61709f1f5dc8959cc0155 SHA512 271e626c3b5be9a7d7c82a2f0bf44077aabd51924b0956a88633ace7fe8c134d8cd1f89ce348ce0d15ccce55a50027e303836d2d2f430500317b6136d308d3d4
diff --git a/dev-java/mockito/mockito-1.9.5-r4.ebuild b/dev-java/mockito/mockito-1.9.5-r5.ebuild
index c84fa46afec3..ba2784002595 100644
--- a/dev-java/mockito/mockito-1.9.5-r4.ebuild
+++ b/dev-java/mockito/mockito-1.9.5-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ HOMEPAGE="https://github.com/mockito/mockito"
SRC_URI="https://repo1.maven.org/maven2/org/mockito/mockito-core/${PV}/mockito-core-${PV}-sources.jar"
LICENSE="MIT"
-SLOT="0"
+SLOT="1"
KEYWORDS="amd64 arm64 ppc64"
CP_DEPEND="
diff --git a/dev-java/mockito/mockito-5.20.0.ebuild b/dev-java/mockito/mockito-5.20.0.ebuild
new file mode 100644
index 000000000000..d01db40fab88
--- /dev/null
+++ b/dev-java/mockito/mockito-5.20.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple junit5
+
+DESCRIPTION="Mockito mock objects library core API and implementation"
+HOMEPAGE="https://github.com/mockito/mockito"
+SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ >=dev-java/asm-9.8-r1:0
+ >=dev-java/byte-buddy-1.17.7:0
+ >=dev-java/hamcrest-3.0:0
+ >=dev-java/jna-5.17.0:0
+ >=dev-java/jsr305-3.0.2-r1:0
+ >=dev-java/junit-4.13.2_p20240222:4
+ dev-java/junit:5
+ >=dev-java/objenesis-3.4:0
+ >=dev-java/opentest4j-1.3.0-r1:0
+ >=virtual/jdk-11:*
+ test? ( >=dev-java/assertj-core-3.27.6:0 )
+"
+
+# virtual/jre lower than 11 would cause a compilation error:
+# src/main/java/org/mockito/internal/stubbing/defaultanswers/ReturnsDeepStubs.java:57:
+# error: cannot find symbol
+# final var emptyValue = ReturnsEmptyValues.returnCommonEmptyValueFor(rawType);
+# ^
+# symbol: class var
+RDEPEND=">=virtual/jre-11:*"
+
+JAVA_CLASSPATH_EXTRA="asm byte-buddy hamcrest jna jsr305 junit-5 objenesis opentest4j"
+JAVA_TEST_SRC_DIR="mockito-core/src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # junit:4 --with-dependencies seems to pull another hamcrest into classpath.
+ JAVA_GENTOO_CLASSPATH_EXTRA=":$(java-pkg_getjars --build-only junit-4)"
+
+ # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
+ sed \
+ -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
+ -i mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
+ -i mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java || die
+}
+
+src_compile() {
+ JAVA_JAR_FILENAME="mockito-core.jar"
+ JAVA_SRC_DIR="mockito-core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":mockito-core.jar"
+ # whatever '.raw' is good for, upstream does it and we follow (and re-create the jar).
+ mv target/classes/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.class \
+ target/classes/org/mockito/internal/creation/bytebuddy/inject-MockMethodDispatcher.raw || die
+ rm mockito-core.jar || die "remove core.jar"
+ jar cf mockito-core.jar -C target/classes . || die "refresh core.jar"
+
+ rm -r target/classes || die "clean classes"
+ JAVA_JAR_FILENAME="mockito-junit-jupiter.jar"
+ JAVA_SRC_DIR="mockito-extensions/mockito-junit-jupiter/src/main/java"
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/InlineDelegateByteBuddyMockMakerTest.java:347: error: cannot access MockMethodDispatcher
+ # throwable = MockMethodAdvice.removeRecursiveCalls(throwable, SampleInterface.class);
+ # ^
+ # class file for org.mockito.internal.creation.bytebuddy.inject.MockMethodDispatcher not found
+ rm -v mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/InlineDelegateByteBuddyMockMakerTest.java || die
+ rm -v mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/sample/DifferentPackage.java || die
+
+ # assertj-core --with-dependencies seems to pull another hamcrest into classpath.
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only assertj-core)"
+ rm -r target/classes || die "clean classes"
+ JAVA_JAR_FILENAME="testFixtures.jar"
+ JAVA_SRC_DIR="mockito-core/src/testFixtures/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":testFixtures.jar"
+ junit5_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dojar mockito-core.jar
+}
diff --git a/dev-java/ognl/Manifest b/dev-java/ognl/Manifest
new file mode 100644
index 000000000000..c04e5b3f90f8
--- /dev/null
+++ b/dev-java/ognl/Manifest
@@ -0,0 +1 @@
+DIST ognl-3.1.24.tar.gz 3630907 BLAKE2B 666b3a9076904ebb34ec0bd028c7564eb2f75775bb485b11282bd8c7bab5130d694ab60dc255e31c450996e59581befc0af6c10395c3e7e126024ff545279063 SHA512 8d3880970242e09f5baf1044757daa644eb96b08ee0066030729072633576de9d1a3cab6c2a7a2923ad8d048742b825001dadb6da52cdc6735bf9536e0902230
diff --git a/dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch b/dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch
new file mode 100644
index 000000000000..34e1ecf3a424
--- /dev/null
+++ b/dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch
@@ -0,0 +1,91 @@
+There were 5 failures:
+1) test_Exit_JDK_Sandbox(ognl.TestOgnlRuntime)
+junit.framework.AssertionFailedError
+ at junit.framework.Assert.fail(Assert.java:55)
+ at junit.framework.Assert.assertTrue(Assert.java:22)
+ at junit.framework.Assert.assertTrue(Assert.java:31)
+ at junit.framework.TestCase.assertTrue(TestCase.java:200)
+ at ognl.TestOgnlRuntime.test_Exit_JDK_Sandbox(TestOgnlRuntime.java:365)
+2) test_Disable_JDK_Sandbox(ognl.TestOgnlRuntime)
+junit.framework.AssertionFailedError
+ at junit.framework.Assert.fail(Assert.java:55)
+ at junit.framework.Assert.assertTrue(Assert.java:22)
+ at junit.framework.Assert.assertTrue(Assert.java:31)
+ at junit.framework.TestCase.assertTrue(TestCase.java:200)
+ at ognl.TestOgnlRuntime.test_Disable_JDK_Sandbox(TestOgnlRuntime.java:296)
+3) test_Call_Method_In_JDK_Sandbox(ognl.TestOgnlRuntime)
+junit.framework.AssertionFailedError
+ at junit.framework.Assert.fail(Assert.java:55)
+ at junit.framework.Assert.assertTrue(Assert.java:22)
+ at junit.framework.Assert.assertTrue(Assert.java:31)
+ at junit.framework.TestCase.assertTrue(TestCase.java:200)
+ at ognl.TestOgnlRuntime.test_Call_Method_In_JDK_Sandbox(TestOgnlRuntime.java:201)
+4) test_Call_Method_In_JDK_Sandbox_Privileged(ognl.TestOgnlRuntime)
+junit.framework.AssertionFailedError
+ at junit.framework.Assert.fail(Assert.java:55)
+ at junit.framework.Assert.assertTrue(Assert.java:22)
+ at junit.framework.Assert.assertTrue(Assert.java:31)
+ at junit.framework.TestCase.assertTrue(TestCase.java:200)
+ at ognl.TestOgnlRuntime.test_Call_Method_In_JDK_Sandbox_Privileged(TestOgnlRuntime.java:393)
+5) test_Call_Method_In_JDK_Sandbox_Thread_Safety(ognl.TestOgnlRuntime)
+junit.framework.AssertionFailedError: expected:<0> but was:<100>
+ at junit.framework.Assert.fail(Assert.java:57)
+ at junit.framework.Assert.failNotEquals(Assert.java:329)
+ at junit.framework.Assert.assertEquals(Assert.java:78)
+ at junit.framework.Assert.assertEquals(Assert.java:234)
+ at junit.framework.Assert.assertEquals(Assert.java:241)
+ at junit.framework.TestCase.assertEquals(TestCase.java:384)
+ at ognl.TestOgnlRuntime.test_Call_Method_In_JDK_Sandbox_Thread_Safety(TestOgnlRuntime.java:269)
+
+FAILURES!!!
+Tests run: 30, Failures: 5
+
+diff --git a/src/test/java/ognl/TestOgnlRuntime.java b/src/test/java/ognl/TestOgnlRuntime.java
+index 0516f42..fd5bf48 100644
+--- a/src/test/java/ognl/TestOgnlRuntime.java
++++ b/src/test/java/ognl/TestOgnlRuntime.java
+@@ -178,7 +178,7 @@ public class TestOgnlRuntime extends TestCase {
+ assertEquals("Halo 3", OgnlRuntime.callMethod(context, service, "getFullMessageFor", args));
+ }
+
+- public void test_Call_Method_In_JDK_Sandbox()
++ public void noTest_Call_Method_In_JDK_Sandbox()
+ throws Exception {
+ OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null);
+ GenericService service = new GenericServiceImpl();
+@@ -207,7 +207,7 @@ public class TestOgnlRuntime extends TestCase {
+ }
+ }
+
+- public void test_Call_Method_In_JDK_Sandbox_Thread_Safety()
++ public void noTest_Call_Method_In_JDK_Sandbox_Thread_Safety()
+ throws Exception {
+ final OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null);
+ final GenericService service = new GenericServiceImpl();
+@@ -274,7 +274,7 @@ public class TestOgnlRuntime extends TestCase {
+ }
+ }
+
+- public void test_Disable_JDK_Sandbox()
++ public void noTest_Disable_JDK_Sandbox()
+ throws Exception {
+ OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null);
+ GenericService service = new GenericServiceImpl();
+@@ -343,7 +343,7 @@ public class TestOgnlRuntime extends TestCase {
+ }
+ }
+
+- public void test_Exit_JDK_Sandbox()
++ public void noTest_Exit_JDK_Sandbox()
+ throws Exception {
+ OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null);
+ GenericService service = new GenericServiceImpl();
+@@ -371,7 +371,7 @@ public class TestOgnlRuntime extends TestCase {
+ }
+ }
+
+- public void test_Call_Method_In_JDK_Sandbox_Privileged()
++ public void noTest_Call_Method_In_JDK_Sandbox_Privileged()
+ throws Exception {
+ OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null);
+ GenericService service = new GenericServiceImpl();
diff --git a/dev-java/ognl/metadata.xml b/dev-java/ognl/metadata.xml
new file mode 100644
index 000000000000..a63267abaf71
--- /dev/null
+++ b/dev-java/ognl/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/ognl/ognl-3.1.24.ebuild b/dev-java/ognl/ognl-3.1.24.ebuild
new file mode 100644
index 000000000000..481462201087
--- /dev/null
+++ b/dev-java/ognl/ognl-3.1.24.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Object Graph Navigation Library"
+HOMEPAGE="https://ognl.orphan.software/"
+SRC_URI="https://github.com/orphan-oss/ognl/archive/OGNL_${PV//./_}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/ognl-OGNL_${PV//./_}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+JAVACC_SLOT="7.0.13"
+BDEPEND="dev-java/javacc:${JAVACC_SLOT}"
+
+DEPEND="
+ dev-java/javassist:3
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/easymock:2.5
+ dev-java/hamcrest-core:1.3
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="ognl"
+JAVA_CLASSPATH_EXTRA="javassist-3"
+JAVA_SRC_DIR="src/java"
+JAVA_TEST_EXCLUDES=(
+ # junit.framework.AssertionFailedError: No tests found in org.ognl.test.OgnlTestCase
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestModel':
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestInherited2':
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestImpl':
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestClass':
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestInherited1':
+ ognl.Java8Test
+ org.ognl.test.OgnlTestCase
+ org.ognl.test.objects.TestModel
+ org.ognl.test.objects.TestInherited2
+ org.ognl.test.objects.TestImpl
+ org.ognl.test.objects.TestClass
+ org.ognl.test.objects.TestInherited1
+)
+JAVA_TEST_GENTOO_CLASSPATH="easymock-2.5 hamcrest-core-1.3 junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ "javacc-${JAVACC_SLOT}" \
+ -GRAMMAR_ENCODING=UTF-8 \
+ -LOOKAHEAD=1, -STATIC=false \
+ -JAVA_UNICODE_ESCAPE=true \
+ -UNICODE_INPUT=true \
+ -OUTPUT_DIRECTORY=src/main/java \
+ src/java/ognl/ognl.jj || die "javacc"
+}
+
+src_test() {
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 21; then
+ # This file has 30 tets, 5 of which would fail with higher Java versions.
+ eapply "${FILESDIR}/ognl-3.1.24-TestOgnlRuntime.patch"
+ fi
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=(
+ --add-opens=java.base/java.lang=ALL-UNNAMED
+ --add-opens=java.base/java.util=ALL-UNNAMED
+ )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/opentelemetry-java/Manifest b/dev-java/opentelemetry-java/Manifest
new file mode 100644
index 000000000000..b9b78b2efc7f
--- /dev/null
+++ b/dev-java/opentelemetry-java/Manifest
@@ -0,0 +1 @@
+DIST opentelemetry-java-1.49.0.tar.gz 1196249 BLAKE2B bb774496c8b5028e444abd186bb3389c89555361c87cb488bd633b20b2ddaf0bf75edfb2d0275d0ea32109e89de3ed1cfe1029a712b7b9f102c4473bba96d24f SHA512 8cf245568fdb3871d128c7dc9536785659d8cdfcb19eb3e543f829ae4b1fa47ff0da27a78d5e726b8f5440eaeca92235b8ac1c975e491290b02fffc2f7f2e69b
diff --git a/dev-java/opentelemetry-java/metadata.xml b/dev-java/opentelemetry-java/metadata.xml
new file mode 100644
index 000000000000..a63267abaf71
--- /dev/null
+++ b/dev-java/opentelemetry-java/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/opentelemetry-java/opentelemetry-java-1.49.0.ebuild b/dev-java/opentelemetry-java/opentelemetry-java-1.49.0.ebuild
new file mode 100644
index 000000000000..d8a8699ac3b3
--- /dev/null
+++ b/dev-java/opentelemetry-java/opentelemetry-java-1.49.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OpenTelemetry Context (Incubator)"
+HOMEPAGE="https://opentelemetry.io/"
+SRC_URI="https://github.com/open-telemetry/opentelemetry-java/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # too many test-dependencies still missing
+
+CP_DEPEND="
+ dev-java/auto-value:0
+ dev-java/jsr305:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/error-prone-annotations-2.41.0:0
+ dev-java/escapevelocity:0
+ >=dev-java/guava-33.4.8:0
+ dev-java/incap:0
+ dev-java/javapoet:0
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/assertj-core:3
+ dev-java/mockito:4
+ dev-java/slf4j-api:0
+ )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="error-prone-annotations guava incap javapoet"
+JAVADOC_CLASSPATH="auto-value error-prone-annotations jsr305"
+JAVADOC_SRC_DIRS=( api/all/src/main/java context/src/main/java )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p context/src/main/resources/io/opentelemetry/{api/all,context} || die
+ echo "sdk.version=${PV}" > context/src/main/resources/io/opentelemetry/context/version.properties || die
+ echo "sdk.version=${PV}" > context/src/main/resources/io/opentelemetry/api/all/version.properties || die
+}
+
+src_compile() {
+ einfo "Compiling opentelemetry-context.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="io.opentelemetry.context"
+ JAVA_JAR_FILENAME="opentelemetry-context.jar"
+ JAVA_RESOURCE_DIRS="context/src/main/resources"
+ JAVA_SRC_DIR="context/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":opentelemetry-context.jar"
+ rm -r target || die
+
+ # get processorpath
+ local pp="$(java-pkg_getjar --build-only auto-value auto-value.jar)"
+ pp="${pp}:$(java-pkg_getjar --build-only auto-value auto-common.jar)"
+ pp="${pp}:$(java-pkg_getjars --build-only escapevelocity,guava,incap,javapoet)"
+
+ einfo "Compiling opentelemetry-api.jar"
+ JAVAC_ARGS=" -processorpath ${pp} -s api/all/src/main/java"
+ JAVA_AUTOMATIC_MODULE_NAME="io.opentelemetry.api"
+ JAVA_JAR_FILENAME="opentelemetry-api.jar"
+ JAVA_RESOURCE_DIRS="api/all/src/main/resources"
+ JAVA_SRC_DIR="api/all/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":opentelemetry-api.jar"
+ rm -r target || die
+
+ use doc && ejavadoc
+}
+
+src_test() {
+ JAVA_TEST_GENTOO_CLASSPATH="assertj-core-3 junit-5 mockito-4 slf4j-api"
+ JAVA_TEST_SRC_DIR="context/src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar opentelemetry-context.jar
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/Manifest b/dev-java/protobuf-java/Manifest
index 146bdc90e3df..cb0c3ac12f60 100644
--- a/dev-java/protobuf-java/Manifest
+++ b/dev-java/protobuf-java/Manifest
@@ -1,5 +1,6 @@
DIST protobuf-29.3.tar.gz 9348951 BLAKE2B 8d37daac6f0d832e5bff5c56b9be73fce1fe016ca4e905f4c66d8fea20fabbee54a6be2c824f503d40f8492a4ec6280a539c454de9a118b69ebc57f2afe3d965 SHA512 0c776133f5789d21baa8860cb41e7926a162d74810a01722b762a78f93e559494e903fcaa092515bfe2ce057fd065a5dd000b316edb1af32c2ef9dbadf02b4c6
DIST protobuf-29.4.tar.gz 9350942 BLAKE2B fd3b81905e26db2ec3b54eaf30cf250db2894f91d5da73130106f6778f4e2f13b690961eecb8f5b8c23ac72428753611cd9bf719da986083e09ab32160e25314 SHA512 c888cb9961d58b7fb11a3363ff4d2684605cdd79756712f407ffe5f275569bf69b4370f1d2a0e20775646745cddd41a9b510f1c1981be4e969c9acf0dc2ba734
DIST protobuf-30.2.tar.gz 9506934 BLAKE2B 3a7d6bfa38500b16b1ce52b244fd9448fe7be2933a77224a1423a67e3ae3155846c0974ee1b6c579f6050f60b7784ace21b149b3cbdff2ef1e6bf954acbb1b51 SHA512 555d1b18d175eeaf17f3879f124d33080f490367840d35b34bfc4e4a5b383bf6a1d09f1570acb6af9c53ac4940a14572d46423b6e3dd0c712e7802c986fb6be6
+DIST protobuf-32.1.tar.gz 9676391 BLAKE2B f6c1faa260ecb57c0a1a5d4be7d56e431cac9e325a02b86d9eecd0318a0964618063db218a4720fcb1121614016f112ba00880a5b743a5c34f19f79ea4420735 SHA512 e7f8fe01912ba30cc7ce101beac1cfbd089bcb57b159a57d4d90cabd1b29d978ad322f0607e1b955617f035a6b68d4e7bc940fa4afa67d255a21f513a2c62172
DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
DIST truth-1.4.4.jar 274574 BLAKE2B b8ada1085b9f463daf82827a3f080d599719846eed8b68a3c4341b087d8e86d1fc690820eaaab900531ac4cb75b928542215d622b1e93cb268d43f02daf248e2 SHA512 f6b817bd148a4dae757b836d9b9ddc6812a079bebd8febfc34504fc252c8ca2fe895e6978f697d9c64e7255d32611994246dd691a6d3cbea47b3a9bcdb53e282
diff --git a/dev-java/protobuf-java/protobuf-java-4.32.1.ebuild b/dev-java/protobuf-java/protobuf-java-4.32.1.ebuild
new file mode 100644
index 000000000000..4493a281fb9f
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-4.32.1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2008-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+MAVEN_ID="com.google.protobuf:protobuf-java:${PV}"
+
+inherit cmake java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+MY_PV4="${PV#4.}"
+MY_PV="${MY_PV4/_rc/-rc}"
+MY_P="protobuf-${MY_PV}.tar.gz"
+SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${MY_PV}/${MY_P}"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV4}:0[protoc] )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20250512.1:= )
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ >=dev-java/guava-33.4.8:0
+ dev-java/mockito:4
+ dev-java/snakeyaml:0
+ dev-java/testparameterinjector:0
+ dev-java/truth:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4,snakeyaml"
+JAVA_TEST_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc "$1"
+ else
+ "${BUILD_DIR}/protoc" "$1"
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if ! use system-protoc; then
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ # ${S}/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.java_source.dir}:java/core/src/main/resources:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # ${S}/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+
+ # We add some *.proto files to the 'test-sources-build-1' file which
+ # are needed to avoid compilation errors on related test classes.
+ cat <<-EOF >> test-sources-build-1 || die "append test-sources-build-1"
+ src/google/protobuf/edition_unittest.proto
+ src/google/protobuf/unittest_delimited.proto
+ src/google/protobuf/unittest_delimited_import.proto
+ src/google/protobuf/unittest_import_option.proto
+ java/core/src/test/proto/com/google/protobuf/large_open_enum.proto
+ EOF
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON
+ )
+ if ! use system-protoc; then
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if ! use system-protoc; then
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # Note: Annotation processing is enabled because one or more processors were found
+ # on the class path. A future release of javac may disable annotation processing
+ # unless at least one processor is specified by name (-processor), or a search
+ # path is specified (--processor-path, --processor-module-path), or annotation
+ # processing is enabled explicitly (-proc:only, -proc:full).
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only testparameterinjector,truth)"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ # java/core/src/test/proto/com/google/protobuf/test_check_utf8.proto:15:1:
+ # Import "google/protobuf/java_features.proto" was not found or had errors.
+ cp {java/core/src/main/resources,src}/google/protobuf/java_features.proto || die
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'proto2_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ local JAVA_TEST_RUN_ONLY=$(find "${JAVA_TEST_SRC_DIR}" \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -name 'CachedFieldSizeTest.java' -printf "%P\n")
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/qdox/files/qdox-1.12.1-jflex-1.9.1.patch b/dev-java/qdox/files/qdox-1.12.1-jflex-1.9.1.patch
new file mode 100644
index 000000000000..2deb0dc13275
--- /dev/null
+++ b/dev-java/qdox/files/qdox-1.12.1-jflex-1.9.1.patch
@@ -0,0 +1,91 @@
+
+warning: [options] bootstrap class path not set in conjunction with -source 8
+./src/java/com/thoughtworks/qdox/parser/impl/JFlexLexer.java:1010: error: variable yyline is already defined in class JFlexLexer
+ private int yyline;
+ ^
+./src/java/com/thoughtworks/qdox/parser/impl/JFlexLexer.java:1013: error: variable yycolumn is already defined in class JFlexLexer
+ private int yycolumn;
+ ^
+./src/java/com/thoughtworks/qdox/parser/impl/JFlexLexer.java:1017: error: variable yychar is already defined in class JFlexLexer
+ private long yychar;
+ ^
+./src/java/com/thoughtworks/qdox/parser/impl/JFlexLexer.java:1021: error: variable zzAtBOL is already defined in class JFlexLexer
+ private boolean zzAtBOL = true;
+ ^
+./src/java/com/thoughtworks/qdox/parser/impl/JFlexLexer.java:1024: error: variable zzEOFDone is already defined in class JFlexLexer
+ private boolean zzEOFDone;
+ ^
+./src/java/com/thoughtworks/qdox/parser/impl/JFlexLexer.java:1408: error: cannot find symbol
+ char [] zzCMapL = ZZ_CMAP;
+ ^
+ symbol: variable ZZ_CMAP
+ location: class JFlexLexer
+Note: Some input files use or override a deprecated API.
+Note: Recompile with -Xlint:deprecation for details.
+Note: Some input files use unchecked or unsafe operations.
+Note: Recompile with -Xlint:unchecked for details.
+6 errors
+
+--- a/src/grammar/skeleton.inner
++++ b/src/grammar/skeleton.inner
+@@ -52,29 +52,9 @@
+ from input */
+ private int zzEndRead;
+
+- /** number of newlines encountered up to the start of the matched text */
+- private int yyline;
+-
+- /** the number of characters up to the start of the matched text */
+- private int yychar;
+-
+- /**
+- * the number of characters from the last newline up to the start of the
+- * matched text
+- */
+- private int yycolumn;
+-
+- /**
+- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
+- */
+- private boolean zzAtBOL = true;
+-
+ /** zzAtEOF == true <=> the scanner is at the EOF */
+ private boolean zzAtEOF;
+
+- /** denotes if the user-EOF-code has already been executed */
+- private boolean zzEOFDone;
+-
+ /** the stack of open (nested) input streams to read from */
+ private java.util.Stack zzStreams = new java.util.Stack();
+
+@@ -382,7 +362,6 @@
+ int zzMarkedPosL = zzMarkedPos;
+ int zzEndReadL = zzEndRead;
+ char [] zzBufferL = zzBuffer;
+- char [] zzCMapL = ZZ_CMAP;
+
+ --- start admin (line, char, col count)
+ zzAction = -1;
+@@ -407,15 +386,15 @@
+ zzMarkedPos = zzMarkedPosL;
+ --- char count update
+
+---- actions
+- default:
+- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+- zzAtEOF = true;
++ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
++ zzAtEOF = true;
+ --- eofvalue
+- }
+- else {
++ }
++ else {
++--- actions
++ default:
+ --- no match
+- }
++ }
+ }
+ }
+ }
diff --git a/dev-java/qdox/qdox-1.12.1-r6.ebuild b/dev-java/qdox/qdox-1.12.1-r7.ebuild
index 4cfeb6815df5..18241f060101 100644
--- a/dev-java/qdox/qdox-1.12.1-r6.ebuild
+++ b/dev-java/qdox/qdox-1.12.1-r7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,15 @@ KEYWORDS="amd64 arm64 ppc64 ~ppc-macos ~x64-macos"
IUSE="ant-task"
REQUIRED_USE="test? ( ant-task )"
+# The patch 'jflex-1.6.1.patch' which is used by this revision does
+# not allow building with a newer version of jflex.
+# We restict this revision to ~dev-java/jflex-1.6.1 and will add another
+# revision which can build with the newer jflex.
DEPEND="
>=virtual/jdk-1.8:*
dev-java/byaccj:0
dev-java/jmock:1.0
- !x86? ( dev-java/jflex:0 )
+ !x86? ( ~dev-java/jflex-1.6.1:0 )
ant-task? ( >=dev-java/ant-1.10.14-r3:0 )
test? ( dev-java/junit:0 )
"
diff --git a/dev-java/qdox/qdox-1.12.1-r8.ebuild b/dev-java/qdox/qdox-1.12.1-r8.ebuild
new file mode 100644
index 000000000000..bcdc288d2b7e
--- /dev/null
+++ b/dev-java/qdox/qdox-1.12.1-r8.ebuild
@@ -0,0 +1,105 @@
+# 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_ID="com.thoughtworks.qdox:qdox:1.12.1"
+
+inherit java-pkg-2
+
+DESCRIPTION="Parser for extracting class/interface/method definitions"
+HOMEPAGE="https://github.com/codehaus/qdox"
+SRC_URI="https://github.com/codehaus/qdox/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="1.12"
+KEYWORDS="~amd64 ~ppc-macos ~x64-macos"
+IUSE="ant-task"
+REQUIRED_USE="test? ( ant-task )"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ dev-java/byaccj:0
+ >=dev-java/javacup-11b_p20160615-r2:0
+ >=dev-java/jflex-1.9.1:0
+ dev-java/jmock:1.0
+ ant-task? ( >=dev-java/ant-1.10.15:0 )
+ test? ( dev-java/junit:0 )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.15:0 )
+"
+
+PATCHES=( "${FILESDIR}/qdox-1.12.1-jflex-1.9.1.patch" )
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+
+ if ! use test ; then
+ rm src/java/com/thoughtworks/qdox/tools/QDoxTester.java
+ rm -rf src/java/com/thoughtworks/qdox/junit
+ rm -rf src/test
+ fi
+}
+
+src_compile() {
+ "$(java-config -J)" -cp "$(java-pkg_getjars --build-only jflex):$(java-pkg_getjars --build-only javacup)" jflex.Main \
+ src/grammar/lexer.flex \
+ --skel src/grammar/skeleton.inner \
+ -d src/java/com/thoughtworks/qdox/parser/impl/ || die
+
+ byaccj -v -Jnorun \
+ -Jnoconstruct \
+ -Jclass=Parser \
+ -Jsemantic=Value \
+ -Jpackage=com.thoughtworks.qdox.parser.impl \
+ src/grammar/parser.y || die
+
+ mv Parser.java src/java/com/thoughtworks/qdox/parser/impl/ || die
+
+ # create jar
+ mkdir -p build/classes || die
+
+ local cp="$(java-pkg_getjars --build-only jmock-1.0)"
+
+ if use test ; then
+ cp="${cp}:$(java-pkg_getjars --build-only junit)"
+ fi
+
+ if use ant-task ; then
+ cp="${cp}:$(java-pkg_getjars --build-only ant)"
+ else
+ rm src/java/com/thoughtworks/qdox/ant/AbstractQdoxTask.java || die
+ fi
+
+ ejavac -sourcepath . -d build/classes -classpath "${cp}" \
+ $(find . -name "*.java") || die "Cannot compile sources"
+
+ mkdir dist || die
+ cd build/classes || die
+ jar -cvf "${S}"/dist/${PN}.jar com || die "Cannot create JAR"
+
+ # generate javadoc
+ if use doc ; then
+ cd "${S}"
+ mkdir javadoc || die
+ javadoc -d javadoc -sourcepath src/java -subpackages com -classpath "${cp}"
+ fi
+}
+
+src_test() {
+ java -cp "${S}"/dist/${PN}.jar:$(java-pkg_getjars --build-only ant,junit,jmock-1.0) \
+ com.thoughtworks.qdox.tools.QDoxTester src || die "Tests failed!"
+}
+
+src_install() {
+ java-pkg_dojar dist/${PN}.jar
+
+ use source && java-pkg_dosrc src/java/com
+ use doc && java-pkg_dojavadoc javadoc
+}
diff --git a/dev-java/qdox/qdox-2.0.1.ebuild b/dev-java/qdox/qdox-2.0.1-r1.ebuild
index 23f8bc254323..9ea83d0c6388 100644
--- a/dev-java/qdox/qdox-2.0.1.ebuild
+++ b/dev-java/qdox/qdox-2.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ DEPEND="
>=virtual/jdk-1.8:*
test? (
dev-java/junit:4
- dev-java/mockito:0
+ dev-java/mockito:1
)
"
RDEPEND=">=virtual/jre-1.8:*"
@@ -37,7 +37,7 @@ JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
JAVA_TEST_GENTOO_CLASSPATH="
junit-4
- mockito
+ mockito-1
"
src_compile() {
diff --git a/dev-java/testparameterinjector/Manifest b/dev-java/testparameterinjector/Manifest
new file mode 100644
index 000000000000..e71e16f7aa01
--- /dev/null
+++ b/dev-java/testparameterinjector/Manifest
@@ -0,0 +1 @@
+DIST testparameterinjector-1.18.tar.gz 112051 BLAKE2B a1eead83d484c82992262cb0232464df54c94c4266a534fde0faa208db2f0d81fccc16d12f97ea27687eebc5889495ab33b4de8768839ee5c747619378ab1f15 SHA512 3cc620286d89cb5e6fb039d832b8c23c2d163f69f707811075ff26679601e54ea34f396516e40f2d392f11493363ea53b72c861329d6c3e79d869ff700b2dc35
diff --git a/dev-java/testparameterinjector/metadata.xml b/dev-java/testparameterinjector/metadata.xml
new file mode 100644
index 000000000000..e25b5c52aab3
--- /dev/null
+++ b/dev-java/testparameterinjector/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/testparameterinjector/testparameterinjector-1.18.ebuild b/dev-java/testparameterinjector/testparameterinjector-1.18.ebuild
new file mode 100644
index 000000000000..85aa0121c1fc
--- /dev/null
+++ b/dev-java/testparameterinjector/testparameterinjector-1.18.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="TestParameterInjector For JUnit4"
+HOMEPAGE="https://github.com/google/testparameterinjector"
+SRC_URI="https://github.com/google/TestParameterInjector/archive//v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/TestParameterInjector-${PV}/junit4"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+CP_DEPEND="
+ dev-java/auto-value:0
+ >=dev-java/guava-33.4.8:0
+ dev-java/jsr305:0
+ dev-java/junit:4
+ dev-java/snakeyaml:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ dev-java/escapevelocity:0
+ dev-java/incap:0
+ dev-java/javapoet:0
+ test? (
+ >=dev-java/protobuf-java-4.30.2:0
+ dev-java/truth:0
+ )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="jsr305,junit-4,snakeyaml"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,protobuf-java,truth"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_compile() {
+ # get processorpath
+ local pp="$(java-pkg_getjar auto-value auto-value.jar)"
+ pp="${pp}:$(java-pkg_getjar auto-value auto-common.jar)"
+ pp="${pp}:$(java-pkg_getjars --build-only escapevelocity,guava,incap,javapoet)"
+
+ JAVAC_ARGS="-processorpath ${pp} -s src/main/java -parameters"
+
+ java-pkg-simple_src_compile
+}
diff --git a/dev-java/truth/truth-1.4.5.ebuild b/dev-java/truth/truth-1.4.5.ebuild
index c0bf7ec51522..3e53ff8fe3f8 100644
--- a/dev-java/truth/truth-1.4.5.ebuild
+++ b/dev-java/truth/truth-1.4.5.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
DEPEND="
dev-java/asm:0
diff --git a/dev-java/typesafe-config/Manifest b/dev-java/typesafe-config/Manifest
index 0d612a396e83..c708adfad045 100644
--- a/dev-java/typesafe-config/Manifest
+++ b/dev-java/typesafe-config/Manifest
@@ -1 +1,2 @@
DIST typesafe-config-1.4.2.tar.gz 278098 BLAKE2B 65e3ffb4e9a4a7c33344c7f26ac28f6321c83621865db7812c09e7908e10f110bcfab4eca66577d6495f94da6a11b8877920e87afa6976c25852c5ec08aa1148 SHA512 85bc28987a6998a5ce6e0bb0996d853b534fc870e44abaeb3df31e53a2da39a350aecbd8f8849f4d4340a7e5da1c44882eb8c8ba58233c9af2a0e575f2c2c6db
+DIST typesafe-config-1.4.5.tar.gz 278828 BLAKE2B 572a017264d052d645268f964d6d7b8993c5086b73da958b14cea5c5c4d4147f073165afa9f6c9b867e6779a3991370a230d81424d30e86df020c92fe47d3992 SHA512 7d7574ddf645afeb0e0c13e831a487241727693c21ff0d65657e5d364ce95c516e4d0b59c9811abe11cc50a392e32f2845af02b8814dad863ff040be0a6d6235
diff --git a/dev-java/typesafe-config/typesafe-config-1.4.5.ebuild b/dev-java/typesafe-config/typesafe-config-1.4.5.ebuild
new file mode 100644
index 000000000000..7412023a6948
--- /dev/null
+++ b/dev-java/typesafe-config/typesafe-config-1.4.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No tests, all written in scala.
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.typesafe:config:1.4.4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A library of arguably useful Java utilities"
+HOMEPAGE="https://lightbend.github.io/config/"
+SRC_URI="https://github.com/lightbend/config/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+DOCS=( {CONTRIBUTING,HOCON,NEWS,README}.md )
+
+# https://github.com/lightbend/config/blob/v1.4.2/build.sbt#L104
+JAVA_AUTOMATIC_MODULE_NAME="typesafe.config"
+JAVA_SRC_DIR="config/src/main/java"