summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-08-31 12:01:05 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-08-31 12:01:05 +0100
commit5b7f6475da27c05b30659a00ecb49636aca2bece (patch)
treef67500afbab4acebaa18739efa57f79c7ee620b3 /dev-java
parent2e8abb8c82f14dd064991a1afd337b2f022b37f6 (diff)
gentoo auto-resync : 31:08:2024 - 12:01:05
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/Manifest.gzbin55167 -> 55155 bytes
-rw-r--r--dev-java/javacup/Manifest2
-rw-r--r--dev-java/javacup/javacup-11b_p20160615.ebuild2
-rw-r--r--dev-java/jflex/Manifest2
-rw-r--r--dev-java/jflex/jflex-1.6.1-r3.ebuild2
-rw-r--r--dev-java/junit/Manifest5
-rw-r--r--dev-java/junit/files/junit5-java18-compatibility.patch14
-rw-r--r--dev-java/junit/junit-4.13.2_p20240222.ebuild3
-rw-r--r--dev-java/junit/junit-5.10.3.ebuild349
-rw-r--r--dev-java/openjdk/Manifest8
-rw-r--r--dev-java/openjdk/metadata.xml2
-rw-r--r--dev-java/openjdk/openjdk-11.0.24_p8.ebuild5
-rw-r--r--dev-java/openjdk/openjdk-17.0.12_p7.ebuild5
-rw-r--r--dev-java/openjdk/openjdk-21.0.4_p7.ebuild5
-rw-r--r--dev-java/opentest4j/Manifest2
-rw-r--r--dev-java/opentest4j/opentest4j-1.3.0.ebuild28
-rw-r--r--dev-java/qdox/Manifest4
-rw-r--r--dev-java/qdox/qdox-1.12.1-r6.ebuild114
-rw-r--r--dev-java/qdox/qdox-2.0.1.ebuild7
-rw-r--r--dev-java/xalan/Manifest2
-rw-r--r--dev-java/xalan/xalan-2.7.3-r2.ebuild78
21 files changed, 623 insertions, 16 deletions
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz
index 82b66f56e171..160b7a0996e3 100644
--- a/dev-java/Manifest.gz
+++ b/dev-java/Manifest.gz
Binary files differ
diff --git a/dev-java/javacup/Manifest b/dev-java/javacup/Manifest
index 182f98292223..0663f080b1be 100644
--- a/dev-java/javacup/Manifest
+++ b/dev-java/javacup/Manifest
@@ -2,5 +2,5 @@ AUX javacup-0.11b_beta20150326-build-xml-svn.patch 1385 BLAKE2B 43ed5b0c75aa308f
DIST java-cup-src-11b-20151001.tar.gz 313405 BLAKE2B 126944916d120dd2150e4a665fea6d216f3d55e002a72b581621df726e4bf0e0664f9ff925189c97162582277c08a4f121e056299ea5a3f5c10cc31d7c0feb9c SHA512 70bb6a0e13fe52694980040205fcf5b3e904c4a07e50c7740c55cc3bb481496c5c071377757b94f59807b936b8c4fdde5423d78cc2d12a7ada1870f71cd9f47e
DIST java-cup-src-11b-20160615.tar.gz 313847 BLAKE2B 0031cdb73471512162f69fff6ed47e91d78769c5162f37d4fdcef1c4b4be17ec9e950eda973a8842ae95423840be6c43a335180584b81c4618ea43cbfa926972 SHA512 532a8169f8e1ed2c637c66e7e21cc90eea363732870fbf4e3d66acbff03de3ba0583cefb7b4e7b8f8cb0c9bf1ca92dd5a59111860612bc7544e8beab87f5fbda
EBUILD javacup-0.11b_p20151001-r1.ebuild 2741 BLAKE2B 5fe46493b06faa38180c636131d1a1180fdfb567f94377389c609870127285ac7d61b93f3c61c4708af3aa668aa14d541e0d17b9c08e3bd57d301c7bbfdcd202 SHA512 7d7f646c6b832a83225d940aa11068fe984b3879dd2ecbdc63d3e0c32e8eab2185c8a32442b7bb92ce5096dd0377884630eb44a268dc541bc1a7a278411b6163
-EBUILD javacup-11b_p20160615.ebuild 2592 BLAKE2B 26f4ab0b2bfd16ccc4e72124a5f8e929a4678018bb87bac1787de3f1070a59101a29826ecdd9f7bde9fa01bf0b5316f790ee3b444dce42814b16228e1f43daec SHA512 2912b72de6af64d083cb2918b0e0f300aa3b19eb0b01f4d4547b29faa42f13ae627de1c3c52d410ff936c5e642c7176aeaf755f209c2f71a4d726e6e58df11e1
+EBUILD javacup-11b_p20160615.ebuild 2587 BLAKE2B d2d869f17662522f0622ae6e35555e9b1cc3cf23805a05ef34de9a0e3846272c3fc25b3ec0a7082af449257c218019156343380b498c6896e1b4a7310b503c9d SHA512 d7fd669ed7956545cc53b0d96aeb452e949132dab2272f2a319585697c4e85006d5778ca26eea0e20612bbb78cf6c0dd991f59c97c458074ca0f2efad01dd82e
MISC metadata.xml 399 BLAKE2B 735ada4795cee491980197e589097e933cd2f18ef453f1d793e10be22b44618b75f519e88f7b76f715a7d07ffb56ee7e9ac71951f1829c1b4eeff5430b06b8c6 SHA512 100cea816b78fbbad49ef4499cba083e3492d9928bd055dc5b289e80537e0bb50275115b3a9cedffce32a4e755f6552e12c84582be724437fb27b1f4cd7f5b50
diff --git a/dev-java/javacup/javacup-11b_p20160615.ebuild b/dev-java/javacup/javacup-11b_p20160615.ebuild
index cc3c6e0d7637..e2ce20b6b312 100644
--- a/dev-java/javacup/javacup-11b_p20160615.ebuild
+++ b/dev-java/javacup/javacup-11b_p20160615.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${PV/_p/-}.t
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="ant-task"
DEPEND="${CP_DEPEND}
diff --git a/dev-java/jflex/Manifest b/dev-java/jflex/Manifest
index af757def5d03..d6c341901ca6 100644
--- a/dev-java/jflex/Manifest
+++ b/dev-java/jflex/Manifest
@@ -1,5 +1,5 @@
AUX icedtea-arm.patch 710 BLAKE2B dc479f8db4f1188ecb63708700d1ef0905590aba6b552b573c9fc05027e195d2dc1143542ca1998a5a6feac53af4ef64326da3f746f8aff1149b0bb01a3793a9 SHA512 9ebf22f2771672bb9ef28fcb7eff0d907e9fe4466b18b3ec3915b27caa2edb07934a47311abf41fbe124b484cccbb19ca68f69acd5bd76e46a49b029dbf275b6
DIST jflex-1.6.1.tar.gz 3027791 BLAKE2B 4262f75c16a847314db8cb175901658ff6b424469e66523b41564179fa30f0e64bcf2d7ad0e06ad918336e5a41e166a74d55f19f7451662d19fbcaa29f716dce SHA512 436840c90d906042205d27e1d3c56dec724bf62cc3d8c8d3445f217af0a50c9ca2bb56ed91f0cd3c37a930f7ca22f4cc50e8c28dbe905f02adf695c8e96fb07b
EBUILD jflex-1.6.1-r2.ebuild 3520 BLAKE2B c49021cefb11baa37387d5582b2bd54dfe26730990ea7bd6ef42c5bd2840fca430121e650648769241afb7b9796ec2c8a6b5ac12792cd3e00bdc08b7badfb17b SHA512 0f65b28f18e0d7c1985be060070754e78d3f7e7ba9972b3f43b41e035e9d1035a00dbd1cb9913f397fc360c57dd7ab910a50c179cf213d796d319c5623697063
-EBUILD jflex-1.6.1-r3.ebuild 3774 BLAKE2B 6adf82e8e2ec4a254a491861c8542df0054939929f8a3837d92341c10bafd98d3719fabc145ce4d37b11b1ba4be72d501d0ecaa8c837dbf430a9f702474a4a1b SHA512 00ff50d3594766c3a8db5868ef166d06a5d82a1174324c248d522d475c633a1a611594e1b56a72af4ab6a1d426b3de7397c37a809ce0e933d0c222206e74eb03
+EBUILD jflex-1.6.1-r3.ebuild 3769 BLAKE2B 8181d591037ed42414f3c2f1e3951be08315c477f41cfb2587b0ff2daa4486965b5f57189831438686ff136b505fda68a22eea9250b0e54f5ef76e22d7736355 SHA512 813a50861746f81348494514daa8f0d0ea59c922a2dc4dbdc1361548aca59fdc517dd1e44f4b0d7de66092af5aa398317fa5408a819c0673d98bf982667b00c6
MISC metadata.xml 315 BLAKE2B 65fc9f2224c07e76fa9a4b49456ec62d7b38c5d50523ecfdfa5e77241c88e1c1da8ea6947cf3fe4b0819373a712b5dd4654ed713eb67ce3e102fc64e343ee17d SHA512 7c1ef38b4952ed807c1d98dbc05635010557a440ab98a58960f590abb2589e7632df16d0a551bfcf3efe32c57c0a498492ea877a52e43c3126c3290595b7f614
diff --git a/dev-java/jflex/jflex-1.6.1-r3.ebuild b/dev-java/jflex/jflex-1.6.1-r3.ebuild
index c0083bb42fce..79f141edeb94 100644
--- a/dev-java/jflex/jflex-1.6.1-r3.ebuild
+++ b/dev-java/jflex/jflex-1.6.1-r3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${P}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~ppc-macos ~x64-macos"
IUSE="ant-task examples test vim-syntax"
RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( ant-task )"
diff --git a/dev-java/junit/Manifest b/dev-java/junit/Manifest
index b0ed98638462..88dd200e1858 100644
--- a/dev-java/junit/Manifest
+++ b/dev-java/junit/Manifest
@@ -1,9 +1,12 @@
AUX junit-4.13.2_p20240222-ignore-failing-test.patch 5184 BLAKE2B d846ac9599216bd9486a26082029dea6a1f1e252f8b023c3e553cc6586365a582b78e20d3a305b7d911ad6a9bd8206057f7ad617e18103c050dd19f46f6c7031 SHA512 bb1f1c13b128fd2a178d58be02b3cc206b030ea421815309dcca3dbed33e529733576e4db0ed5d44d1126ffd077bdad8b9b4cb96d980f8b42d394a32c90d50f6
+AUX junit5-java18-compatibility.patch 742 BLAKE2B 89bfa36330278cdee2f7f66ed5527895e650a7b490d3f3695772a27541be1d8383c1742bab4e8494f3a84c29f93f553880a3bd5cd4d84792cf662fbc33a6e594 SHA512 5a9a562eb61a875764da369ff40da6ff95c6de8b3b3ecb612634112076741d75d6eab385743843b4fe7ca8a1827960e06550f6e90c8b7ef75b55006b41c416cd
DIST junit-4.13.2_p20240222.tar.gz 1007781 BLAKE2B 4eeab59aa7ff3cc65c73318acb562523e6ba781da6a0baf28f8fa82042f1affddb583d188c550207a7e267b3475f4a546e8e25eba61d5ba36d13bd7e277ad156 SHA512 89506413b7aca7c2d0b41c8297dde48c1b90a44133bfb3ebf300247c7837839a3aff2d785d891ddb8762427d718eacf016a1d67e2e24edda05f4eae36ca311f1
DIST junit-5.10.2.tar.gz 2942035 BLAKE2B 4880df74b7cbf23acd34c716f9fce26edd28b31c14d720e129e9e1f06aa35b70c447a0d87904e083a54663fba17e0b2b470678dc32480e0a11c5ebf46d5fe38e SHA512 c36ff7c2bd21f9a64c93b836fc1017a8a96ebcc0079cf1d95b09f5b764435178c2dc2336f2493e7e4df561013693dce4f08dfe0cf3bd76cc9b820313f64d064f
+DIST junit-5.10.3.tar.gz 2944861 BLAKE2B 38ca01363ecd1a2bb1b66d93bbc8a6e34c94ee574fd44857239223f6253051c355572ac8ecece21610ea8afeabdc62df30caab1994ae9bbfa9fa9c71097ac956 SHA512 8d3621b6da6e70017957e280fd2848fdc77136497bf4399a1690f2db0f53b1b079f85ec19b6d3115cc01fe24454e118548944d45e1c23f2a404b640e587b0771
DIST junit3.8.2.zip 461426 BLAKE2B 8fbef1ccdf7f71c611976d63f45838f4cb2564da5f5064e7abc39931a3c99039a40660093aba2cc3c70af761171125f434c16c52021226f2e92fdf23597dbf25 SHA512 f203332ccc2bdc38c683a95bdbe448f38cbfbeea81ecc431bf9ebf0a3292f0150fcfe5cd5dd6da481be034366820f95775a33581931aed9e4cc12a6ff27e3930
DIST junit5-java18-compatibility.patch 742 BLAKE2B 89bfa36330278cdee2f7f66ed5527895e650a7b490d3f3695772a27541be1d8383c1742bab4e8494f3a84c29f93f553880a3bd5cd4d84792cf662fbc33a6e594 SHA512 5a9a562eb61a875764da369ff40da6ff95c6de8b3b3ecb612634112076741d75d6eab385743843b4fe7ca8a1827960e06550f6e90c8b7ef75b55006b41c416cd
EBUILD junit-3.8.2-r2.ebuild 802 BLAKE2B dd3ad766b9070457499af970d037ed6c5e96208a609d68149c37f348e4d678d950b963e62f54e655a4930b77c09048394da85821d0de2886f28a6693cab23486 SHA512 0e21cbde4dd60723044e9fcfd01ef5991fc62bdcc186e05e86c4fe4a0e04ddb038aaa16b130eeacf1d23b37e4ef3e16e0051e6bb1d40748c66b69ce3ad335755
-EBUILD junit-4.13.2_p20240222.ebuild 1540 BLAKE2B 7f740473dfb9d3bb5555dddcbc7569e39f431bffc712f9640b57dd1cb48027e1a39d13e8d2c3063df94ac198d91562804572a82f1c77737796f33e2014db424a SHA512 7c527ec394a595e9e320216f76ef1e301f941e473d7b354c8c7bd735e6f94a060196761d5d24149e44833772dfdd68d626ad9603bd0770aca2b80e655d5e0915
+EBUILD junit-4.13.2_p20240222.ebuild 1557 BLAKE2B f6353fe928daace6973a1870f4f894cc7ae64a2337087f702c92fc57fd569fb4e71de8c5de4c399a3376f541ba2af737605bcb2d7313c0912ef2411348a79e3e SHA512 f4d37e27b67271137e0a9406ba42681afe89ceee5da4be9f80c9e03d99a6fb6abfaea8bdeaac9cb39db9f5dc9f72383b663c247f27afe8c90c437a9f9baf5cac
EBUILD junit-5.10.2.ebuild 12395 BLAKE2B 5f03a73ee3bce0d40d685490377374fc6c4ed8a9794d85d94a12619dda6b1f9cab59b59edbc05e2b1e0cdbeb80930ba9d0a98b403d05a185cae4c3ecb50137d9 SHA512 74080cc8c15d15a253974e85b05a9537112690c120d935b770afd902ac783651eaace85117d8af3400ef5608b8dfa62b9c3517ca8206cff63f6b26dae6fae7e5
+EBUILD junit-5.10.3.ebuild 12263 BLAKE2B f1e4c2ccf4cc0d55447a4ea066fad54ed394deefd16876d1aa65b31e0bd733289a63422c01a58729daf46764fdd2b89a439d3f9185714e5d574da7be205c7de9 SHA512 3e2782f4f6df0f8618597355904ae256d1cf84e94020e2a9627b934a507489d1f4e18860b105e59e369f75d32da3a7c3ac0242a5114572e6d09091ce59df7d89
MISC metadata.xml 894 BLAKE2B d0f5c989f8a49dc923dfaf51a7d42d6fdc79a9c2cccd48cd31e687bcc5b7d7f25b15f1e7f91ebfe8f87cc15ce11b37c95e06dcf17611b03066f2b079efc6624b SHA512 7d40683565d1e4ff8ceb183fa26d8d6e3ae77dc1f7335a6ea452589f0f794bae8479a9e97c257a7d2332f3fa83b6721b334557944a4f0d6d064b66e0bcda9bd1
diff --git a/dev-java/junit/files/junit5-java18-compatibility.patch b/dev-java/junit/files/junit5-java18-compatibility.patch
new file mode 100644
index 000000000000..8015d4658b7b
--- /dev/null
+++ b/dev-java/junit/files/junit5-java18-compatibility.patch
@@ -0,0 +1,14 @@
+Description: Fixes the compatibility with the latest version of Java
+Author: Emmanuel Bourg <ebourg@apache.org>
+Forwarded: no
+--- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/TestIdentifier.java
++++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/TestIdentifier.java
+@@ -316,7 +316,7 @@
+ }
+
+ @SuppressWarnings("unchecked")
+- private SerializedForm(ObjectInputStream.GetField fields) throws IOException {
++ private SerializedForm(ObjectInputStream.GetField fields) throws ClassNotFoundException, IOException {
+ this.uniqueId = (String) fields.get("uniqueId", null);
+ this.parentId = (String) fields.get("parentId", null);
+ this.displayName = (String) fields.get("displayName", null);
diff --git a/dev-java/junit/junit-4.13.2_p20240222.ebuild b/dev-java/junit/junit-4.13.2_p20240222.ebuild
index 6a2ce43fc405..50aa3c3c6763 100644
--- a/dev-java/junit/junit-4.13.2_p20240222.ebuild
+++ b/dev-java/junit/junit-4.13.2_p20240222.ebuild
@@ -44,7 +44,8 @@ src_prepare() {
src_test() {
cd "${JAVA_TEST_SRC_DIR}" || die
- local CP=".:../resources:${S}/${PN}.jar:$(java-pkg_getjars ${JAVA_TEST_GENTOO_CLASSPATH})"
+ local CP=".:../resources:${S}/${PN}.jar:$(java-pkg_getjars \
+ --build-only ${JAVA_TEST_GENTOO_CLASSPATH})"
ejavac -cp "${CP}" -d . $(find * -name "*.java")
# pom.xml lines 264-268
diff --git a/dev-java/junit/junit-5.10.3.ebuild b/dev-java/junit/junit-5.10.3.ebuild
new file mode 100644
index 000000000000..ed6b7657fa56
--- /dev/null
+++ b/dev-java/junit/junit-5.10.3.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Declare the 'doc' USE flag in IUSE -- not JAVA_PKG_IUSE -- to
+# prevent java-pkg-simple.eclass from handling Javadoc; instead,
+# let this ebuild handle Javadoc generation and installation itself.
+# This ebuild invokes java-pkg-simple.eclass's phase functions
+# multiple times to build multiple modules, but the eclass always
+# installs each module's Javadoc to the same directory, which would
+# trigger an error when the second module's Javadoc is installed.
+JAVA_PKG_IUSE="source test"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Simple framework to write repeatable tests"
+HOMEPAGE="https://junit.org/junit5/"
+DEB="5.10.1-1"
+SRC_URI="https://github.com/junit-team/junit5/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/junit5-r${PV}"
+
+LICENSE="EPL-2.0"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="doc migration-support suite vintage"
+
+CP_DEPEND="
+ dev-java/apiguardian-api:0
+ dev-java/opentest4j:0
+ dev-java/open-test-reporting-events:0
+ dev-java/picocli:0
+ dev-java/univocity-parsers:0
+"
+
+# java-utils-2.eclass does not support
+# USE-conditional dependencies in CP_DEPEND
+COND_DEPEND="
+ migration-support? ( dev-java/junit:4 )
+ vintage? ( dev-java/junit:4 )
+"
+
+# Limiting JDK version to >=11 for module-info.java in this package
+# https://bugs.gentoo.org/796875#c3
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ ${COND_DEPEND}
+ test? ( dev-java/jimfs:0 )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+ ${COND_DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/junit5-java18-compatibility.patch"
+)
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_configure() {
+ # Please make sure to declare a module's dependencies before the module itself.
+ # Useful upstream documentation regarding modules and dependencies:
+ # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-metadata
+ # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-diagram
+ JUNIT5_MODULES=(
+ junit-platform-commons
+ junit-platform-engine
+ junit-platform-launcher
+ junit-platform-reporting
+ junit-platform-console # For launching tests from CLI;
+ # an eclass would need it to support running tests using JUnit 5
+
+ $(use suite && echo \
+ junit-platform-suite-api \
+ junit-platform-suite-commons \
+ junit-platform-suite-engine \
+ )
+
+ junit-jupiter-api
+ junit-jupiter-engine # For JUnit Jupiter tests -- the so-called
+ # "JUnit 5 tests", which cannot run on earlier JUnit versions
+ junit-jupiter-params # For parameterized tests; the junit-jupiter
+ # aggregator module includes it, so building it unconditionally
+ $(usev migration-support junit-jupiter-migrationsupport)
+
+ $(usev vintage junit-vintage-engine)
+
+ # Modules not included:
+ # - junit-bom: Has no sources; solely for helping Maven and Gradle
+ # projects that use JUnit 5 manage dependencies easier
+ # - junit-jupiter: Aggregator; does not have 'src/main/java'
+ # - junit-platform-console-standalone: Has no sources; solely used
+ # by the upstream to build a fat JAR that bundles everything, so
+ # users can use just this single JAR to run JUnit 5
+ # - junit-platform-jfr: For an experimental feature
+ # - junit-platform-runner: Deprecated
+ # - junit-platform-suite: Aggregator; does not have 'src/main/java'
+ # - junit-platform-testkit: Requires >=dev-java/assertj-core-3.14.0
+ )
+ local cp_packages=()
+ (use migration-support || use vintage) && cp_packages+=( junit-4 )
+ local save_IFS="${IFS}"
+ IFS=',' JAVA_GENTOO_CLASSPATH="${cp_packages[*]}"
+ IFS="${save_IFS}"
+
+ JUNIT5_VM_VERSION="$(java-config --get-env PROVIDES_VERSION)"
+}
+
+junit5_foreach_module() {
+ local module
+ for module in "${JUNIT5_MODULES[@]}"; do
+ junit5_module_do "${module}" "${@}"
+ done
+}
+
+junit5_module_do() {
+ local module="${1}"
+ # Invocation of the passed function will not be guarded by '|| die'.
+ # Like the case for multibuild_foreach_variant(), it is recommended
+ # that the passed function itself calls 'die'.
+ local func=( "${@:2}" )
+
+ einfo "Running '${func[@]}' for ${module} ..."
+ pushd "${module}" > /dev/null || die "Failed to enter directory '${module}'"
+
+ # Set up Java eclass variables that are
+ # supposed to be set in the ebuild global scope
+
+ local JAVA_JAR_FILENAME="${module}.jar"
+
+ local JAVA_SRC_DIR=(
+ src/main/java
+ src/module
+ )
+
+ local JAVA_RESOURCE_DIRS=()
+ local default_resource_dir="src/main/resources"
+ [[ -d "${default_resource_dir}" ]] &&
+ JAVA_RESOURCE_DIRS+=( "${default_resource_dir}" )
+
+ if [[ "${module}" == junit-platform-console ]]; then
+ local JAVA_MAIN_CLASS="org.junit.platform.console.ConsoleLauncher"
+ local JAVA_LAUNCHER_FILENAME="${module}"
+ fi
+
+ # Invoke the passed function
+ "${func[@]}"
+ local ret="${?}"
+
+ popd > /dev/null || die "Failed to leave directory '${module}'"
+ return "${ret}"
+}
+
+junit5_gen_cp() {
+ echo "$(java-pkg_getjars --build-only --with-dependencies \
+ "${JAVA_GENTOO_CLASSPATH}"):${JAVA_GENTOO_CLASSPATH_EXTRA}"
+}
+
+junit5_module_compile() {
+ if [[ "${module}" == junit-platform-console ]]; then
+ # Unlike other modules that have a src/main/java9 directory, for this
+ # module, the upstream puts the class files built from src/main/java9
+ # in their JAR's top-level directory instead of META-INF/versions/9
+ cp -rv src/main/java9/* src/main/java/ ||
+ die "Failed to merge ${module}'s sources for Java 9+"
+ # Remove for the [[ -d src/main/java9 ]] test
+ # during versioned directory handling
+ rm -rv src/main/java9 ||
+ die "Failed to remove ${module}'s Java 9+ source directory"
+ fi
+
+ java-pkg-simple_src_compile
+ local sources="sources.lst"
+ local classes="target/classes"
+
+ # Collect a list of all compiler input files for building Javadoc
+ local source
+ while read source; do
+ echo "${module}/${source}" >> "${all_sources}"
+ done < "${sources}" ||
+ die "Failed to add ${module}'s sources to Javadoc input list"
+
+ # Handle classes that will go into versioned directories. This will be
+ # no longer needed after https://bugs.gentoo.org/900433 is implemented.
+ local vm_ver
+ for vm_ver in 9 17; do
+ local versioned_src="src/main/java${vm_ver}"
+ if [[ -d "${versioned_src}" ]]; then
+ if ver_test "${JUNIT5_VM_VERSION}" -ge "${vm_ver}"; then
+ local versioned_classes="target/${vm_ver}/classes"
+ mkdir -p "${versioned_classes}" ||
+ die "Failed to create directory for ${module}'s Java ${vm_ver}+ classes"
+ ejavac -d "${versioned_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "${classes}:$(junit5_gen_cp)" ${JAVAC_ARGS} \
+ $(find "${versioned_src}" -type f -name '*.java')
+ "$(java-config --jar)" -uvf "${JAVA_JAR_FILENAME}" \
+ --release "${vm_ver}" -C "${versioned_classes}" . ||
+ die "Failed to add ${module}'s Java ${vm_ver}+ classes to JAR"
+ else
+ # Modules that may hit this branch as of 5.9.2:
+ # - junit-platform-console:
+ # src/main/java17/.../ConsoleUtils.java tries to use
+ # java.io.Console.charset() (available since Java 17) to get
+ # the default output charset. It is fine to not use this
+ # file, even if the built artifacts will be used on JRE 17+,
+ # as src/main/java/.../ConsoleUtils.java still gets the
+ # default from java.nio.charset.Charset.defaultCharset().
+ elog "JDK ${JUNIT5_VM_VERSION} used; skipping Java ${vm_ver}-dependent parts in ${module}"
+ fi
+ fi
+ done
+
+ # Add the current module's JAR to classpath
+ # for the module's reverse dependencies in this package
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${S}/${module}/${JAVA_JAR_FILENAME}"
+}
+
+src_compile() {
+ local all_sources="${S}/all-sources.lst"
+ junit5_foreach_module junit5_module_compile
+
+ if use doc; then
+ einfo "Generating Javadoc for all modules ..."
+ local apidoc="target/api"
+ mkdir -p "${apidoc}" || die "Failed to create Javadoc directory"
+ ejavadoc -d "${apidoc}" \
+ -encoding "${JAVA_ENCODING}" -docencoding UTF-8 -charset UTF-8 \
+ -classpath "$(junit5_gen_cp)" ${JAVADOC_ARGS:- -quiet} \
+ -windowtitle "JUnit ${PV} API" \
+ "@${all_sources}"
+ fi
+}
+
+src_test() {
+ # Running the JUnit 5 modules' tests (located in each module's
+ # 'src/test/java') has a few obstacles:
+ # - Some test sources use text blocks -- a feature introduced in Java 15.
+ # A JDK at a lower version, e.g. 11, cannot compile them.
+ # - Some test classes depend on JUnit 5 modules that this ebuild does not
+ # include, like junit-platform-runner and junit-platform-testkit.
+ #
+ # Therefore, this ebuild uses a simpler approach to test the artifacts just
+ # built: it uses the artifacts to run tests in examples under the
+ # 'documentation/src' directory. The test coverage will not be impressive,
+ # but at least this approach verifies that the copy of JUnit 5 just built
+ # is capable of running some simple tests launched from CLI.
+
+ local JUNIT5_TEST_SRC_DIR="documentation/src/test/java"
+ local JUNIT5_TEST_RESOURCE_DIR="documentation/src/test/resources"
+ local JUNIT5_TEST_RM=(
+ $(usev !migration-support example/IgnoredTestsDemo.java)
+ $(use !suite && echo \
+ example/DocumentationTestSuite.java \
+ example/SuiteDemo.java \
+ )
+ $(usev !vintage example/JUnit4Tests.java)
+
+ # Need excluded module junit-platform-runner
+ example/JUnitPlatformClassDemo.java
+ example/JUnitPlatformSuiteDemo.java
+
+ # Need excluded module junit-platform-testkit
+ example/testkit/
+
+ # Not necessary for the tests; some files even require extra dependency
+ org/junit/api/tools/
+
+ # Needs dev-java/hamcrest; no need to pull in extra dependency
+ # as the examples already provide ample tests to run
+ example/HamcrestAssertionsDemo.java
+
+ # Makes an HTTP request and expects a certain response
+ example/session/HttpTests.java
+ )
+
+ pushd "${JUNIT5_TEST_SRC_DIR}" > /dev/null ||
+ die "Failed to enter test source directory"
+ rm -rv "${JUNIT5_TEST_RM[@]}" ||
+ die "Failed to remove unneeded test sources"
+ # Test sources expect the working directory to be 'documentation'
+ sed -i -e "s|src/test/resources|${JUNIT5_TEST_RESOURCE_DIR}|g" \
+ example/ParameterizedTestDemo.java ||
+ die "Failed to update file paths in test sources"
+ popd > /dev/null || die "Failed to leave test source directory"
+
+ local test_dir="${T}/junit5_src_test"
+ local example_classes="${test_dir}/classes"
+ local test_classes="${test_dir}/test-classes"
+ mkdir -p "${example_classes}" "${test_classes}" ||
+ die "Failed to create test directories"
+
+ local example_sources="${test_dir}/sources.lst"
+ local test_sources="${test_dir}/test-sources.lst"
+ find documentation/src/main/java -type f -name '*.java' > "${example_sources}" ||
+ die "Failed to get a list of example sources"
+ find documentation/src/test/java -type f -name '*.java' > "${test_sources}" ||
+ die "Failed to get a list of test sources"
+
+ ejavac -d "${example_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "$(junit5_gen_cp)" ${JAVAC_ARGS} \
+ "@${example_sources}"
+
+ local test_cp="${example_classes}:${JUNIT5_TEST_RESOURCE_DIR}:$(junit5_gen_cp)"
+ test_cp="${test_cp}:$(java-pkg_getjars --build-only --with-dependencies jimfs)"
+ ejavac -d "${test_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "${test_cp}" ${JAVAC_ARGS} \
+ "@${test_sources}"
+
+ set -- "$(java-config --java)" -classpath "${test_classes}:${test_cp}" \
+ org.junit.platform.console.ConsoleLauncher \
+ --disable-ansi-colors --fail-if-no-tests --scan-classpath \
+ --include-classname='^(Test.*|.+[.$]Test.*|.*Tests?|.*Demo)$' \
+ --exclude-tag="exclude"
+ echo "${@}" >&2
+ "${@}"
+ local status="${?}"
+ [[ "${status}" -eq 2 ]] && die "JUnit did not discover any tests"
+ [[ "${status}" -eq 0 ]] || die "ConsoleLauncher failed"
+}
+
+junit5_module_install() {
+ # It is OK to let java-pkg-simple_src_install call einstalldocs for
+ # each module as long as each documentation file being installed
+ # has a unique filename among _all_ modules; otherwise, some files
+ # would overwrite other ones.
+ if [[ -f README.md ]]; then
+ mv -v README.md "README-${module}.md" ||
+ die "Failed to rename ${module}'s README.md"
+ fi
+ java-pkg-simple_src_install
+}
+
+src_install() {
+ junit5_foreach_module junit5_module_install
+ einstalldocs # For project-global documentation
+
+ if use doc; then
+ einfo "Installing Javadoc for all modules ..."
+ local apidoc="target/api"
+ java-pkg_dojavadoc "${apidoc}"
+ fi
+}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index db08a16bf46b..d4f8b1c771e2 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -21,8 +21,8 @@ DIST openjdk-bootstrap-21.0.0_p35-ppc64.tar.xz 125375264 BLAKE2B 28802995f393dc7
DIST openjdk-bootstrap-21.0.0_p35-x86.tar.xz 120906212 BLAKE2B c3a56f4e51a8aca1c318b9c32bebdb4c09e42d80416ce1843bc80077f09466b7f54627ab6992f9149fdabdb4d5557c3cad6b5e93b37ba3d89d84f736fc07a57a SHA512 40f0cf60adaebd0c6ae11badb6b71727a5cc64c89077731b0f7cc82f203297b9b780ae43ec74eca9dd5a64de1209f519c2ad0f9083c017cf474d1020206f762c
DIST openjdk-bootstrap-8.402_p06-ppc64.tar.xz 34476368 BLAKE2B 1f896772f5e40a2793c5d9294e65e429c94204f91e91bfd76ff780e1d6318741c2052c3f20e59abcfb7018924983b5c9f386f14f912660e3e86296185f348482 SHA512 7bace068c5ac7604ad9db3ed655a52a4a90195efbf2fc342389cf7929d82d3f7b861fe700c16f513599bf9c064a87c9aa5966d7bd45aa7ed5e55ec317667be6a
DIST openjdk-bootstrap-8.402_p06-x86.tar.xz 37076244 BLAKE2B bd50f84e8ac2ee9850c158c7e7d9fae9741112230dcd6e314163911921d63e3222cd3f4ab9d08bbaacbf6d9bfce9a1a9336e21088fba6396613489a701b30797 SHA512 fe5719e0bbf9bcd6eb9790ebd4da34e7f6c99fe4b7d41de2b5d00b20ebe76a77d857c726d1a71b7f40657ca2a9aa08eaa9efc1ab4be60016f66af95530b454b5
-EBUILD openjdk-11.0.24_p8.ebuild 8834 BLAKE2B e10c23f599ce193c329bdd95cf9965704da9951d7eda2521606e4250f9046fa9d66234fe6858c89b9d7849d1bcf687e53f73f629594c54ffeea5ce864af12f5c SHA512 3521115c2cd51c586652dfd53b759cb22028f30b82ccead407d60f2f7f8df096b55a3c9e2b345a723487dac9707471c779d70fad236e961449122290680d7855
-EBUILD openjdk-17.0.12_p7.ebuild 9254 BLAKE2B e8fe5423eeb601c2d360041ff68e206d47a9e303c0343e7981fbe14160fce5f805059e57f5a4253c8fea9dd1b2caf7c3c7f2ace4bde2700c97708a38b6999b3d SHA512 0fd70e8c691ff8eaeea3b8c2e722a220d1f978c704fde47431d8893e1d423a36c11a1e364b4eca69dae653dc68cd3c77bb30e0499468af69980b4e4bb7f3f90f
-EBUILD openjdk-21.0.4_p7.ebuild 9358 BLAKE2B bbfd1c5ea416930bc947d7e145cfe360f49993b094e778a034c3efc52e6c5d67b91a66db67f52a02f12e9b9cde0b10f7548faca717791f213851532aa4c2d8b3 SHA512 db8bb8d4aadacc3749d45f7e5bd44b73cf5e84d848ba3c0827c0bcb52f5b60c3bc65e2638ef99646694536c9ba3ea62761c35361b3a421c8b29fc2f0a0504c53
+EBUILD openjdk-11.0.24_p8.ebuild 8999 BLAKE2B 91acbcf5e5c6232223744388052ed8cec20d3cae40933364bd3c5f001d89dcce61c037ad1fb4e12a573438d465804889e7284d580292a12e85a64d5471f1436f SHA512 b80148965840a0eacae72a12b9bf81b4053df3668721594ce04a06ee20d6ec1af45a47b305fe46722355f5799290133b7ec3a86b73d737bd6f79ccdb001cda94
+EBUILD openjdk-17.0.12_p7.ebuild 9419 BLAKE2B 54315f8f1f88ce7cbc67dbeb37fbcf74f0c86f3f7ced92a9b8ea4c991a6f4c5efdb814a2c6e3c07a2ea591f79e24c1610742733c8c18cf166b99746368f9988a SHA512 e297186b7d152de1c18f5aa6afc875f29ef2be276e2217c624029094e253c25ea477181391b7f44ab3f5819a42c1e63895a16b48f69a62f37eed8329c8ffe1f2
+EBUILD openjdk-21.0.4_p7.ebuild 9523 BLAKE2B dca30e8c5383e22563b5ee74c38eb6e7984d5321898e8250409d9470dc4b04983e1fed4b566d77fb4bb371d208ed6fe11a4ef27eec37a8a9c0fcd2e4a0d8e1f2 SHA512 727069da4a010ad8c22f0a848edf206db93c2475a21a8ca7982e6718aa1962a77581969cc53011c7e0dbfa0ba2b092a4e36d82fe5cc6ef864dea774d24a562a3
EBUILD openjdk-8.422_p05.ebuild 7819 BLAKE2B 46ee633ad8c8751885c948f3648e76f973266336fe15fa0016368302719770d9435c5e0db4cb59481e782e2b89adabe8b8cd0b4624749051c066de120509f8b7 SHA512 250754810305bf30ac7ce4dbc15dd1a321f4dc47cf5e49154f26b80b704218b21b6ab2f428a9857096936793460f2471df2fcd921c7fdc40838f11a2d0cce377
-MISC metadata.xml 1549 BLAKE2B 5f7caf2330b7d8eb264df12fe6eebbf1e4acf91b04e37a4c6ea6c45101a39f2e84b4d40152d58c93e63a1d2d6fdb5649b096a314f7269d33ce72da263d392c90 SHA512 8fa15bf9544f2665a47185a3701c3a9ce1654ddedf1aebfb344f77f544a71a3bda33c2d4f3c1d5d65d7ea42b6c1f04a6e1dfaaae723c1a5fcaf63ec48d79f3de
+MISC metadata.xml 1549 BLAKE2B 6c922cbe1dd4261036670a176be092d495024dd25e2ffb83cc1af1e3ad0dda3491e8973cdd7f8688f1c0854acf55cdc11e9d80ac5b9a16b544455d2cd1bdcbfe SHA512 57cd1a08f0479e8b11d37665c1d905255685ed2d8d27f469a9689ffe070c7ee6cd5944a1baf87cb19722b31af56b1a4692f7967e817d1e4ffbf7c4d97881d838
diff --git a/dev-java/openjdk/metadata.xml b/dev-java/openjdk/metadata.xml
index 543587cc5399..095cbbb07ad6 100644
--- a/dev-java/openjdk/metadata.xml
+++ b/dev-java/openjdk/metadata.xml
@@ -21,7 +21,7 @@
<flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
<flag name="source">Install JVM sources</flag>
<flag name="system-bootstrap">Bootstrap using installed openjdk</flag>
- <flag name="systemtap" restrict="&gt;=dev-java/openjdk-11">Enable SystemTAP/DTrace tracing</flag>
+ <flag name="systemtap" restrict="&gt;=dev-java/openjdk-11">Enable SystemTap/DTrace tracing</flag>
</use>
<upstream>
<remote-id type="github">openjdk/jdk8u</remote-id>
diff --git a/dev-java/openjdk/openjdk-11.0.24_p8.ebuild b/dev-java/openjdk/openjdk-11.0.24_p8.ebuild
index 7b836738329f..73935ecc1856 100644
--- a/dev-java/openjdk/openjdk-11.0.24_p8.ebuild
+++ b/dev-java/openjdk/openjdk-11.0.24_p8.ebuild
@@ -163,6 +163,11 @@ src_configure() {
export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
fi
+ # Workaround for bug #938302
+ if use systemtap && ! has_version "dev-debug/systemtap[dtrace-symlink(-)]" ; then
+ export DTRACE="${BROOT}"/usr/bin/stap-dtrace
+ fi
+
# Work around stack alignment issue, bug #647954.
use x86 && append-flags -mincoming-stack-boundary=2
diff --git a/dev-java/openjdk/openjdk-17.0.12_p7.ebuild b/dev-java/openjdk/openjdk-17.0.12_p7.ebuild
index 0bd209de601f..b871b4d9db1a 100644
--- a/dev-java/openjdk/openjdk-17.0.12_p7.ebuild
+++ b/dev-java/openjdk/openjdk-17.0.12_p7.ebuild
@@ -177,6 +177,11 @@ src_configure() {
export JDK_HOME
fi
+ # Workaround for bug #938302
+ if use systemtap && ! has_version "dev-debug/systemtap[dtrace-symlink(-)]" ; then
+ export DTRACE="${BROOT}"/usr/bin/stap-dtrace
+ fi
+
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
diff --git a/dev-java/openjdk/openjdk-21.0.4_p7.ebuild b/dev-java/openjdk/openjdk-21.0.4_p7.ebuild
index 2fe2a993eaea..4aee5fefa417 100644
--- a/dev-java/openjdk/openjdk-21.0.4_p7.ebuild
+++ b/dev-java/openjdk/openjdk-21.0.4_p7.ebuild
@@ -175,6 +175,11 @@ src_configure() {
export JDK_HOME
fi
+ # Workaround for bug #938302
+ if use systemtap && ! has_version "dev-debug/systemtap[dtrace-symlink(-)]" ; then
+ export DTRACE="${BROOT}"/usr/bin/stap-dtrace
+ fi
+
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
diff --git a/dev-java/opentest4j/Manifest b/dev-java/opentest4j/Manifest
index 53032a2df41f..5a499b4b6cc0 100644
--- a/dev-java/opentest4j/Manifest
+++ b/dev-java/opentest4j/Manifest
@@ -1,3 +1,5 @@
DIST opentest4j-1.2.0.tar.gz 77616 BLAKE2B a331cc5e97d1e50b3b57e6aac926278d16f4d75067b4e4b25acb5ee25d4d4cd9d1f75c115155303ec63f5cb22b09ad1cbaa01d62620b350dd2c1d61541657b78 SHA512 cd98d976935de97d259ec4c04510334f2b56f8a32db2c97e0f20a2e3b99f119ffeb390589eb42d4594808d96194067871d5eaad6a40dd58af30b9f995b13ef08
+DIST opentest4j-1.3.0.tar.gz 89527 BLAKE2B f8ac763c3ec1b1617c38c3744a8fac82e0d93ff4ff409a00e3e22d343fc873aa4129bee3d906de0e13cc78450a1c67cdcffebed91d00c9758f20113a68a76dc7 SHA512 6141fed5230d1195eee137031fc6cf8e3df0b857f2fd341ba823d5aeb92d86e56262b57b93a901a4e00f6000920b67f28e02e04f404df7df8e62be9d60c3e79d
EBUILD opentest4j-1.2.0-r1.ebuild 765 BLAKE2B b8aa0a51b4f1ec10e38de919212927afbfc45274e779e5a24b0d20e3769648d2648aa4f891ff0d682dca2c6545e0007d36b43738c89a5bc269bbec7736b8a9b7 SHA512 9811e4fbe56119d089f9b7dafb9d11479cc79cfe7f2f794e6fee231f3c89af0c9df16a3f54535962053efa6f5dfbf81f8e86577d464cb1ae2c7b136d6b6d0bf5
+EBUILD opentest4j-1.3.0.ebuild 765 BLAKE2B 163e681533bd04be3ce7557c9d35c28636e0547dc56ebcd5d3f076500f365af5d81ca07b3cc3e05a95f113eee849213df9518f87bde4b047bc890085e5149431 SHA512 f5103dc9b5e1b5f2b2eed2545169a1c3939fd7888bc78b004683162994be95aead0e055a0771e57cd69822c7a50a20a6412b808c03c69c5a139fb75df28125b3
MISC metadata.xml 303 BLAKE2B 07307ccd1ef1f074fa091ff02bdacfe83a3f3c0a2d79f7545821d5955834a83391d64d34dc8170cb5a4752302296e746393491f7b628a6936a3f0c2b85e09f29 SHA512 9760587d9dec49089d8ea86b7046d145e41075c6ae02af3be319e795272b3eeaef6540dfbb90564bb85d50974f44acd4bfd71d57956b1ff0e2e216220bf60f48
diff --git a/dev-java/opentest4j/opentest4j-1.3.0.ebuild b/dev-java/opentest4j/opentest4j-1.3.0.ebuild
new file mode 100644
index 000000000000..646ec2c91a4e
--- /dev/null
+++ b/dev-java/opentest4j/opentest4j-1.3.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.opentest4j:opentest4j:1.3.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Open Test Alliance for the JVM"
+HOMEPAGE="https://github.com/ota4j-team/opentest4j"
+SRC_URI="https://github.com/ota4j-team/opentest4j/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-r${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-11:*"
+
+JAVA_SRC_DIR=( src/{main,module}/java )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR=( src/test/java )
+JAVA_TEST_RESOURCE_DIRS=( src/test/resources )
diff --git a/dev-java/qdox/Manifest b/dev-java/qdox/Manifest
index 1c5f2c045e45..cc16271f6d0f 100644
--- a/dev-java/qdox/Manifest
+++ b/dev-java/qdox/Manifest
@@ -1,6 +1,8 @@
AUX jflex-1.6.1.patch 680 BLAKE2B 2dba9bdba8ce77ebe28a608b505891ff49d51e9d7549bb17f21935ad9511fcdf4428a79b5243e5eb8cfb5747eaaaafb97eb6edca980ce337d37ed48772ff5ea5 SHA512 73e8067a31392a1975877470a2a239c9ca0913f807faa3e5c660bc2487dca9a46c1753ab86526e66581111fcded89229a4e9e3a16fa787ce3669ef6c07a28081
+DIST jflex-1.6.1.jar 1050749 BLAKE2B 71c68bf368a239217cbf928a7c6fbf7325cc069beddfaf92fbad3f0542bf83aa5606b2e15cfb4bdbd62a54c53d8439773ba3a7f60370ef5e2501ffe2561f9945 SHA512 882e73231b6e4f12e746282bac894e79dd3ee6fcfd0317a988709f3a3b472634415031209aa96c200c65ce382c90b5dff3f6d31d5e39c2feaff90dcf30a142f4
DIST qdox-1.12.1.tar.gz 519833 BLAKE2B 83a732f1582b714cf943ede61bacc5216804c00cfbb642a479afb74739564f4fdbcd923dd7cb84a9626a97c5ad0a0f04895e0ae68252891cb25299e1fe1c9c72 SHA512 17ac933854ebd0560921805ea4339c151a7fd095bf8d50d5d71e656afda77ba30efac7926cfcc7543e4a8420b12d1eb75cdd305c50d1c28ad8cd6b0f4d95f5c5
DIST qdox-2.0.1.tar.gz 528305 BLAKE2B ff2f4b59d650b93a466eae6cc69239b059f7786ea609c18c56414e7e849d711d5316664a376b2c2c6e0021a21e7577cc21c9f5cfd215c4af612100a4c81da758 SHA512 db9d9ed8e8cf38c74e35be493aebcca54ba9d2c43a92c066d1964777293ad3af8e3212fcb8c20e9453b93e9bbe868c988dab69f936e7df41450183ce385137fa
EBUILD qdox-1.12.1-r5.ebuild 2422 BLAKE2B 25c1c4fee466506df67515b7f8b8cc5b19c650ea33e17d71703fd84b91eb25a7a2893b6a7a80e74499208b4dd0442b51e22cab803875317542de51a0fd256fe2 SHA512 92407c44ae8e33935525262aacc2ca6f7a12b22638f26489112b902608a09401120e6732cc8d96f9e1c8eb3ab5d0a4b432cb40221ae67b75b62b3c7bcc10b5e2
-EBUILD qdox-2.0.1.ebuild 2820 BLAKE2B e22d6ed9daaaf8f32cdf25d2355676adcb780261d2ab65928e580e2b26c5557d3a8a111f876c444888735faa9accc95e6ab42eee5dce3964ba1e5913a8c02baf SHA512 894ff8420252af370ac335e85c80ad56daeff216286b9534a5664399e951af5f2713606ae1e2f8641a6cd72c7edb2b2bda705a2ae88e3ef21013ca6499adc892
+EBUILD qdox-1.12.1-r6.ebuild 2924 BLAKE2B 9a866191f19dedac7cf50b5a94032765fe6a27986eb8088b115ab0e0099baf77af9d1bae061743f02bf2d4d6facdf853ef41aa5282b9a023d8602ba2a8fa3516 SHA512 167500b4ef23aba7f021992222f52f530573a86e4a335884ee00d944bea288c2fdebbc460c99970767e7e7478089ed8aeb2559d5abfb5361008cf3800bbbc3fc
+EBUILD qdox-2.0.1.ebuild 2815 BLAKE2B 9a245b766a3ea5484b6e84ec4edfa05f98c4b6e2ca76a380a4b6717ff1b8ff0c0183feb712d6740bda1db84861bf64d39d11f437c63ce1b116065d523a14a953 SHA512 96ae28a0fcd12b53ea914942930c8a0a2c55f4a608ae23c052d364b52cb66d57dc2ab1cbf8c9877c5edc3174357058895747882e723b15e6170320cb978e4403
MISC metadata.xml 559 BLAKE2B d6d6774a40f5ff9d1a1bec881cb25d168c97d26705dfa0379cb40dfdd628ebda573e004080252bdbb7e2826daace708ff291ff1726760bdbf29c24102db3debd SHA512 ed0d7a8d8f90b3890edd368715980141a54b02e84f49b34132c165985df822be898e3b564d56e30938a6812639309a1f2947f5346f10678957dd9bf3858dd3f5
diff --git a/dev-java/qdox/qdox-1.12.1-r6.ebuild b/dev-java/qdox/qdox-1.12.1-r6.ebuild
new file mode 100644
index 000000000000..a06037118b89
--- /dev/null
+++ b/dev-java/qdox/qdox-1.12.1-r6.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 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
+ x86? ( https://repo1.maven.org/maven2/de/jflex/jflex/1.6.1/jflex-1.6.1.jar )"
+S="${WORKDIR}/${PN}-${PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="1.12"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~ppc-macos ~x64-macos"
+IUSE="ant-task"
+REQUIRED_USE="test? ( ant-task )"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ dev-java/byaccj:0
+ dev-java/jmock:1.0
+ !x86? ( dev-java/jflex:0 )
+ ant-task? ( >=dev-java/ant-1.10.14-r3:0 )
+ test? ( dev-java/junit:0 )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.14-r3:0 )
+"
+
+PATCHES=(
+ "${FILESDIR}/jflex-1.6.1.patch"
+)
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ use x86 && cp "${DISTDIR}/jflex-1.6.1.jar" "${WORKDIR}"
+}
+
+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() {
+ # https://bugs.gentoo.org/778416 - for x86 we provide the precompiled jflex
+ if use x86; then
+ "$(java-config -J)" -cp "${WORKDIR}/jflex-1.6.1.jar" jflex.Main \
+ src/grammar/lexer.flex --skel src/grammar/skeleton.inner -d src/java/com/thoughtworks/qdox/parser/impl/ || die
+ else
+ jflex \
+ src/grammar/lexer.flex --skel src/grammar/skeleton.inner -d src/java/com/thoughtworks/qdox/parser/impl/ || die
+ fi
+ 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.ebuild
index 0588a2ec7649..f046b3330bd9 100644
--- a/dev-java/qdox/qdox-2.0.1.ebuild
+++ b/dev-java/qdox/qdox-2.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,10 +12,11 @@ inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Parser for extracting class/interface/method definitions"
HOMEPAGE="https://github.com/paul-hammant/qdox"
SRC_URI="https://github.com/paul-hammant/qdox/archive/qdox-${PV}.tar.gz"
+S="${WORKDIR}/qdox-${P}"
LICENSE="Apache-2.0"
SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~ppc-macos ~x64-macos"
DEPEND="
dev-java/jflex:0
@@ -28,8 +29,6 @@ DEPEND="
RDEPEND=">=virtual/jre-1.8:*"
BDEPEND="dev-java/byaccj:0"
-S="${WORKDIR}/qdox-${P}"
-
JAVA_AUTOMATIC_MODULE_NAME="com.thoughtworks.qdox"
JAVA_SRC_DIR="src/main/java"
JAVA_CLASSPATH_EXTRA="jflex"
diff --git a/dev-java/xalan/Manifest b/dev-java/xalan/Manifest
index c70cf7deede9..d3c853e8188e 100644
--- a/dev-java/xalan/Manifest
+++ b/dev-java/xalan/Manifest
@@ -1,4 +1,6 @@
+DIST java-cup-bin-11b-20160615.tar.gz 144985 BLAKE2B fba4109a4999d6f5a678265d2374bc305fc9fe8b724a0af5fb60402d612904447ebe9285e8672652c492cd2e630752eb9ffeb8017be1dea081ddcb30f815a687 SHA512 edba197bfe0638838ad2e9cb7342ffcbbec4f2a71436fc4bf82ff0e1987fe9f490849c644945cf7e7deade9f12f458e019410a2d9c1f22c0182137fe5ad2349f
DIST xalan-j_2_7_3-src.tar.gz 13686458 BLAKE2B e19373aa22dad13945917d8f041f56e6ff9cc434a70e88b96764e0547a0a122a9197eeb23bb7757a5483beead334f4af62e7e1b70531b23c31199ec4733756ef SHA512 fe4b2b9471f95a2cd3607550a6c97b46b7d2576d1e814305f4564df88aaf4fdc9f88ba43dad4a5741521b2c2f5137e3e70d2d4e31b232d403a66dc1e889c8b6b
DIST xalan-j_2_7_3-src.tar.gz.asc 849 BLAKE2B 623fefefa3ab88bfdef5376101f26a9c6602c30a34c0db369159bdb7af34ccb2602011071dd3e79304e6dd4e8b8a198729347f5dbee9a06ae12af12d351de82a SHA512 5c7ed7e71f8a0c2739a64f9ba34edb28d749924d1a581b9963bed3376151a090c2c1af2b1111612822cf20d27a814e22917660f034912e8e5fa913b434e66bf2
EBUILD xalan-2.7.3-r1.ebuild 1243 BLAKE2B 1fd140152841bf91522aca40f30f73ff24b1b7b63a8b939e0aedeac3f56a441932eefcac1ffd468a78f45fccc60dfaec4ae1997dc1cec2715db3458273422075 SHA512 b31b34b6875e10c7c051fd4307751e32b4f8874315878d65a234c7d7a31883d3f2fb657a2cf8c4407d38b357cbbd8b43d8e6ee9f8d2f3314955afd385c7a03e7
+EBUILD xalan-2.7.3-r2.ebuild 2239 BLAKE2B cd7eed7841bc7cff8d1cc8e1b831523e241c9cd4f795d14006f1d542d75f89b6a4e60db96913e2c326e378155963151d8830b8f29b0abb7138035cfbdadccb8c SHA512 10f320e3ba5d0713d77f4e060b4649879fb1fb472ea54bbc86441f3aafff75dd9a91566b3a61a3482211b56f951025f0479f34bfcb98e53b56852ba01758501f
MISC metadata.xml 233 BLAKE2B 2b385ca77219f08b2874b3a4a91a0c836d3cb45ec44b05babb33d590c56ceb5337ecb93a8450a37f8e6bbf4cfc1455892e8142d22e0a1d527d40361e2dce350b SHA512 1acc975a7dc3344bc63282d652ca00d8245970b58353b4fd00f09a4859db3eaba2dcd85e1537d424b7174e4f9c01c2ffb10ec6d107b5c895c9ca20730666de7f
diff --git a/dev-java/xalan/xalan-2.7.3-r2.ebuild b/dev-java/xalan/xalan-2.7.3-r2.ebuild
new file mode 100644
index 000000000000..a46680273ed9
--- /dev/null
+++ b/dev-java/xalan/xalan-2.7.3-r2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="xalan:xalan:2.7.3"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Transforming XML documents into HTML, text, or other XML document types"
+HOMEPAGE="https://xalan.apache.org/"
+SRC_URI="mirror://apache/xalan/xalan-j/source/xalan-j_${PV//./_}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/xalan/xalan-j/source/xalan-j_${PV//./_}-src.tar.gz.asc )
+ x86? ( https://www2.cs.tum.edu/projects/cup/releases/java-cup-bin-11b-20160615.tar.gz )"
+
+S="${WORKDIR}/xalan-j_${PV//./_}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+# https://bugs.gentoo.org/936274 - for x86 we provide the precompiled java-cup
+COMMON_DEPEND="
+ !x86? ( dev-java/javacup:0 )
+"
+
+CP_DEPEND="
+ dev-java/bcel:0
+ ~dev-java/xalan-serializer-${PV}:${SLOT}
+ dev-java/xerces:2
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xalan-j )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xalan-j.apache.org.asc"
+
+JAVA_MAIN_CLASS="org.apache.xalan.xslt.Process"
+JAVA_SRC_DIR="src"
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached \
+ "${DISTDIR}/xalan-j_${PV//./_}-src.tar.gz" \
+ "${DISTDIR}/xalan-j_${PV//./_}-src.tar.gz.asc"
+ fi
+ unpack "xalan-j_${PV//./_}-src.tar.gz"
+ use x86 && unpack java-cup-bin-11b-20160615.tar.gz
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # serializer is packaged separately
+ rm -r src/org/apache/xml/serializer || die "cannot remove serializer"
+ use !x86 && JAVA_GENTOO_CLASSPATH="javacup"
+ use x86 && JAVA_GENTOO_CLASSPATH_EXTRA="${WORKDIR}/java-cup-11b-runtime.jar:${WORKDIR}/java-cup-11b.jar"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ if use x86; then
+ java-pkg_newjar "${WORKDIR}/java-cup-11b-runtime.jar" java-cup-runtime.jar
+ java-pkg_newjar "${WORKDIR}/java-cup-11b.jar" java-cup.jar
+ java-pkg_regjar "${ED}/usr/share/${PN}/lib/java-cup-runtime.jar"
+ java-pkg_regjar "${ED}/usr/share/${PN}/lib/java-cup.jar"
+ fi
+}