summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/asm/Manifest1
-rw-r--r--dev-java/asm/asm-9.10.1.ebuild103
-rw-r--r--dev-java/asm/files/asm-9.10-gentoo.patch44
-rw-r--r--dev-java/bnd-annotation/bnd-annotation-7.2.3.ebuild2
-rw-r--r--dev-java/bnd-ant/bnd-ant-7.2.3.ebuild2
-rw-r--r--dev-java/bnd-util/bnd-util-7.2.3.ebuild2
-rw-r--r--dev-java/bnd/bnd-7.2.3.ebuild2
-rw-r--r--dev-java/bndlib/bndlib-7.2.3.ebuild2
-rw-r--r--dev-java/byte-buddy/Manifest1
-rw-r--r--dev-java/byte-buddy/byte-buddy-1.18.10.ebuild103
-rw-r--r--dev-java/commons-csv/commons-csv-1.14.1-r2.ebuild (renamed from dev-java/commons-csv/commons-csv-1.14.1-r1.ebuild)6
-rw-r--r--dev-java/commons-csv/files/commons-csv-1.14.1-skipFailingTest.patch34
-rw-r--r--dev-java/janino/Manifest1
-rw-r--r--dev-java/janino/janino-3.1.12.ebuild78
-rw-r--r--dev-java/janino/metadata.xml12
-rw-r--r--dev-java/jcommander/files/jcommander-1.83-skipFailingTest.patch15
-rw-r--r--dev-java/jcommander/jcommander-1.83-r1.ebuild (renamed from dev-java/jcommander/jcommander-1.83.ebuild)6
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-42.7.11.ebuild2
-rw-r--r--dev-java/jna/files/jna-5.18.1-native-fix-parallel-build-issue.patch34
-rw-r--r--dev-java/jna/jna-5.18.1.ebuild3
-rw-r--r--dev-java/jol-core/jol-core-0.17-r1.ebuild (renamed from dev-java/jol-core/jol-core-0.17.ebuild)9
-rw-r--r--dev-java/libg/libg-7.2.3.ebuild2
-rw-r--r--dev-java/openjdk-bin/Manifest6
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-26.0.1_p8.ebuild157
-rw-r--r--dev-java/openjdk/Manifest5
-rw-r--r--dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild15
-rw-r--r--dev-java/openjdk/openjdk-17.0.19_p10.ebuild334
-rw-r--r--dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild15
-rw-r--r--dev-java/openjdk/openjdk-21.0.11_p10.ebuild333
-rw-r--r--dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild18
-rw-r--r--dev-java/openjdk/openjdk-25.0.4_beta4.ebuild (renamed from dev-java/openjdk/openjdk-25.0.3_p9.ebuild)58
-rw-r--r--dev-java/openjdk/openjdk-27_beta25.ebuild (renamed from dev-java/openjdk/openjdk-27_alpha21.ebuild)18
-rw-r--r--dev-java/openjdk/openjdk-28_alpha1.ebuild (renamed from dev-java/openjdk/openjdk-26.0.1_p8.ebuild)64
-rw-r--r--dev-java/qdox/qdox-2.2.0-r2.ebuild (renamed from dev-java/qdox/qdox-2.2.0-r1.ebuild)7
-rw-r--r--dev-java/wsdl4j/wsdl4j-1.6.3-r1.ebuild2
-rw-r--r--dev-java/wsdl4j/wsdl4j-1.6.3.ebuild26
-rw-r--r--dev-java/xz-java/Manifest2
-rw-r--r--dev-java/xz-java/xz-java-1.11.ebuild43
-rw-r--r--dev-java/xz-java/xz-java-1.12.ebuild2
39 files changed, 509 insertions, 1060 deletions
diff --git a/dev-java/asm/Manifest b/dev-java/asm/Manifest
index 83fe6360a3e1..c714dc737d23 100644
--- a/dev-java/asm/Manifest
+++ b/dev-java/asm/Manifest
@@ -1,2 +1,3 @@
+DIST asm-ASM_9_10_1.tar.bz2 1387133 BLAKE2B d7c74c3504cc269f6b2cf1ad1718ac19db25c34b27abece797c5d094dacd0e1c5ed4457cbbd7d0a3c95d3d72149090e558187bf8a8649d7e3ef92bb59811f313 SHA512 5f89d2bb560cfd282a4e347f436cdccd44b63fbd9b2c56c9a8dbd51604b271bb655b9ad8a25bd05c474171f09d428f2ebc3f0275b1438c06dffb880e1ef1941f
DIST asm-ASM_9_7_1.tar.bz2 1378103 BLAKE2B f7da3a9c1bcf76398c9e9b9b86d60f8854e5248632a8b2d76605851e29ee1807713fb28c9e76012ec8f9444c44e3a151ed409cd120c34ab8d3495fdc9c84edcb SHA512 77ae76464eec97dbc8129c4a746d13f0d286d2033f909b65e0e34858e1785616b7bee22faa92128b91eb39cbd849e262efe574b73ed2859920add457d6422dd0
DIST asm-ASM_9_9_1.tar.bz2 1387005 BLAKE2B 535f8df7e8c8047e3c32983f685e4a13228b5e9dac91018ea209d44d05ec1d509a08fc89606d4a68069cb7e6ed5e70177a26d3ac3fcadb8fc8221a6e0dc052fe SHA512 14b07af7e55035cdc2fa5b0808b6062c2e006b9fc389ef7765ca03353bb33b5cd73ab4c8ecfcf7a62b8e5475bdf13e09988bd156a586ac396b8419414f6f0553
diff --git a/dev-java/asm/asm-9.10.1.ebuild b/dev-java/asm/asm-9.10.1.ebuild
new file mode 100644
index 000000000000..55eaa0866858
--- /dev/null
+++ b/dev-java/asm/asm-9.10.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+# Avoid circular dependency
+JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
+
+inherit java-pkg-2 java-pkg-simple junit5
+
+MY_P="ASM_${PV//./_}"
+
+DESCRIPTION="Bytecode manipulation framework for Java"
+HOMEPAGE="https://asm.ow2.io"
+SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.bz2"
+S="${WORKDIR}/asm-${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x64-macos"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/janino-3.1.9:0
+ dev-java/junit:5[-vintage]
+ >=dev-java/opentest4j-1.3.0-r1:0
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=( "${FILESDIR}"/asm-9.10-gentoo.patch )
+
+ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" )
+JAVADOC_SRC_DIRS=( asm{-analysis,-commons,,-tree,-util}/src/main/java )
+JAVA_TEST_GENTOO_CLASSPATH="janino junit-5 opentest4j"
+JAVA_TEST_RESOURCE_DIRS=( asm{-analysis,-commons,,-tree,-util}/src/test/resources )
+
+# The junit:5 version is too old, compilation of LambdaRemapTest.java fails with:
+# asm-commons/src/test/java/org/objectweb/asm/commons/LambdaRemapTest.java:9: error: cannot find symbol
+# import org.junit.jupiter.params.Parameter;
+# ^
+# symbol: class Parameter
+
+JAVA_TEST_SRC_DIR=( asm{-analysis,-commons,,-test,-tree,-util}/src/test/java \
+ ! -name LambdaRemapTest.java )
+
+src_compile() {
+ local module
+ for module in "${ASM_MODULES[@]}"; do
+ einfo "Compiling ${module}"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar"
+ JAVA_INTERMEDIATE_JAR_NAME="org.objectweb.${module/-/.}"
+ JAVA_JAR_FILENAME="${module}.jar"
+ JAVA_MODULE_INFO_OUT="${module}/src/main"
+ JAVA_MODULE_INFO_RELEASE=9
+ JAVA_SRC_DIR="${module}/src/main/java"
+ java-pkg-simple_src_compile
+ rm -r target || die
+ done
+
+ # upstream generates module-info into root of the jars
+ for module in "${ASM_MODULES[@]}"; do
+ einfo "Adjust mudule-info in ${module}"
+ mkdir target || die
+ pushd target >/dev/null || die
+ jar xf ../${module}.jar || die
+ rm -v ../${module}.jar || die
+ mv {META-INF/versions/9/,}module-info.class || die
+ rm -rv META-INF || die
+ popd >/dev/null || die
+ jar cf ${module}.jar -C target . || die
+ rm -r target || die
+ done
+
+ use doc && ejavadoc
+}
+
+src_test() {
+ JAVAC_ARGS="-g"
+ JAVA_CLASSPATH_EXTRA="junit-5"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":asm-test.jar"
+ JAVA_JAR_FILENAME="asm-test.jar"
+ JAVA_RESOURCE_DIRS=( asm-test/src/main/resources )
+ JAVA_SRC_DIR=( asm-test/src/main/java )
+ java-pkg-simple_src_compile
+ junit5_src_test
+}
+
+src_install() {
+ JAVA_JAR_FILENAME="asm.jar"
+ java-pkg-simple_src_install
+ local module
+ for module in asm-{analysis,commons,tree,util}; do
+ java-pkg_dojar ${module}.jar
+ if use source; then
+ java-pkg_dosrc "${module}/src/main/java/*"
+ fi
+ done
+}
diff --git a/dev-java/asm/files/asm-9.10-gentoo.patch b/dev-java/asm/files/asm-9.10-gentoo.patch
new file mode 100644
index 000000000000..065c594f31b5
--- /dev/null
+++ b/dev-java/asm/files/asm-9.10-gentoo.patch
@@ -0,0 +1,44 @@
+--- a/asm-analysis/src/test/java/org/objectweb/asm/tree/analysis/AnalyzerWithBasicInterpreterTest.java
++++ b/asm-analysis/src/test/java/org/objectweb/asm/tree/analysis/AnalyzerWithBasicInterpreterTest.java
+@@ -206,7 +206,7 @@ class AnalyzerWithBasicInterpreterTest extends AsmTest {
+ void testAnalyze_mergeWithJsrReachableFromTwoDifferentPaths()
+ throws IOException, AnalyzerException {
+ ClassReader classReader =
+- new ClassReader(Files.newInputStream(Paths.get("src/test/resources/Issue316204.class")));
++ new ClassReader(Files.newInputStream(Paths.get("asm-analysis/src/test/resources/Issue316204.class")));
+ ClassNode classNode = new ClassNode();
+ classReader.accept(classNode, 0);
+ Analyzer<BasicValue> analyzer = new Analyzer<>(new BasicInterpreter());
+--- a/asm-commons/src/test/java/org/objectweb/asm/commons/LocalVariablesSorterTest.java
++++ b/asm-commons/src/test/java/org/objectweb/asm/commons/LocalVariablesSorterTest.java
+@@ -216,7 +216,7 @@ class LocalVariablesSorterTest extends AsmTest {
+ @Test
+ void testAllMethods_issue317586() throws IOException {
+ ClassReader classReader =
+- new ClassReader(Files.newInputStream(Paths.get("src/test/resources/Issue317586.class")));
++ new ClassReader(Files.newInputStream(Paths.get("asm-commons/src/test/resources/Issue317586.class")));
+ ClassWriter classWriter = new ClassWriter(0);
+ ClassVisitor localVariablesSorter =
+ new LocalVariablesSorterClassAdapter(/* latest */ Opcodes.ASM10_EXPERIMENTAL, classWriter);
+--- a/asm-util/src/test/java/org/objectweb/asm/util/TextifierTest.java
++++ b/asm-util/src/test/java/org/objectweb/asm/util/TextifierTest.java
+@@ -84,7 +84,7 @@ class TextifierTest extends AsmTest {
+ 0);
+
+ String expectedText =
+- Files.readString(Paths.get("src/test/resources/" + classParameter.getName() + ".txt"))
++ Files.readString(Paths.get("asm-util/src/test/resources/" + classParameter.getName() + ".txt"))
+ .replace("\r", "");
+
+ assertEquals(expectedText, output.toString());
+--- a/asm/src/test/java/org/objectweb/asm/ClassWriterTest.java
++++ b/asm/src/test/java/org/objectweb/asm/ClassWriterTest.java
+@@ -387,7 +387,7 @@ class ClassWriterTest extends AsmTest {
+ @ValueSource(strings = {"Issue307600.class", "Issue311642.class"})
+ void testToByteArray_computeMaxs_largeSubroutines(final String classFileName) throws IOException {
+ ClassReader classReader =
+- new ClassReader(Files.newInputStream(Paths.get("src/test/resources/" + classFileName)));
++ new ClassReader(Files.newInputStream(Paths.get("asm/src/test/resources/" + classFileName)));
+ ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS);
+ classReader.accept(classWriter, attributes(), 0);
+
diff --git a/dev-java/bnd-annotation/bnd-annotation-7.2.3.ebuild b/dev-java/bnd-annotation/bnd-annotation-7.2.3.ebuild
index 96784c404a5e..10e7a36d2b6e 100644
--- a/dev-java/bnd-annotation/bnd-annotation-7.2.3.ebuild
+++ b/dev-java/bnd-annotation/bnd-annotation-7.2.3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/bnd-${PV/_rc/.RC}"
LICENSE="Apache-2.0 EPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 arm64 ppc64"
DEPEND="
dev-java/osgi-cmpn:8
diff --git a/dev-java/bnd-ant/bnd-ant-7.2.3.ebuild b/dev-java/bnd-ant/bnd-ant-7.2.3.ebuild
index 8fcf29810448..bfdf7981b954 100644
--- a/dev-java/bnd-ant/bnd-ant-7.2.3.ebuild
+++ b/dev-java/bnd-ant/bnd-ant-7.2.3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/bnd-${PV/_rc/.RC}"
LICENSE="Apache-2.0 EPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
DEPEND="
dev-java/ant:0
diff --git a/dev-java/bnd-util/bnd-util-7.2.3.ebuild b/dev-java/bnd-util/bnd-util-7.2.3.ebuild
index a1f1a8fe1d3a..6be99a38c5f4 100644
--- a/dev-java/bnd-util/bnd-util-7.2.3.ebuild
+++ b/dev-java/bnd-util/bnd-util-7.2.3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/bnd-${PV/_rc/.RC}"
LICENSE="Apache-2.0 EPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ppc64"
CP_DEPEND="
dev-java/osgi-annotation:0
diff --git a/dev-java/bnd/bnd-7.2.3.ebuild b/dev-java/bnd/bnd-7.2.3.ebuild
index 24a3ca9bbfb9..90f9cdb705fd 100644
--- a/dev-java/bnd/bnd-7.2.3.ebuild
+++ b/dev-java/bnd/bnd-7.2.3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${P/_rc/.RC}"
LICENSE="Apache-2.0 EPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
CP_DEPEND="
~dev-java/bndlib-${PV}:0
diff --git a/dev-java/bndlib/bndlib-7.2.3.ebuild b/dev-java/bndlib/bndlib-7.2.3.ebuild
index 6238c830a8b6..aa7c98e33169 100644
--- a/dev-java/bndlib/bndlib-7.2.3.ebuild
+++ b/dev-java/bndlib/bndlib-7.2.3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/bnd-${PV/_rc/.RC}"
LICENSE="Apache-2.0 EPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ppc64"
CP_DEPEND="
~dev-java/bnd-annotation-${PV}:0
diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest
index 46fb3f4f5c49..929c4389d2ca 100644
--- a/dev-java/byte-buddy/Manifest
+++ b/dev-java/byte-buddy/Manifest
@@ -1 +1,2 @@
+DIST byte-buddy-1.18.10.tar.gz 2176379 BLAKE2B 7a406662e40d1081981cbc7ae9e461a5c67043c54442a6e9cf099c28bfc0817a44490f3d51f4412cb906633bacebfc7ae5acc3db56089979758808c80163bb4f SHA512 b1d17965a9a57eed847105d8cd350c5373a2eb2caf0ae0021cbaf556705c28741a7d796fcac6c561dc991bac248b2ff0408abeda0df68f0a9d72c222a517d336
DIST byte-buddy-1.18.4.tar.gz 2146007 BLAKE2B 070c968c047ee689b3415ff26bc7cf1b143127105edb23a2f33a7653c1c813579f1d1344a58e70db6d63bede43f5543255074e3abddabbb5abc6316fd6dc573e SHA512 2e63b5b4c1db702af63c44ac4bf92a2857d7300ae86ca01c09ffcb7aa12c6729a7d739ba675859b7806bc5f1d45d735fbed4a0de8807a8e699763a0972f2a9fd
diff --git a/dev-java/byte-buddy/byte-buddy-1.18.10.ebuild b/dev-java/byte-buddy/byte-buddy-1.18.10.ebuild
new file mode 100644
index 000000000000..f3b740bdf1a9
--- /dev/null
+++ b/dev-java/byte-buddy/byte-buddy-1.18.10.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM"
+HOMEPAGE="https://bytebuddy.net"
+SRC_URI="https://github.com/raphw/byte-buddy/archive/${P}.tar.gz"
+S="${WORKDIR}/byte-buddy-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+# Min java 11 because of module-info.
+DEPEND="
+ >=dev-java/asm-9.10.1:0
+ >=dev-java/asm-jdk-bridge-0.0.13:0
+ >=dev-java/findbugs-annotations-3.0.1:0
+ >=dev-java/jna-5.18.1:0
+ >=dev-java/jsr305-3.0.2-r1:0
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/mockito-2.28.2-r1:2
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="asm asm-jdk-bridge findbugs-annotations jna jsr305"
+JAVADOC_CLASSPATH="${JAVA_CLASSPATH_EXTRA}"
+JAVADOC_SRC_DIRS=( byte-buddy{,-agent}/src/main/java )
+
+src_prepare() {
+ java-pkg_clean ! -path "./byte-buddy-dep/src/test/*" # Keep test-classes
+ java-pkg-2_src_prepare
+
+ # instead of shading byte-buddy-dep we move it into byte-buddy.
+ mv byte-buddy{-dep,}/src/main/java || die "cannot move sources"
+}
+
+src_compile() {
+ einfo "Compiling byte-buddy-agent.jar"
+ JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy.agent"
+ JAVA_JAR_FILENAME="byte-buddy-agent.jar"
+ JAVA_MODULE_INFO_OUT="byte-buddy-agent/src/main"
+ JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources"
+ JAVA_SRC_DIR="byte-buddy-agent/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar"
+ rm -r target || die
+
+ einfo "Compiling byte-buddy.jar"
+ JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy"
+ JAVA_JAR_FILENAME="byte-buddy.jar"
+ JAVA_MODULE_INFO_OUT="byte-buddy/src/main"
+ JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default"
+ JAVA_RESOURCE_DIRS=()
+ JAVA_SRC_DIR="byte-buddy/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar"
+ rm -r target || die
+
+ use doc && ejavadoc
+}
+
+src_test() {
+ # instead of shading byte-buddy-dep we move it into byte-buddy.
+ mv byte-buddy{-dep,}/src/test || die "cannot move tests"
+
+ JAVAC_ARGS="-g"
+ JAVA_TEST_GENTOO_CLASSPATH="asm asm-jdk-bridge junit-4 mockito-2"
+
+ einfo "Testing byte-buddy-agent"
+ # https://github.com/raphw/byte-buddy/issues/1321#issuecomment-1252776459
+ JAVA_TEST_EXTRA_ARGS=( -Dnet.bytebuddy.test.jnapath="${EPREFIX}/usr/$(get_libdir)/jna/" )
+ JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing byte-buddy"
+ JAVA_TEST_RESOURCE_DIRS=( byte-buddy/src/test/{resources,precompiled*} )
+ JAVA_TEST_SRC_DIR="byte-buddy/src/test/java"
+
+ JAVA_TEST_EXCLUDES=(
+ # all tests in this class fail, https://bugs.gentoo.org/863386
+ net.bytebuddy.build.CachedReturnPluginTest
+ )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar "byte-buddy-agent.jar"
+ java-pkg-simple_src_install
+
+ if use source; then
+ java-pkg_dosrc "byte-buddy-agent/src/main/java/*"
+ java-pkg_dosrc "byte-buddy/src/main/java/*"
+ fi
+}
diff --git a/dev-java/commons-csv/commons-csv-1.14.1-r1.ebuild b/dev-java/commons-csv/commons-csv-1.14.1-r2.ebuild
index 5ec721bb5e22..ace581adbd5b 100644
--- a/dev-java/commons-csv/commons-csv-1.14.1-r1.ebuild
+++ b/dev-java/commons-csv/commons-csv-1.14.1-r2.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=8
+EAPI=9
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="junit-jupiter"
-MAVEN_ID="org.apache.commons:commons-csv:1.14.1"
inherit java-pkg-2 java-pkg-simple junit5 verify-sig
@@ -40,6 +39,7 @@ DEPEND="
RDEPEND=">=virtual/jre-1.8:*"
DOCS=( LICENSE.txt NOTICE.txt RELEASE-NOTES.txt )
+PATCHES=( "${FILESDIR}"/commons-csv-1.14.1-skipFailingTest.patch )
JAVA_CLASSPATH_EXTRA="commons-codec commons-io findbugs-annotations"
JAVA_GENTOO_CLASSPATH_EXTRA=:"${DISTDIR}/h2-${H2V}.jar"
diff --git a/dev-java/commons-csv/files/commons-csv-1.14.1-skipFailingTest.patch b/dev-java/commons-csv/files/commons-csv-1.14.1-skipFailingTest.patch
new file mode 100644
index 000000000000..13c5617eb622
--- /dev/null
+++ b/dev-java/commons-csv/files/commons-csv-1.14.1-skipFailingTest.patch
@@ -0,0 +1,34 @@
+Bug #977391
+
+testPrintRecordsWithResultSetOneRow()
+ tags: []
+ uniqueId: [engine:junit-jupiter]/[class:org.apache.commons.csv.CSVPrinterTest]/[method:testPrintRecordsWithResultSetOneRow()]
+ parent: [engine:junit-jupiter]/[class:org.apache.commons.csv.CSVPrinterTest]
+ source: MethodSource [className = 'org.apache.commons.csv.CSVPrinterTest', methodName = 'testPrintRecordsWithResultSetOneRow', methodParameterTypes = '']
+
+WARNING: Delegated to the 'execute' command.
+ This behaviour has been deprecated and will be removed in a future release.
+ Please use the 'execute' command directly.
+ * ERROR: dev-java/commons-csv-1.14.1-r1::gentoo failed (test phase):
+ * ConsoleLauncher failed
+
+--- a/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
++++ b/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
+@@ -792,7 +792,7 @@ class CSVPrinterTest {
+ assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withDelimiter(CR));
+ }
+
+- @Test
++ @Test @Disabled
+ void testJdbcPrinter() throws IOException, ClassNotFoundException, SQLException {
+ final StringWriter sw = new StringWriter();
+ final CSVFormat csvFormat = CSVFormat.DEFAULT;
+@@ -1750,7 +1750,7 @@ class CSVPrinterTest {
+ assertEquals("\n\n\n\n\n\n", charArrayWriter.toString());
+ }
+
+- @Test
++ @Test @Disabled
+ void testPrintRecordsWithResultSetOneRow() throws IOException, SQLException {
+ try (CSVPrinter printer = CSVFormat.MYSQL.printer()) {
+ try (ResultSet resultSet = new SimpleResultSet()) {
diff --git a/dev-java/janino/Manifest b/dev-java/janino/Manifest
new file mode 100644
index 000000000000..77011c2b625a
--- /dev/null
+++ b/dev-java/janino/Manifest
@@ -0,0 +1 @@
+DIST janino-3.1.12.tar.gz 1764061 BLAKE2B 8ba3ceaa29ed2df09bf3d5baad12eb05d240f3776e1a7e01709d4f068b7372d866b654181889818d4dadc79fd2688ca8435c347463817b0a561a3870276a597c SHA512 d532f717154ea8a5e345d852087491cd244a3859c73d6fddcd741ec58f6a6867bd8d3afce03925f3893af681914ebb4a3b29abaf48fa7f7eb52160ab8ba39bb5
diff --git a/dev-java/janino/janino-3.1.12.ebuild b/dev-java/janino/janino-3.1.12.ebuild
new file mode 100644
index 000000000000..cef60106441f
--- /dev/null
+++ b/dev-java/janino/janino-3.1.12.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="An embedded compiler for run-time compilation purposes"
+HOMEPAGE="https://janino-compiler.github.io/janino/"
+SRC_URI="https://github.com/janino-compiler/janino/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/janino"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ >=dev-java/ant-1.10.15-r1:0
+ test? (
+ dev-java/jdisasm:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVADOC_SRC_DIRS=( {../commons-compiler/,}src/main/java )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean
+}
+
+src_compile() {
+ JAVA_JAR_FILENAME="commons-compiler.jar"
+ JAVA_SRC_DIR="../commons-compiler/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":commons-compiler.jar"
+ rm -r target || die
+
+ JAVA_CLASSPATH_EXTRA="ant"
+ JAVA_JAR_FILENAME="janino.jar"
+ JAVA_RESOURCE_DIRS="src/main/resources"
+ JAVA_SRC_DIR="src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":janino.jar"
+ rm -r target || die
+
+ JAVADOC_CLASSPATH="${JAVA_CLASSPATH_EXTRA}"
+ use doc && ejavadoc
+}
+
+src_test() {
+ einfo "Testing commons-compiler"
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+ JAVA_TEST_RESOURCE_DIRS="../commons-compiler/src/test/resources"
+ JAVA_TEST_SRC_DIR="../commons-compiler/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing janino"
+ JAVA_TEST_GENTOO_CLASSPATH="jdisasm,junit-4"
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar commons-compiler.jar
+ java-pkg-simple_src_install
+
+ if use source; then
+ java-pkg_dosrc "../commons-compiler/src/main/java/*"
+ java-pkg_dosrc "src/main/java/*"
+ fi
+}
diff --git a/dev-java/janino/metadata.xml b/dev-java/janino/metadata.xml
new file mode 100644
index 000000000000..648e2c30ecd7
--- /dev/null
+++ b/dev-java/janino/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <longdescription>
+ The "JANINO" implementation of the "commons-compiler" API: Super-small, super-fast, independent from the JDK's "tools.jar".
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-java/jcommander/files/jcommander-1.83-skipFailingTest.patch b/dev-java/jcommander/files/jcommander-1.83-skipFailingTest.patch
deleted file mode 100644
index de783296491c..000000000000
--- a/dev-java/jcommander/files/jcommander-1.83-skipFailingTest.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-FAILED: com.beust.jcommander.JCommanderTest.atFileCanContainNameAndValueInSameLine
-com.beust.jcommander.ParameterException: The following option is required: [-log | -verbose]
- at com.beust.jcommander.JCommander.validateOptions(JCommander.java:395)
-
---- a/src/test/java/com/beust/jcommander/JCommanderTest.java
-+++ b/src/test/java/com/beust/jcommander/JCommanderTest.java
-@@ -570,7 +570,7 @@ public class JCommanderTest {
- Assert.assertEquals(ArgMultiNameValidator.MultiNameValidator.parsedName, paramName);
- }
-
-- @Test
-+ @Test(enabled = false)
- public void atFileCanContainNameAndValueInSameLine() throws IOException {
- File f = File.createTempFile("JCommander", null);
- f.deleteOnExit();
diff --git a/dev-java/jcommander/jcommander-1.83.ebuild b/dev-java/jcommander/jcommander-1.83-r1.ebuild
index cb0d4634360a..10103e71eaf3 100644
--- a/dev-java/jcommander/jcommander-1.83.ebuild
+++ b/dev-java/jcommander/jcommander-1.83-r1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=8
+EAPI=9
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="testng"
@@ -22,13 +22,12 @@ DEPEND="
test? (
>=dev-java/jackson-annotations-2.20:0
>=dev-java/jackson-core-2.20.0:0
+ >=dev-java/slf4j-simple-2.0.3:0
>=dev-java/testng-7.11.0:0
)
"
RDEPEND=">=virtual/jre-1.8:* "
-PATCHES=( "${FILESDIR}/jcommander-1.83-skipFailingTest.patch" )
-
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="jackson-annotations jackson-core slf4j-simple testng"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
@@ -36,7 +35,6 @@ JAVA_TEST_RUN_ONLY="src/test/resources/testng.xml"
JAVA_TEST_SRC_DIR="src/test/java"
src_prepare() {
-# default #bug #780585
java-pkg-2_src_prepare
java-pkg_clean
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.11.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.11.ebuild
index eb28e8aab2fe..80f61f61378b 100644
--- a/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.11.ebuild
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.11.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/pgjdbc-REL${PV}/pgjdbc"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
# Tests need a running sql server, otherwise would fail:
# "org.postgresql.util.PSQLException: Connection to localhost:5432 refused.
diff --git a/dev-java/jna/files/jna-5.18.1-native-fix-parallel-build-issue.patch b/dev-java/jna/files/jna-5.18.1-native-fix-parallel-build-issue.patch
new file mode 100644
index 000000000000..2eb24b344ab9
--- /dev/null
+++ b/dev-java/jna/files/jna-5.18.1-native-fix-parallel-build-issue.patch
@@ -0,0 +1,34 @@
+https://github.com/java-native-access/jna/pull/1729
+
+From 3fe4cb5fdc035e14d19d85b19a27711d1eebc356 Mon Sep 17 00:00:00 2001
+Message-ID: <3fe4cb5fdc035e14d19d85b19a27711d1eebc356.1780940871.git.sam@gentoo.org>
+From: Sam James <sam@gentoo.org>
+Date: Mon, 8 Jun 2026 18:30:25 +0100
+Subject: [PATCH] native: fix parallel build issue
+
+This can be reproduced with `make --shuffle=3224289900`. The $(TESTLIB2)
+target needs libtestlib.* as it uses $(TESTDEP) in the rule, but it doesn't
+depend on that library actually being built yet. Fix that.
+
+Bug: https://bugs.gentoo.org/963877
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ native/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/native/Makefile b/native/Makefile
+index 4bce56b60..cc01b259d 100644
+--- a/native/Makefile
++++ b/native/Makefile
+@@ -509,7 +509,7 @@ TESTDEP=$(TESTLIB:.dll=.lib)
+ else
+ TESTDEP=$(TESTLIB)
+ endif
+-$(TESTLIB2): $(BUILD)/testlib2.o
++$(TESTLIB2): $(BUILD)/testlib2.o $(TESTDEP)
+ $(LD) $(LDFLAGS) $< $(TESTDEP) $(LIBS)
+
+ ifneq ($(DYNAMIC_LIBFFI),true)
+--
+2.54.0
+
diff --git a/dev-java/jna/jna-5.18.1.ebuild b/dev-java/jna/jna-5.18.1.ebuild
index ad62e352bf80..bf904a5da08e 100644
--- a/dev-java/jna/jna-5.18.1.ebuild
+++ b/dev-java/jna/jna-5.18.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -47,6 +47,7 @@ PATCHES=(
"${FILESDIR}/jna-5.11.0-no-Werror.patch"
"${FILESDIR}/jna-5.13.0-testpath.patch"
"${FILESDIR}/jna-5.13.0-LibCTest.patch"
+ "${FILESDIR}/jna-5.18.1-native-fix-parallel-build-issue.patch"
)
src_prepare() {
diff --git a/dev-java/jol-core/jol-core-0.17.ebuild b/dev-java/jol-core/jol-core-0.17-r1.ebuild
index edab5523dbe9..bd33195bd36f 100644
--- a/dev-java/jol-core/jol-core-0.17.ebuild
+++ b/dev-java/jol-core/jol-core-0.17-r1.ebuild
@@ -1,10 +1,9 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=8
+EAPI=9
JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.openjdk.jol:jol-core:0.17"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
@@ -21,8 +20,9 @@ LICENSE="GPL-2-with-classpath-exception"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64"
+# Max. jdk 21, bug #977449
DEPEND="
- >=virtual/jdk-1.8:*
+ <virtual/jdk-25:*
test? (
dev-java/asm:0
)
@@ -32,5 +32,6 @@ RDEPEND=">=virtual/jre-1.8:*"
JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
JAVA_SRC_DIR="${PN}/src/main/java"
+JAVA_TEST_EXTRA_ARGS=( -Djdk.attach.allowAttachSelf )
JAVA_TEST_GENTOO_CLASSPATH="junit-4,asm"
JAVA_TEST_SRC_DIR="${PN}/src/test/java"
diff --git a/dev-java/libg/libg-7.2.3.ebuild b/dev-java/libg/libg-7.2.3.ebuild
index 2c71a9e33fb2..0db8c2667f88 100644
--- a/dev-java/libg/libg-7.2.3.ebuild
+++ b/dev-java/libg/libg-7.2.3.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}/bnd-${PV/_rc/.RC}"
LICENSE="Apache-2.0 EPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ppc64"
CP_DEPEND="
dev-java/osgi-cmpn:8
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
index 4bdb8fbc02d8..f9aad4b5c3e0 100644
--- a/dev-java/openjdk-bin/Manifest
+++ b/dev-java/openjdk-bin/Manifest
@@ -30,12 +30,6 @@ DIST OpenJDK25U-jdk_ppc64le_linux_hotspot_25.0.3_9.tar.gz 140229499 BLAKE2B a1cf
DIST OpenJDK25U-jdk_riscv64_linux_hotspot_25.0.3_9.tar.gz 139788864 BLAKE2B 3863afd79ebea69582550b375d16e5cdf95f0c50a067507b6ea6464c65ce3520fd18bc70f326fb681aef5239c673979f5ee1affb5e9b49c89c2119a156d17500 SHA512 7392e86290a226d6e4d1e0c955250013f963222c91f3a0f24843c344dbf97cb1c026033506e9da403a9936bd07452ed47d218447c77d246d8c464090823e24d6
DIST OpenJDK25U-jdk_x64_alpine-linux_hotspot_25.0.3_9.tar.gz 140306399 BLAKE2B 1e84e50ff71d75fb90a9a5707a567973e3e457ab44e742e980be0da1b311a76f3d1a45c2706ed801b61c2260b5686a5e5132a0d9f7461361bd3815b57959b3b3 SHA512 58250c2f128740887767cbdab564d886f33071bd38c017e50be101b06fb9bbd8c3fd106bb727a86ce329315d84eca9220da8653990e2d164c2e653298dff1f85
DIST OpenJDK25U-jdk_x64_linux_hotspot_25.0.3_9.tar.gz 141282180 BLAKE2B 556ac2d66d59548a966d351942e1d7a97db4610738078f0f3a4904951d774a3f7a0067cd5b739882a6e4f83448155423ac1105932f88ca8685d951334f2403a7 SHA512 b40b97de14d0df0eece463388a605cf572d5e0e10a839d3bf2f85658ace607a66365681f19e22486c72662e3343c71cf0ccbbb570730c321dff12b0c24c0bbae
-DIST OpenJDK26u-jdk_aarch64_alpine-linux_hotspot_26.0.1_8.tar.gz 142373651 BLAKE2B fe789ed8b876ad45cedab546a7e22af1fa15b489767c346a5f149723b0b2e35e51ff67feb689c4adf72dcfd953d74aa5f03b488e47e2b0cc7e8f9a448d343f4f SHA512 4382891c5e4baa8ae3e2e8be48462ffac395271a64ee080a359d4828dbd645c8f6633569de4d56410e1ca06a2e50138adc029f6aee8e2da3310211e209e9ff33
-DIST OpenJDK26u-jdk_aarch64_linux_hotspot_26.0.1_8.tar.gz 143282698 BLAKE2B a7fa479847b281160a1e37e04b7659dd062c8cf4c70217438adc45204eafe5e7acde46796965b6c0572cd45e9b31219e4dcefe798df4b5a5d3e797741f07bd29 SHA512 3c31671552712a8f0df96df2eeae7e9ad5156c0e98ebd5bf4fa04c14bba58bd5e19ff567ddcdc7aa478f6f4b0a852762a09bd88d3132acb121e667cfe0397034
-DIST OpenJDK26u-jdk_ppc64le_linux_hotspot_26.0.1_8.tar.gz 143389467 BLAKE2B abcef2e98d216eeee8cd8f2c4d9c296b9050c88f92545e4ec039fdaab400c14cf17d703056a599776b6e2c60a3a93ada7131ec1d176ac644dc6dfb67110f59b6 SHA512 07a4b518a89338bd6f7b770fb99fc34077b9fb20e5e349aaa81909b51f76e6b60c5b026da7fc654e9279519afb4c057ba00e1b771a685ae4ec62638dd095e1da
-DIST OpenJDK26u-jdk_riscv64_linux_hotspot_26.0.1_8.tar.gz 143026418 BLAKE2B f773a291988f288ea78219da55fbaf2f3b56793083fde716f25a4ee1ffc5d8b5bdf5c58cba5e27e470f256a6fb783b141096e4cbc1e13c6f6e0bb34dfcf9d006 SHA512 27c4c1d5d4096fce0b0132fefb84650a93c24961b3370ac8c88a5f98e8260a39b4a9381698ddbd58f32c81abff3b0e33737ceb6163f00e4a89bee9a07b82b7ed
-DIST OpenJDK26u-jdk_x64_alpine-linux_hotspot_26.0.1_8.tar.gz 143591885 BLAKE2B 06a450765be9067fef3e52862a8abfb661f64f1aa66a7016b078d00e0f2c8e0b1bcae5849516cc3d07e485dae2af338985a6eda967525142875eab5bae568975 SHA512 8a1c2b0566b5e46315462b81c91fea0bf22404e9be3e7575a6a5c5ef914217c478c3d9efbb88ae3f2e98527f006713627c02dd0cfb95ec0dfc2634af87e46d13
-DIST OpenJDK26u-jdk_x64_linux_hotspot_26.0.1_8.tar.gz 144401439 BLAKE2B 7c81d4707798105805782f5a5a328d294f72df75e251c51407d03a4a084c528570ff3a692acd56c171b267173f5c33831fcbf249f5c6acc54a8132991cd1bc39 SHA512 eb46cda97ffd46e2e0c1f6f977dc204d9cc969b958946287b7e7d0bfe859fd92faccb2f6ef79995421a963c6de140c436af559403e0a2cd27c90b06c20260d5c
DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u492b09.tar.gz 102612987 BLAKE2B d41cbed6e0b510d7a10b91f4692a066f842e1466c37aa483f249bf81988dc1867891e7f29d5d60ce26c9d14545c9a4239acf2c663cb39760fc6e7235615ff55f SHA512 c21451bc1a40b9c4793e3572e853aa543594a70060b4d31255bb338e6cb0829820e7494dcaf13af11dee3ad83fdc9e8a7b69793adcbf0c012b2de0d9a5879f84
DIST OpenJDK8U-jdk_arm_linux_hotspot_8u492b09.tar.gz 98802187 BLAKE2B cfcf92834732da088110fd49cef8f5e7965b8fe3dacd21b740f7708e5f5b218e36754b32a02474bbd44f0e7555535a0d9f4ce255dda4870954db2a320e4958c0 SHA512 f7e2dbb2c99adc7746706d6ce293889686925bfc993ae8273efca12f054a0f377b70e68dbe9935fa644bcad099f207b5fbcd43fe06b9b6bb0c085f487f532326
DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u492b09.tar.gz 101066998 BLAKE2B 556083ee1b33dc1b06b78fc940a66ee8a544ae35f28f6c4e5f97d915cf11994317f810cbf3ad4fd7c7f307afcf7d68d8f5c71007f325ec7e8ae5eccd03ae42a4 SHA512 27794a939fdc3459574f0b57c616972eda06391fb996076a931d19bc3237a0e2176b9e12bfba4dcc52f8033542cd081850059e712cac3e07235ee1f4066c7ee1
diff --git a/dev-java/openjdk-bin/openjdk-bin-26.0.1_p8.ebuild b/dev-java/openjdk-bin/openjdk-bin-26.0.1_p8.ebuild
deleted file mode 100644
index 667f60d76503..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-26.0.1_p8.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin$(ver_cut 1)-binaries/releases/download/jdk-${PVB}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${JDK_REPO}-jdk_${1}_${os}_hotspot_${PVH}.tar.gz
- ${musl:+ ) } )"
-}
-
-# In "early access" versions, SRC_URI is different from released versions
-# and contains strings like 'jdk-25+36-ea-beta' and '_25_36-ea.tar.gz'
-# According to file naming rules, the ebuilds are named like
-# 'openjdk-bin-26_alpha20.ebuild' or 'openjdk-bin-25_beta36.ebuild'.
-if [[ "${PV%_alpha*}" != "${PV}" ]]; then # version string contains "_alpha"
- MY_PV="${PV/_alpha/+}"
- JDK_REPO=""
- PVB="${PV/_alpha/+}-ea-beta"
- PVH="${PV/_alpha/_}-ea"
-elif [[ "${PV%_beta*}" != "${PV}" ]]; then # version string contains "_beta"
- MY_PV="${PV/_beta/+}"
- JDK_REPO="$(ver_cut 1)U"
- PVB="${PV/_beta/+}-ea-beta"
- PVH="${PV/_beta/_}-ea"
-else
- MY_PV="${PV/_p/+}"
- JDK_REPO="$(ver_cut 1)u"
- PVB="${MY_PV}"
- PVH="${MY_PV//+/_}"
-fi
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri aarch64 arm64 musl)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 amd64 musl)
- $(abi_uri riscv64 riscv)
-"
-S="${WORKDIR}/jdk-${MY_PV}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT=$(ver_cut 1)
-# KEYWORDS="" # Not an LTS candidate
-IUSE="alsa cups headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- virtual/zlib:=
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- # do not die if not available, -f for bug #934974
- rm -fv lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 9cdc84c78f52..7a0063a99938 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -3,8 +3,9 @@ DIST openjdk-11.0.31_p11.tar.gz 116714248 BLAKE2B 67e4dd3e3383a67c82e41d6ab66f41
DIST openjdk-17.0.19_p10.tar.gz 108200542 BLAKE2B 4a556fa52abc25457a8dab8d17002d2b60bef568bdab6052e91164c67097e4b25d65211024c15317f33cbe45474bfc84e75e64735b1d0f349c917a06dd5e9a5a SHA512 fb37c130bccaf1de37640a0cb0f74b8114c7c8756d28767972b57dedd6b2d86b9da71db57903659497a5e2f2a44b3eea634e551c75ba93a5ec896df1c637a463
DIST openjdk-21.0.11_p10.tar.gz 114063372 BLAKE2B 3c5542b2169c6aa9c597a0a20ae879ab4890e7e39466d01c639e05653e90aa8198378f6fe6d9daa6d9ad7237f09cdd2320db517b83d4886f292c25d15c1dba4e SHA512 a2283a4bb07018d89b45b8dfabb34b058a3279f3cc96cddbd17c351df3e137ada401d2940d55f59f75bc5483c645415542a3af01658fbc82754e5f454055956a
DIST openjdk-25.0.3_p9.tar.gz 119542671 BLAKE2B 51d04064ceb052cc09133f4f406ed04fe5d0bb72ada943ec663c9e6405dd6a5ac41e9edd2a5e7079282de717b62db437c41c75dd959ddfdb57852cec6f0f7f34 SHA512 3784667a41df9faf8e9da96a6f83f03372fb362a3c1878a4d368816996c20b2efddc3154ba42ab6e0b180b981f1202debcb93ef67117d96dcdfa1b8dd51f8709
-DIST openjdk-26.0.1_p8.tar.gz 121616225 BLAKE2B 6731182c3c69e86702164704986a97003ba7fb568014306786c18a93c579d08151bcce5161aa35ae1dcedd47743db76494ebac73ade123fda89723700973e5d3 SHA512 4fe9306c0d8cd50abbfe2c0d03f9907fb42a1d7182e6047f6c7b39f3238b6939897788c46d36748298022884e29538213555b8622a846d20e73096fccd15c9a6
-DIST openjdk-27_alpha21.tar.gz 121763152 BLAKE2B 361f8a3b228812800769b84e3b4403165b40495364751eb48ad6a4ac6b71ab3f0ce9b939f0f253aab111df455042fd0f8a071b917ddf349f734b16df333c644f SHA512 49a1cef341ef9466b0de41bebf720a5443d911cde636b87f779f6257beb19921d683645e8c01449c6ca83f33789dd1994bb9fa6890f8ceb99649fff098a21c66
+DIST openjdk-25.0.4_beta4.tar.gz 119641816 BLAKE2B b6f49ea719fb4d03022d92657b0673df148aad571e46ac04d366d95fc66e1864dbdbd1eacb0875d42adad94f574252a083f58c9758051f6976c7113586191029 SHA512 dc6977d34c0969db3c7109ba3f9805de54d5469044f3192b338e75eb93a02e0484933ec192b4f081213c65892662a7ad8786fce98b74f7edadd93416cbcf27ff
+DIST openjdk-27_beta25.tar.gz 121465724 BLAKE2B 2b23b479c018e5fd55ae6ecc647ec414f7a68d628a5692023f8d31af4e2b55f1638917b41306a659520e972f2da3beeb0a68a58b86d3e1d32fe744a8ab58b9b5 SHA512 851736d2ae1ff27ed58785c33c7186dfffa0815d9b53e9e7a3ccaaf79399c8bdb2b000121242e49b7f1659f2c0abbce08beffd31f4c3b083b12de2ed1e7759ec
+DIST openjdk-28_alpha1.tar.gz 121479328 BLAKE2B c33de56f5fdd8cc7eaf758a54a23fe30fd00d8aa209fe61ab2e8f5ffa1a17acd4a16d649b18bdeaca4658245db9d75217a4a331072c2f43b6e3690a8126c4a47 SHA512 8f080d65a7260d746561574f130a51caf1182b4809802047841aa264fb850847d8cf65fe9eda6777c9d303ed3c6d7e827f42d93b4d671e514cf8b2e5544df8c5
DIST openjdk-8.492_p09.tar.gz 93934156 BLAKE2B 7b0236327d911139b4d8995c3807f115c8ea2ce2807c7026413d6eebe4bf86575868ceb727af754ca19bfaa84e7d9c82453ca2a0c7c80d367ceedf393d02d94d SHA512 9abde3b53581e41cc47d9a70a768be02aeb4942e03e9a3797f034188f4d99cdc7475305583ec72176011ac8b02a9a2e879df15977ae6a0c8b691409acb8a4e51
DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e
DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f
diff --git a/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild b/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild
index 5b0d561d0383..9d63cfdd5b0e 100644
--- a/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild
+++ b/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild
@@ -53,12 +53,11 @@ S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
LICENSE="GPL-2-with-classpath-exception"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs system-bootstrap systemtap"
+IUSE="alsa big-endian cups debug doc examples headless-awt +jbootstrap selinux source static-libs system-bootstrap systemtap"
REQUIRED_USE="
- javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
"
@@ -105,7 +104,6 @@ DEPEND="
x11-libs/libXrender
x11-libs/libXt
x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
system-bootstrap? (
|| (
dev-java/openjdk-bin:${SLOT}
@@ -239,15 +237,6 @@ src_configure() {
$(tc-is-clang && echo "--with-toolchain-type=clang")
)
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
# Workaround for bug #938302
if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
diff --git a/dev-java/openjdk/openjdk-17.0.19_p10.ebuild b/dev-java/openjdk/openjdk-17.0.19_p10.ebuild
deleted file mode 100644
index edb63f1b2484..000000000000
--- a/dev-java/openjdk/openjdk-17.0.19_p10.ebuild
+++ /dev/null
@@ -1,334 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
- [[ ${cond} == elibc_musl* ]] && local musl=yes
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV%_p*}-ga"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk17u/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- $(bootstrap_uri riscv ${RISCV_XPAK})
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}/openjdk-17.0.16_p8-lto-memory.patch"
-)
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-}
-
-src_prepare() {
- default
- chmod +x configure || die
-}
-
-src_configure() {
- local myconf=()
-
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif use !system-bootstrap ; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- else
- JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- fi
-
- # Work around stack alignment issue, bug #647954. in case we ever have x86
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- myconf+=(
- --disable-ccache
- --disable-precompiled-headers
- --disable-warnings-as-errors
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-jvm-feature-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- # Too brittle - gets confused by e.g. -Oline
- export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
- unset GNUMAKEFLAGS MAKEFLAGS
-
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild b/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild
index 50146be7ca7f..e6fce2cdf5ab 100644
--- a/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild
+++ b/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild
@@ -49,12 +49,11 @@ S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
LICENSE="GPL-2-with-classpath-exception"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ppc64 ~riscv ~x86"
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs +system-bootstrap systemtap"
+IUSE="alsa big-endian cups debug doc examples headless-awt +jbootstrap selinux source static-libs +system-bootstrap systemtap"
REQUIRED_USE="
- javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
!system-bootstrap? ( || ( ppc64 x86 ) )
"
@@ -102,7 +101,6 @@ DEPEND="
x11-libs/libXrender
x11-libs/libXt
x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
system-bootstrap? (
|| (
dev-java/openjdk-bin:${SLOT}
@@ -238,15 +236,6 @@ src_configure() {
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
# Workaround for bug #938302
if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
diff --git a/dev-java/openjdk/openjdk-21.0.11_p10.ebuild b/dev-java/openjdk/openjdk-21.0.11_p10.ebuild
deleted file mode 100644
index fdc9966fa96b..000000000000
--- a/dev-java/openjdk/openjdk-21.0.11_p10.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball
-X86_XPAK="21.0.0_p35"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
- [[ ${cond} == elibc_musl* ]] && local musl=yes
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV%_p*}-ga"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk21u/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source +system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
- !system-bootstrap? ( || ( ppc64 x86 ) )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-}
-
-src_prepare() {
- default
- chmod +x configure || die
-}
-
-src_configure() {
- local myconf=()
-
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif use !system-bootstrap ; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- else
- JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- fi
-
- # Work around stack alignment issue, bug #647954. in case we ever have x86
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- myconf+=(
- --disable-ccache
- --disable-precompiled-headers
- --disable-warnings-as-errors
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-stdc++lib=dynamic
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-jvm-feature-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- # Too brittle - gets confused by e.g. -Oline
- export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
- unset GNUMAKEFLAGS MAKEFLAGS
-
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild b/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild
index f2b8c29669c9..d7d9ca27012a 100644
--- a/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild
+++ b/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild
@@ -71,12 +71,11 @@ S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
LICENSE="GPL-2-with-classpath-exception"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+KEYWORDS="amd64 arm64 ppc64 ~riscv"
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs +system-bootstrap systemtap"
+IUSE="alsa big-endian cups debug doc examples headless-awt +jbootstrap selinux source static-libs +system-bootstrap systemtap"
REQUIRED_USE="
- javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
!system-bootstrap? ( ppc64 )
"
@@ -124,7 +123,6 @@ DEPEND="
x11-libs/libXrender
x11-libs/libXt
x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
system-bootstrap? (
|| (
dev-java/openjdk-bin:${SLOT}
@@ -257,15 +255,6 @@ src_configure() {
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
# Workaround for bug #938302
if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
@@ -293,6 +282,9 @@ src_compile() {
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ # Respect user -O<value>, bug #969169
+ OPTIMIZATION=
+ JVM_OPTIMIZATION=
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
diff --git a/dev-java/openjdk/openjdk-25.0.3_p9.ebuild b/dev-java/openjdk/openjdk-25.0.4_beta4.ebuild
index 147c1c7806b5..b15d5f744b35 100644
--- a/dev-java/openjdk/openjdk-25.0.3_p9.ebuild
+++ b/dev-java/openjdk/openjdk-25.0.4_beta4.ebuild
@@ -6,7 +6,7 @@ EAPI=8
# Avoid circular dependency
JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+inherit check-reqs dot-a flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
# variable name format: <UPPERCASE_KEYWORD>_XPAK
PPC64_XPAK="25_p36" # big-endian bootstrap tarball
@@ -71,12 +71,11 @@ S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
LICENSE="GPL-2-with-classpath-exception"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source +system-bootstrap systemtap"
+IUSE="alsa big-endian cups debug doc examples headless-awt +jbootstrap selinux source static-libs +system-bootstrap systemtap"
REQUIRED_USE="
- javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
!system-bootstrap? ( ppc64 )
"
@@ -88,15 +87,6 @@ COMMON_DEPEND="
media-libs/libpng:0=
media-libs/lcms:2=
virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
!headless-awt? (
x11-libs/libX11
x11-libs/libXext
@@ -106,6 +96,15 @@ RDEPEND="
x11-libs/libXt
x11-libs/libXtst
)
+ media-libs/libjpeg-turbo:0=
+ systemtap? ( dev-debug/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
alsa? ( media-libs/alsa-lib )
cups? ( net-print/cups )
selinux? ( sec-policy/selinux-java )
@@ -116,15 +115,7 @@ DEPEND="
app-arch/zip
media-libs/alsa-lib
net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
+ !headless-awt? ( x11-base/xorg-proto )
system-bootstrap? (
|| (
dev-java/openjdk-bin:${SLOT}
@@ -216,6 +207,10 @@ src_configure() {
filter-lto
filter-flags -fdevirtualize-at-ltrans
+ if use static-libs ; then
+ lto-guarantee-fat
+ fi
+
# Enabling full docs appears to break doc building. If not
# explicitly disabled, the flag will get auto-enabled if pandoc and
# graphviz are detected. pandoc has loads of dependencies anyway.
@@ -253,15 +248,6 @@ src_configure() {
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
# Workaround for bug #938302
if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
@@ -289,9 +275,13 @@ src_compile() {
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ # Respect user -O<value>, bug #969169
+ OPTIMIZATION=
+ JVM_OPTIMIZATION=
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
+ $(usev static-libs static-libs-image)
)
emake "${myemakeargs[@]}" -j1
}
@@ -345,6 +335,12 @@ src_install() {
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
fi
+
+ if use static-libs ; then
+ cd "${S}"/build/*-release/images/static-libs || die
+ cp -pPR * "${ddest}" || die
+ strip-lto-bytecode "${ddest}" || die
+ fi
}
pkg_postinst() {
diff --git a/dev-java/openjdk/openjdk-27_alpha21.ebuild b/dev-java/openjdk/openjdk-27_beta25.ebuild
index 428cd865af60..f54182ad880d 100644
--- a/dev-java/openjdk/openjdk-27_alpha21.ebuild
+++ b/dev-java/openjdk/openjdk-27_beta25.ebuild
@@ -73,10 +73,9 @@ LICENSE="GPL-2-with-classpath-exception"
SLOT="$(ver_cut 1)"
# KEYWORDS="" # Not an LTS candidate
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs +system-bootstrap systemtap"
+IUSE="alsa big-endian cups debug doc examples headless-awt +jbootstrap selinux source static-libs +system-bootstrap systemtap"
REQUIRED_USE="
- javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
!system-bootstrap? ( ppc64 )
"
@@ -117,7 +116,6 @@ DEPEND="
media-libs/alsa-lib
net-print/cups
!headless-awt? ( x11-base/xorg-proto )
- javafx? ( dev-java/openjfx:${SLOT}= )
system-bootstrap? (
|| (
dev-java/openjdk:26
@@ -153,7 +151,7 @@ pkg_setup() {
[[ ${MERGE_TYPE} == "binary" ]] && return
- JAVA_PKG_WANT_BUILD_VM="openjdk-25 openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
JAVA_PKG_WANT_SOURCE="${SLOT}"
JAVA_PKG_WANT_TARGET="${SLOT}"
@@ -253,15 +251,6 @@ src_configure() {
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
# Workaround for bug #938302
if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
@@ -289,6 +278,9 @@ src_compile() {
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ # Respect user -O<value>, bug #969169
+ OPTIMIZATION=
+ JVM_OPTIMIZATION=
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
diff --git a/dev-java/openjdk/openjdk-26.0.1_p8.ebuild b/dev-java/openjdk/openjdk-28_alpha1.ebuild
index 99fe99701351..d256e90fc4dd 100644
--- a/dev-java/openjdk/openjdk-26.0.1_p8.ebuild
+++ b/dev-java/openjdk/openjdk-28_alpha1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
# Avoid circular dependency
JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+inherit check-reqs dot-a flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
# variable name format: <UPPERCASE_KEYWORD>_XPAK
PPC64_XPAK="25_p36" # big-endian bootstrap tarball
@@ -73,10 +73,9 @@ LICENSE="GPL-2-with-classpath-exception"
SLOT="$(ver_cut 1)"
# KEYWORDS="" # Not an LTS candidate
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source +system-bootstrap systemtap"
+IUSE="alsa big-endian cups debug doc examples headless-awt +jbootstrap selinux source static-libs +system-bootstrap systemtap"
REQUIRED_USE="
- javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
!system-bootstrap? ( ppc64 )
"
@@ -88,15 +87,6 @@ COMMON_DEPEND="
media-libs/libpng:0=
media-libs/lcms:2=
virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
!headless-awt? (
x11-libs/libX11
x11-libs/libXext
@@ -106,6 +96,15 @@ RDEPEND="
x11-libs/libXt
x11-libs/libXtst
)
+ media-libs/libjpeg-turbo:0=
+ systemtap? ( dev-debug/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
alsa? ( media-libs/alsa-lib )
cups? ( net-print/cups )
selinux? ( sec-policy/selinux-java )
@@ -116,18 +115,10 @@ DEPEND="
app-arch/zip
media-libs/alsa-lib
net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
+ !headless-awt? ( x11-base/xorg-proto )
system-bootstrap? (
|| (
- dev-java/openjdk:25
+ dev-java/openjdk:27
dev-java/openjdk-bin:${SLOT}
dev-java/openjdk:${SLOT}
)
@@ -160,7 +151,7 @@ pkg_setup() {
[[ ${MERGE_TYPE} == "binary" ]] && return
- JAVA_PKG_WANT_BUILD_VM="openjdk-25 openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_BUILD_VM="openjdk-27 openjdk-${SLOT} openjdk-bin-${SLOT}"
JAVA_PKG_WANT_SOURCE="${SLOT}"
JAVA_PKG_WANT_TARGET="${SLOT}"
@@ -191,8 +182,8 @@ src_configure() {
if has_version dev-java/openjdk:${SLOT}; then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif has_version dev-java/openjdk:25; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-25
+ elif has_version dev-java/openjdk:26; then
+ export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-26
elif use !system-bootstrap ; then
local xpakvar="${ARCH^^}_XPAK"
export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
@@ -219,6 +210,10 @@ src_configure() {
filter-lto
filter-flags -fdevirtualize-at-ltrans
+ if use static-libs ; then
+ lto-guarantee-fat
+ fi
+
# Enabling full docs appears to break doc building. If not
# explicitly disabled, the flag will get auto-enabled if pandoc and
# graphviz are detected. pandoc has loads of dependencies anyway.
@@ -256,15 +251,6 @@ src_configure() {
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
# Workaround for bug #938302
if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
@@ -292,9 +278,13 @@ src_compile() {
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ # Respect user -O<value>, bug #969169
+ OPTIMIZATION=
+ JVM_OPTIMIZATION=
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
+ $(usev static-libs static-libs-image)
)
emake "${myemakeargs[@]}" -j1
}
@@ -348,6 +338,12 @@ src_install() {
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
fi
+
+ if use static-libs ; then
+ cd "${S}"/build/*-release/images/static-libs || die
+ cp -pPR * "${ddest}" || die
+ strip-lto-bytecode "${ddest}" || die
+ fi
}
pkg_postinst() {
diff --git a/dev-java/qdox/qdox-2.2.0-r1.ebuild b/dev-java/qdox/qdox-2.2.0-r2.ebuild
index ba77c373d2bf..06a0932fb973 100644
--- a/dev-java/qdox/qdox-2.2.0-r1.ebuild
+++ b/dev-java/qdox/qdox-2.2.0-r2.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=8
+EAPI=9
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="junit-jupiter"
-MAVEN_ID="com.thoughtworks.qdox:qdox:${PV}"
inherit java-pkg-2 java-pkg-simple junit5
@@ -24,7 +23,7 @@ DEPEND="
>=dev-java/javacup-11b_p20160615-r2:0
|| ( virtual/jdk:25 virtual/jdk:21 virtual/jdk:17 virtual/jdk:11 )
test? (
- >=dev-java/asm-9.8-r1:=
+ >=dev-java/asm-9.8-r1:0
>=dev-java/assertj-core-3.27.6:0
>=dev-java/mockito-5.20.0:0
)
diff --git a/dev-java/wsdl4j/wsdl4j-1.6.3-r1.ebuild b/dev-java/wsdl4j/wsdl4j-1.6.3-r1.ebuild
index 3df4b7259017..86c2a4afae1c 100644
--- a/dev-java/wsdl4j/wsdl4j-1.6.3-r1.ebuild
+++ b/dev-java/wsdl4j/wsdl4j-1.6.3-r1.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${P//./_}"
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 arm64 ppc64"
BDEPEND="app-arch/unzip"
DEPEND=">=virtual/jdk-1.8:*"
diff --git a/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild b/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild
deleted file mode 100644
index 87b53a5f13b2..000000000000
--- a/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2026 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="Web Services Description Language for Java Toolkit (WSDL4J)"
-HOMEPAGE="https://wsdl4j.sourceforge.net"
-TCK_V="1.2"
-SRC_URI="https://downloads.sourceforge.net/project/wsdl4j/WSDL4J/${PV}/wsdl4j-src-${PV}.zip"
-
-LICENSE="CPL-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-JAVADOC_ARGS="-source 8"
-
-S="${WORKDIR}/${P//./_}"
-
-JAVA_SRC_DIR="src"
diff --git a/dev-java/xz-java/Manifest b/dev-java/xz-java/Manifest
index f682d4c34098..cf89250424eb 100644
--- a/dev-java/xz-java/Manifest
+++ b/dev-java/xz-java/Manifest
@@ -1,4 +1,2 @@
-DIST xz-java-1.11.zip 179000 BLAKE2B c4ea278062749a41249bba09c30f036b76054fa070181a43d038fb284c66ab7f9f43571e2e806d004361b89dafe15c0d838bf4f488275f22860c46423e057238 SHA512 c808f08c96b0a21fcd3ca4e3840cbb8a3f58da00717d3a5ded2770d020f3ab401e53f30dd6938b01f366ffbbaec1b3b5898f0e711aae3d59b67f9d150dbf4645
-DIST xz-java-1.11.zip.sig 566 BLAKE2B 2c22fd2ec327abdf6c86aea6839a251bf94dd5a14a53ee8d7b376b4ded834b65aed1518354d8528c29ef35c95b906555a77a319a222f15511cfc206e18112746 SHA512 3732a8597beff37ce200c96571e6baaa03ac4b0b9b21205878eb22a0cb9bb43218cf2a885c3d73af1e5886827fa5ba180059d728307dfa0c3dac86e3be9bf7d4
DIST xz-java-1.12.zip 179390 BLAKE2B cd22fffe57d27d340ac94bdfc6811882df71d05961bd09730602da93286df567b4b769e3ea19c5f81541344975574cd89ce622cf82faa9d7ec086eaba43ae90e SHA512 ea6b6fa8b7021a3e8caa9b750156078182fcde1c4c9926740fea51827facba8227d3d2fe6c95de7a4e9ce9cda531f4706d9a582a04155ac2eaac36c5f51c8bf7
DIST xz-java-1.12.zip.sig 566 BLAKE2B a1b5837db82130424e6db6497513a05e73b7b36ab92124d0206235d80ce5148fce142dfe6008e1ab300525844af96caf999fa79c14ed3cace08f30b2ad10d2e2 SHA512 8c1a318fe08a3d1e0de8f82628419f64b67985a508071967e1cd98c072ba659861a1822abc68bd81915248496f1121e1f2044da2819d0ee996e7d9f9b0930702
diff --git a/dev-java/xz-java/xz-java-1.11.ebuild b/dev-java/xz-java/xz-java-1.11.ebuild
deleted file mode 100644
index 58b8ab2ed737..000000000000
--- a/dev-java/xz-java/xz-java-1.11.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc examples source"
-
-inherit java-pkg-2 java-pkg-simple verify-sig
-
-DESCRIPTION="Implementation of xz data compression in pure java"
-HOMEPAGE="https://tukaani.org/xz/java.html"
-SRC_URI="https://tukaani.org/xz/${P}.zip
- verify-sig? ( https://tukaani.org/xz/${P}.zip.sig )"
-S="${WORKDIR}"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64"
-
-BDEPEND="
- app-arch/unzip
- verify-sig? ( sec-keys/openpgp-keys-lassecollin )
-"
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( {AUTHORS,NEWS,README,THANKS}.md )
-JAVA_INTERMEDIATE_JAR_NAME="org.tukaani.xz"
-JAVA_RELEASE_SRC_DIRS=( ["9"]="src9" )
-JAVA_SRC_DIR="src"
-VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/lassecollin.asc"
-
-src_prepare() {
- java-pkg-2_src_prepare
- mkdir demo test || die "mkdir"
- mv src/*Demo.java demo || die "mv *Demo"
- mv src/TestAllocSpeed.java test || die "mv *Test*"
-}
-
-src_install() {
- java-pkg-simple_src_install
- use examples && java-pkg_doexamples demo/*Demo.java
-}
diff --git a/dev-java/xz-java/xz-java-1.12.ebuild b/dev-java/xz-java/xz-java-1.12.ebuild
index 847f521bc718..0f317360f364 100644
--- a/dev-java/xz-java/xz-java-1.12.ebuild
+++ b/dev-java/xz-java/xz-java-1.12.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 arm64 ppc64"
BDEPEND="
app-arch/unzip