summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/Manifest.gzbin59664 -> 59663 bytes
-rw-r--r--dev-java/bcmail/Manifest2
-rw-r--r--dev-java/bcmail/bcmail-1.77.ebuild57
-rw-r--r--dev-java/bcpg/Manifest2
-rw-r--r--dev-java/bcpg/bcpg-1.77.ebuild60
-rw-r--r--dev-java/bcpkix/Manifest3
-rw-r--r--dev-java/bcpkix/bcpkix-1.77.ebuild102
-rw-r--r--dev-java/bcprov/Manifest3
-rw-r--r--dev-java/bcprov/bcprov-1.77.ebuild106
-rw-r--r--dev-java/bcutil/Manifest2
-rw-r--r--dev-java/bcutil/bcutil-1.77.ebuild55
-rw-r--r--dev-java/commons-imaging/Manifest4
-rw-r--r--dev-java/commons-imaging/commons-imaging-1.0_alpha3-r1.ebuild36
-rw-r--r--dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild37
-rw-r--r--dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch12
-rw-r--r--dev-java/icu4j/Manifest2
-rw-r--r--dev-java/icu4j/icu4j-74.1.ebuild198
-rw-r--r--dev-java/protobuf-java/Manifest4
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.23.3.ebuild164
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.25.1.ebuild166
20 files changed, 977 insertions, 38 deletions
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz
index 2291a3070369..1b37e202e4b0 100644
--- a/dev-java/Manifest.gz
+++ b/dev-java/Manifest.gz
Binary files differ
diff --git a/dev-java/bcmail/Manifest b/dev-java/bcmail/Manifest
index 14f9d6bbde5f..1239fb9f0e87 100644
--- a/dev-java/bcmail/Manifest
+++ b/dev-java/bcmail/Manifest
@@ -1,3 +1,5 @@
DIST bc-java-r1rv76.tar.gz 31256952 BLAKE2B b791ef3da7189bc6990935aaad7c331c1bf6a45af0cdfc72056ae0cf1723e57ce15a76060251f6de630b0729ffe22ba4718255c103a8ab66db61f2e46f1201c8 SHA512 7d408821408bbabd209d9507b061f3113822878c12b12a040c829f5a8c6bdf8450719aef60c423025824bec1fcb6c63d8478d1f84f3cb1d692fdbacde6d9ce6e
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
EBUILD bcmail-1.76.ebuild 1387 BLAKE2B 7c38b784353e96621dbaaeff0ac55db490b6d879840c2d60b8e0cb44932981252f7a8cc8e8766d0bdab23519feba6998c09581529348b46f2a624996c83092f6 SHA512 712ac6b77d99c60c2a5646928ab9d305e4b767d7ab8ba87e79b07ded84ba1e05f3c7e4a86d22ec0a64697d4e56bff406d848e0d311dcdc3e70e88414b05acc68
+EBUILD bcmail-1.77.ebuild 1386 BLAKE2B 684b1078acf1af4ec28dee46bf9a095d0ab15fce5ac8082768403d3a88682f39a323efec6bd889520299e84d6eec2ee11b97ebdec1bb1164680accb77ba757e5 SHA512 7f3d23a7242763f677bc3063923effdff3778c49da31c4646c777962120a731fe4668ec33ee68c5b0a727eb043ab26a5e0b8bd51cc5757cbec47d74d59c243ef
MISC metadata.xml 671 BLAKE2B 9bc7968fa569c698c7ac0f7af9a5301f55075db2ff416e55654ddca268b9ae1e63f4270d3fa7a99b06737b998c223db592f5fb570cee172a17cd3f7034b7d431 SHA512 b555d8d679fd4685aef9660023a12036d6459d8e88dfa4e5d7f84f47939574c2ded1bbf487c876435370382e2c06502d61189e79e61be49fa65aef9bb39f8ab9
diff --git a/dev-java/bcmail/bcmail-1.77.ebuild b/dev-java/bcmail/bcmail-1.77.ebuild
new file mode 100644
index 000000000000..326796f93fd7
--- /dev/null
+++ b/dev-java/bcmail/bcmail-1.77.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcmail-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz"
+S="${WORKDIR}/bc-java-${MY_PV}/mail"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="
+ ~dev-java/bcpkix-${PV}:0
+ ~dev-java/bcprov-${PV}:0
+ ~dev-java/bcutil-${PV}:0
+ dev-java/javax-mail:0
+ "
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.mail"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" "../pkix/src/main/resources" )
+JAVA_TEST_RUN_ONLY="org.bouncycastle.mail.smime.test.AllTests"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcpg/Manifest b/dev-java/bcpg/Manifest
index f5d9fae5cceb..c90f9da0f663 100644
--- a/dev-java/bcpg/Manifest
+++ b/dev-java/bcpg/Manifest
@@ -1,3 +1,5 @@
DIST bc-java-r1rv76.tar.gz 31256952 BLAKE2B b791ef3da7189bc6990935aaad7c331c1bf6a45af0cdfc72056ae0cf1723e57ce15a76060251f6de630b0729ffe22ba4718255c103a8ab66db61f2e46f1201c8 SHA512 7d408821408bbabd209d9507b061f3113822878c12b12a040c829f5a8c6bdf8450719aef60c423025824bec1fcb6c63d8478d1f84f3cb1d692fdbacde6d9ce6e
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
EBUILD bcpg-1.76.ebuild 1342 BLAKE2B abdb4bd4b69c4e500579b9134e5b899314794ad1af36905d81636863ed203d7f003cca30996b0a946686d805ccbab638b8d84f145cb6f289fb9dc6fe3d13961c SHA512 833ec1073392f689373271915dadb2ce11c1dfb257b0e0af1845bbf43f508e26e41f98df425fe82d2054c7b8faef656fd3b071cf08c0db375d8ed98d52900035
+EBUILD bcpg-1.77.ebuild 1372 BLAKE2B f98c92b46ea55b39af462e92679bc8b62c63d10e3f9312b2b9c59b729f12c4401db373cbbc646f79e6484b02d5dd7464e2e349d3cc909dfaf39b9840a5653970 SHA512 f4f2724d00e2701c5edf7a83a952e3ff53af6ca457870f04806248cf2a8dcc3958ada4869df9e26f46574d3de000b0a646f30bd4789390415fb22a64706bed2a
MISC metadata.xml 599 BLAKE2B 08d5304a26fb1a93dde104bbde8a26dd8850f9ed914f241baebc20c98a944c8d055f36071d114a07676c89fa87be261a4cfbf3fdc23d45d0e313a2e68f5723ac SHA512 f36347e51f6574d1feac4af8e18bdebfb536820305c3d136db51047c5799d767a84cf6885ac0982a6c4d61ce4aab76ccf00ca975f92f4150127b8fd57c781282
diff --git a/dev-java/bcpg/bcpg-1.77.ebuild b/dev-java/bcpg/bcpg-1.77.ebuild
new file mode 100644
index 000000000000..17ce22b47ee7
--- /dev/null
+++ b/dev-java/bcpg/bcpg-1.77.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcpg-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java cryptography APIs"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz"
+S="${WORKDIR}/bc-java-${MY_PV}/pg"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="~dev-java/bcprov-${PV}:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pg"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+src_test() {
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcpkix/Manifest b/dev-java/bcpkix/Manifest
index abf9bf21fe7c..b90602134998 100644
--- a/dev-java/bcpkix/Manifest
+++ b/dev-java/bcpkix/Manifest
@@ -1,4 +1,7 @@
DIST bc-java-r1rv76.tar.gz 31256952 BLAKE2B b791ef3da7189bc6990935aaad7c331c1bf6a45af0cdfc72056ae0cf1723e57ce15a76060251f6de630b0729ffe22ba4718255c103a8ab66db61f2e46f1201c8 SHA512 7d408821408bbabd209d9507b061f3113822878c12b12a040c829f5a8c6bdf8450719aef60c423025824bec1fcb6c63d8478d1f84f3cb1d692fdbacde6d9ce6e
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
DIST bc-test-data-r1rv76.tar.gz 2074813467 BLAKE2B 3d1bd122a907e4c46f3c8b84c4d27b3327b6c6deaded623e5bc9842d00c62bdeb521b1be3bdd495ffa10f2d1facc73d41176829eda4511827d24eb0f62fccef9 SHA512 3de068667ce9572530fa6422bdbc4455d7f1edd85e12166e7a266a447ed0ffab50c33cc5a99e668caf79156f87d86512a5507534469d3e6f479b908d4d2a1fb7
+DIST bc-test-data-r1rv77.tar.gz 2074825965 BLAKE2B b797821719ba0dcdd091e0fd4f14c79058a15702973978a055bcc998ff541a8c5e96feb757647a9696e4bbfa28bf80a317066a51fd4daac7b2508111d0d217b1 SHA512 c8701a270ddcfde353b480caa62e2237776b50b0937ac015ee3e5221a74d0817de9bc67f1fa9f53f5e48d861dbf94339cb45a08cb4dad37f1340f754cb1d910e
EBUILD bcpkix-1.76.ebuild 2500 BLAKE2B 10a69cd6e1e2f4fc5e253b7cb7864454785004143a891f87f8129ece7b788fca60b3ca3d68bffe7f23907a9b79f9d9fa3da891a3e54612d3f649a55614130f42 SHA512 ed644392c2651af84338c29ae1ac25375e0090ef209c17a6d88b751da8f2bd52e58e7052f4974fac8c3050f62ddcbe040e0f0b2e6d377f9994fe50f01f0eedc0
+EBUILD bcpkix-1.77.ebuild 2500 BLAKE2B c802e188786e2d0dee75e652c81bd9a6f442b2b272cb2d59996abeeb73c8814317b9294fe1c516177dd7a8ecb407ec068535c931c53342793c6665f4406440bd SHA512 7658eeb7f4bcbfa84ca33bc315f9c264fcc61dad0c7dec7bc7bf36ea36a8a0e47c9cec17a484cc9a27e077fc8951c016cda4918c85c5aa26fe8f376f7534e2dd
MISC metadata.xml 624 BLAKE2B cda1cc55ddf61bb2da753103b4cf95c8a7ab69d0f452195ff07439c7d0929c4ccbcd5fa55ca4dd5f66d3ddb6b1a9c3967fd0fa5fb9f494044f774435b98d49dc SHA512 714978225f45f67740cca5bcacac5b7089ae12bd074ef3d1392f9c48fc680e2db344f3ca70b9f1b83d16d9c85ea72f9869e4cf0e750889fc0164fa5c504d804b
diff --git a/dev-java/bcpkix/bcpkix-1.77.ebuild b/dev-java/bcpkix/bcpkix-1.77.ebuild
new file mode 100644
index 000000000000..5d09597544c6
--- /dev/null
+++ b/dev-java/bcpkix/bcpkix-1.77.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcpkix-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz
+ test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )"
+S="${WORKDIR}/bc-java-${MY_PV}/pkix"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# 1) testSANMismatchIP(org.bouncycastle.est.test.TestHostNameAuthorizer)
+# org.bouncycastle.est.ESTException: localhost.me: Temporary failure in name resolution HTTP Status Code: 0
+PROPERTIES="test_network"
+RESTRICT="test"
+
+CDEPEND="
+ ~dev-java/bcprov-${PV}:0
+ ~dev-java/bcutil-${PV}:0
+ "
+DEPEND="${CDEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pkix"
+JAVA_GENTOO_CLASSPATH="bcprov,bcutil"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/../core/src/test/data"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+# https://bugs.gentoo.org/823347
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2048M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+# https://bugs.gentoo.org/823347
+pkg_pretend() {
+ check_env
+}
+
+# https://bugs.gentoo.org/823347
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack bc-java-${MY_PV}.tar.gz
+ use test && unpack bc-test-data-${MY_PV}.tar.gz
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+# https://bugs.gentoo.org/823347
+src_test() {
+ mv ../../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data"
+
+ JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" \
+ )
+ popd
+ einfo "${JAVA_TEST_RUN_ONLY}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcprov/Manifest b/dev-java/bcprov/Manifest
index 9636730d7297..2c57d55c0a18 100644
--- a/dev-java/bcprov/Manifest
+++ b/dev-java/bcprov/Manifest
@@ -1,7 +1,10 @@
DIST bc-java-r1rv74.tar.gz 31236157 BLAKE2B ffdfe7aa34f361a559051f31fc57eeff39f7d080e4de4a94bdd0d79d92172b2646efa122edaf067633d6a840015e17271c186122598c18e3226622428fa9e1e7 SHA512 887183f825a8834ff512a66fa3f9075259b3266c2861e6e046990bd2dda80b896a8fd221ff2982a127de79fe998727ecc12cade4e6c381f2a152a72ee575d8a1
DIST bc-java-r1rv76.tar.gz 31256952 BLAKE2B b791ef3da7189bc6990935aaad7c331c1bf6a45af0cdfc72056ae0cf1723e57ce15a76060251f6de630b0729ffe22ba4718255c103a8ab66db61f2e46f1201c8 SHA512 7d408821408bbabd209d9507b061f3113822878c12b12a040c829f5a8c6bdf8450719aef60c423025824bec1fcb6c63d8478d1f84f3cb1d692fdbacde6d9ce6e
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
DIST bc-test-data-r1rv74.tar.gz 2074813647 BLAKE2B 8060ee31fa45fbceecb3ed57bc5d8195c8ea72c732e56f2c5f5adf9f785e76934300fe2b07aabc4fa5672c2eb39b5b7aad1393a7ff47dd42a048fa110b9a1db6 SHA512 8a8aa2e372b533a8bca5dc81a94c08c50470446c1457a487b18a96620841b8035344148bcb46b4e211c287ca42b0ee2db29ea402967bf55b8bb0958eb5fbabae
DIST bc-test-data-r1rv76.tar.gz 2074813467 BLAKE2B 3d1bd122a907e4c46f3c8b84c4d27b3327b6c6deaded623e5bc9842d00c62bdeb521b1be3bdd495ffa10f2d1facc73d41176829eda4511827d24eb0f62fccef9 SHA512 3de068667ce9572530fa6422bdbc4455d7f1edd85e12166e7a266a447ed0ffab50c33cc5a99e668caf79156f87d86512a5507534469d3e6f479b908d4d2a1fb7
+DIST bc-test-data-r1rv77.tar.gz 2074825965 BLAKE2B b797821719ba0dcdd091e0fd4f14c79058a15702973978a055bcc998ff541a8c5e96feb757647a9696e4bbfa28bf80a317066a51fd4daac7b2508111d0d217b1 SHA512 c8701a270ddcfde353b480caa62e2237776b50b0937ac015ee3e5221a74d0817de9bc67f1fa9f53f5e48d861dbf94339cb45a08cb4dad37f1340f754cb1d910e
EBUILD bcprov-1.74.ebuild 2634 BLAKE2B f2014d0d9c16d0c28f0b8171a65a4b255413315168c4f18adc8ac799d398ceeb9e5be4b367d05acb6c65e66b48ec6c6ccbe3b9aba17e11241010489810a77512 SHA512 33cec5a5c73a48ca611caa448c71b1fe44e83336e673bbbc54c90cea0564ea14b79e1229af093a1c29964db0f3582fffcc7557d59f025d4aae66d3fc9cee762f
EBUILD bcprov-1.76.ebuild 2629 BLAKE2B e10da35f755bd78f70c8354b66507c6c2c5f84b38098626c9575266769462321f3f28b016c85130fffa58a23c70aa32e2298fdbfa097609e4218a4dbb1222f64 SHA512 d66bae11d5af8f91ba100ed4c1eea0b369e4d071251d8f82043ec1e4277926728900ba49cca16afe157c707d813ba44f2df86fac7f58002733af2517a71ea369
+EBUILD bcprov-1.77.ebuild 2629 BLAKE2B 38af6fd070d653a0e5ad5c4eea8447dece623dafae48aabf4436f961ab91a96d2f1402d5dd184b689945636e963e930dda5d0d28a112a551464e08ff6da7cf5e SHA512 986ae8cf75895fa117d50068f82e63bb04e00aebc31a00ff34996eb30b3a6cbd38f5d0fd288f6741ca7f1913848659aed75eba48b788ff3c2d91f967b8061036
MISC metadata.xml 554 BLAKE2B 585fb4da68796af220ac254cdd97d2ac988824c58b1eadde6cf59a50ca197fe8729418c948dd550e544eeb50702d0c96b8ff6f580368dc21a28a66f5d898bf4c SHA512 f78848b4c65b3d1373931bb00971c60688ea86b5bb7555f4a9889c4d560bfb505bffa3671dceb7dfb66f40ea21723d88e7c36191c91a203abf47c500fc0866df
diff --git a/dev-java/bcprov/bcprov-1.77.ebuild b/dev-java/bcprov/bcprov-1.77.ebuild
new file mode 100644
index 000000000000..1172445e18ff
--- /dev/null
+++ b/dev-java/bcprov/bcprov-1.77.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcprov-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="Java cryptography APIs"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz
+ test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )"
+S="${WORKDIR}/bc-java-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="app-arch/zip"
+
+DOCS=( {README,SECURITY}.md )
+HTML_DOCS=( {CONTRIBUTORS,index}.html )
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2048M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack bc-java-${MY_PV}.tar.gz
+ use test && unpack bc-test-data-${MY_PV}.tar.gz
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # TBD: unboundid-ldapsdk should be packaged from source.
+ java-pkg_clean ! -path "./libs/unboundid-ldapsdk-6.0.8.jar"
+}
+
+src_compile() {
+ JAVA_RESOURCE_DIRS=(
+ "core/src/main/resources"
+ "prov/src/main/resources"
+ )
+ JAVA_SRC_DIR=(
+ "core/src/main/java"
+ "prov/src/main/java"
+ "prov/src/main/jdk1.9"
+ )
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ mv ../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data"
+
+ JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/core/src/test/data"
+ JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+ einfo "Testing \"core\""
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ pushd core/src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Testing bcprov"
+ JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar:libs/unboundid-ldapsdk-6.0.8.jar"
+ JAVA_TEST_RESOURCE_DIRS="prov/src/test/resources"
+ JAVA_TEST_SRC_DIR="prov/src/test/java"
+ pushd prov/src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcutil/Manifest b/dev-java/bcutil/Manifest
index ce99c937189b..fcae57a53d70 100644
--- a/dev-java/bcutil/Manifest
+++ b/dev-java/bcutil/Manifest
@@ -1,3 +1,5 @@
DIST bc-java-r1rv76.tar.gz 31256952 BLAKE2B b791ef3da7189bc6990935aaad7c331c1bf6a45af0cdfc72056ae0cf1723e57ce15a76060251f6de630b0729ffe22ba4718255c103a8ab66db61f2e46f1201c8 SHA512 7d408821408bbabd209d9507b061f3113822878c12b12a040c829f5a8c6bdf8450719aef60c423025824bec1fcb6c63d8478d1f84f3cb1d692fdbacde6d9ce6e
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
EBUILD bcutil-1.76.ebuild 1287 BLAKE2B 967c62f1241744ee8da50e8f886e94ac6e968f50bbf9fb0dac59fa298f26767871bb3fad387d39b6f72faa7105180b8d9878c67e867f5f8b87c479343b356917 SHA512 a7f3204812088445b91802e67eb415087e530b1e2db5f2e54634ef331a2790e9107fbf69007102b70eeedb46afaa6f57cd2d260d0d3e7d302ed2b675a8b1b8be
+EBUILD bcutil-1.77.ebuild 1316 BLAKE2B 7d48e3e5a3e834787467d39d5319ac1efc245d8cece33c15fad47fa691dfcc487519dc422d281f2a0bdb1fecb07669d56400575cef0aa82b7966b271b11b5665 SHA512 fd24ec613e45f881d5cc4627b327de68e0c813cf085a9c23b52b03e1a0caf2a5a6cc622edc41a5f4f28984a91ca310f58b43d25102a85dace000046895111310
MISC metadata.xml 478 BLAKE2B 877e4909a1a5f6903a5832348ba2cbbfd071eec425a576b8eb7af8b5c28b9a7d0efbc603e0a8b281607351a52ba130b3121f658b5beea1d7a618d5f0921f9a64 SHA512 12a308175f5b05b9b42f5ffcc03221615609d67670abfe211ee4b3b0c6f178516dab89a13f6539d26c4c4d15b1a83fc3ecd6b6872be14f1d3a30176404c43f12
diff --git a/dev-java/bcutil/bcutil-1.77.ebuild b/dev-java/bcutil/bcutil-1.77.ebuild
new file mode 100644
index 000000000000..b21e1cdf51c8
--- /dev/null
+++ b/dev-java/bcutil/bcutil-1.77.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcutil-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz"
+S="${WORKDIR}/bc-java-${MY_PV}/util"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+CDEPEND="~dev-java/bcprov-${PV}:0"
+DEPEND="${CDEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.util"
+JAVA_GENTOO_CLASSPATH="bcprov"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY=(
+ "org.bouncycastle.asn1.util.test.AllTests"
+ "org.bouncycastle.oer.test.AllTests"
+)
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/commons-imaging/Manifest b/dev-java/commons-imaging/Manifest
index 794b30db5086..c73c769cb441 100644
--- a/dev-java/commons-imaging/Manifest
+++ b/dev-java/commons-imaging/Manifest
@@ -1,3 +1,5 @@
+AUX commons-imaging-1.0_alpha3-PngChunk.javadoc.patch 734 BLAKE2B 8ea3c987688bef6537ca329514b638dfd0fc1322a2e4e3700537412fbbdc74d72e1e95dee4a7131587035e8e79485a08b6d7ba6ee79c95b27b3a40f5ba614632 SHA512 604cb85bac45a3b3882f283f1172c4d48578826e4f99e7d6e11bb2311c997248ca37003bfd9730c9e982ea8940ada0ed3ad1fd767984210fd18a7c72dffa1dd9
DIST commons-imaging-1.0-alpha3-src.tar.gz 39966281 BLAKE2B f0fbb6d7ae0c12be19fe13d3ff4e1cced5acfe7ea72326528c67b57fade73c0acee3eb8eaa62b3d40c473c0c2faf7f60ec190bc0954c5159405358bfac4efd42 SHA512 16300adb5873fef464bedfdce7e1368f52add8d33087f059667840880b8666024feeecdb278a53d5c3d8e76d01ab921ea146d41ca688757f0cf0c2f2b32b0d53
-EBUILD commons-imaging-1.0_alpha3.ebuild 1289 BLAKE2B 084b8460884a4ac1a61b35843e16ecb0f09038779b8c96d4898963f4a3d3f6ae75a8e117f33557d5609f5b62183eb1d6e1f0c6d768f0ea71eab4bf906fb846b4 SHA512 d9bb40a772e61230f95842a5ba066e20eeb267f941e7bd59fef0a7985188fdc1442f9affa28644ad7c6a1717b477ba363f28b7c07f415d46aa68c9a34d4c145f
+DIST commons-imaging-1.0-alpha3-src.tar.gz.asc 833 BLAKE2B b28631badf344fa476a99db78e26a9453d033d21dba8484b2621a4cb0295ea262f58d2df4f8afd6d8090ecd0ea98ec2dca0168e2b401d662c335ad1ef9518b98 SHA512 b7e6691d5eac6f81657dc42aa69184da7fd1bf364da391ac4e1a27991d9a8bbba23296d58b874b4c69a20d39c3c1e821ca19c312f3e71b3acd8903156a2a0a1d
+EBUILD commons-imaging-1.0_alpha3-r1.ebuild 1148 BLAKE2B 87c54db705c40c7a102485922d1ca305088cc108457cf03ddf34428bb212d1929fc874dfc92a8c9e2051a965379c3b20b152ec0b3efde95c99030d4985b94b00 SHA512 590b7ef85f1ffb20303ca30476788489f7bb8ae0e93c766f19b086a4a0989c0dcab25218bd1cfc24b225d075cea83ac9f2527bc3a216683306f343aaea2bfeca
MISC metadata.xml 1078 BLAKE2B e2b1574082b656f2025228403463c5111b3d8174d72f9f4d9e31de9c9f72682b6cdd534d4aee455c30f222ae29fddf516395484a7b7fd5811cbd1f82382f4865 SHA512 812966e93eaea83f94ad0957d2421e73bafceff6c354b822d6936cbea9cd058e7dd0400d8d21e88eaa37a1cf1db625f2d5300317ea9817fc705558092c579cf3
diff --git a/dev-java/commons-imaging/commons-imaging-1.0_alpha3-r1.ebuild b/dev-java/commons-imaging/commons-imaging-1.0_alpha3-r1.ebuild
new file mode 100644
index 000000000000..dc75db349433
--- /dev/null
+++ b/dev-java/commons-imaging/commons-imaging-1.0_alpha3-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.commons:commons-imaging:${PV/_/-}"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Commons Imaging (previously Sanselan) is a pure-Java image library."
+HOMEPAGE="https://commons.apache.org/proper/commons-imaging/"
+SRC_URI="mirror://apache/commons/imaging/source/${P/_/-}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/imaging/source/${P/_/-}-src.tar.gz.asc )"
+S="${WORKDIR}/${P/_/-}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {NOTICE,RELEASE-NOTES}.txt README.md )
+PATCHES=( "${FILESDIR}/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch" )
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.imaging"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild b/dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild
deleted file mode 100644
index 338fc76ea1a4..000000000000
--- a/dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri mirror://apache/commons/imaging/source/commons-imaging-1.0-alpha3-src.tar.gz --slot 0 --keywords "~amd64 ~x86" --ebuild commons-imaging-1.0_alpha3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.commons:commons-imaging:1.0-alpha2"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Commons Imaging (previously Sanselan) is a pure-Java image library."
-HOMEPAGE="https://commons.apache.org/proper/commons-imaging/"
-SRC_URI="mirror://apache/commons/imaging/source/commons-imaging-${PV/_/-}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Compile dependencies
-# POM: pom.xml
-# test? commons-io:commons-io:2.7 -> >=dev-java/commons-io-2.11.0:1
-# test? org.hamcrest:hamcrest:2.2 -> !!!artifactId-not-found!!!
-# test? org.junit.jupiter:junit-jupiter:5.6.2 -> !!!groupId-not-found!!!
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( {LICENSE,NOTICE,RELEASE-NOTES}.txt README.md )
-
-S="${WORKDIR}/${P/_/-}-src"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.imaging"
diff --git a/dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch b/dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch
new file mode 100644
index 000000000000..03f8074b8f3a
--- /dev/null
+++ b/dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/861767
+--- a/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunk.java
++++ b/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunk.java
+@@ -24,7 +24,7 @@ import org.apache.commons.imaging.common.BinaryFileParser;
+ * A PNG image is composed of several chunks. This is the base class for the chunks,
+ * used by the parser.
+ *
+- * @see <a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics#%22Chunks%22_within_the_file>Portable_Network_Graphics</a>
++ * @see <a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics#%22Chunks%22_within_the_file">Portable_Network_Graphics</a>
+ */
+ public class PngChunk extends BinaryFileParser {
+ public final int length;
diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index e640eb5d987b..0d0e2b2854ee 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1,3 +1,5 @@
DIST icu-73.2.tar.gz 81522943 BLAKE2B 006d7ccab04385f0aa60e2e60b616be9598f448f27d9b0f6dba554874bfe1dd442ba0719a7677ba8aba7e4e0f05e5e50dca74855a900da1f496aad0cd54c3cdc SHA512 f234fb9c76af62dad59e159ef7f7792aca563d88f2988d3d1ecc8be6250837beb9a530ec121e0949f6925ee8e5171a0d04fa41a0c50d9993c4061fa55be6836e
+DIST icu-74.1.tar.gz 65889935 BLAKE2B e9dc354a795b69cf22152db437027f099e65b02f352e3ec9f0203b465b4f01a7844229ed5a7954e9b7f7f55f0d2d93a8e1f984c70de47555c230ec8b42cb7949 SHA512 eec8858cb37200fffce9bc60a8bd0c56d7024d9e2574d030c7e726aa4b2a105b1362548c0be163c720048bd7a7bfe9374b3c5954ba14e2e34beab346a8af8df4
EBUILD icu4j-73.2.ebuild 8286 BLAKE2B f41baec48303d8e321768b6434b58cf59a1340929e38d41334e7c9946f08b15993b547ce8d8f0675d37ce54c1d5f51413e78c81a8a06eb92a3370fca1a76d12b SHA512 4f4bb637426334d334eeb627ae26ae93d16267fc3fc77d44b9697b2f630930d0586ea976edca1656a87cc71f16dbe9d867b93afbf6e05a6e97792bd88520adbd
+EBUILD icu4j-74.1.ebuild 5635 BLAKE2B f5b17e5aa2957f84ebfda787f3e72703b7841fdce2d2f1edc20ba972a0e818ca13e8d5ec7095b51f9caff6339e71d9b93625cbb7e662a8ad5b0dd20d0bb90bd5 SHA512 59616ff7d48f03c0617127feae6d128cf5b1a8612cb63760e1a29ba0641e5ba5d2caa532eb3cf82ec19111fefb276fbcdd34fa209223c774a9ecf56af155bb82
MISC metadata.xml 408 BLAKE2B 8d73c37540d7adce52f3f5b316d7c322bdbbacc3fd2dea5e361352bff8efb3ec2a5b49ca4e7b97d15e8c668e52fe32f90ec1972bae78b9b3b3354973d8fc992a SHA512 eb7df20108b1ebcbf5dd9edd72c2089df2c675028824b4c04976e35b4c306dd459a40aa45b0ac7da5392552657cd1dbaf2fb17b269f9d58110a6ac40dc377b0c
diff --git a/dev-java/icu4j/icu4j-74.1.ebuild b/dev-java/icu4j/icu4j-74.1.ebuild
new file mode 100644
index 000000000000..df57cac1fc96
--- /dev/null
+++ b/dev-java/icu4j/icu4j-74.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ com.ibm.icu:icu4j:${PV}
+ com.ibm.icu:icu4j-charset:${PV}
+ com.ibm.icu:icu4j-localespi:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A set of Java libraries providing Unicode and Globalization support"
+HOMEPAGE="https://icu.unicode.org"
+SRC_URI="https://github.com/unicode-org/icu/archive/release-${PV/./-}.tar.gz -> icu-${PV}.tar.gz"
+S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
+
+LICENSE="icu"
+SLOT="70"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junitparams:0 )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../../{CONTRIBUTING,README,SECURITY}.md )
+HTML_DOCS=( ../{APIChangeReport,readme}.html )
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar"
+
+ einfo "Compiling icu4j.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu"
+ JAVA_JAR_FILENAME="icu4j.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
+ JAVA_RESOURCE_DIRS=(
+ collate/src/main/resources
+ core/src/main/resources
+ currdata/src/main/resources
+ langdata/src/main/resources
+ regiondata/src/main/resources
+ translit/src/main/resources
+ )
+ JAVA_SRC_DIR=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Compiling icu4j-charset.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.charset"
+ JAVA_JAR_FILENAME="icu4j-charset.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=( charset/src/main/resources )
+ JAVA_SRC_DIR=( charset/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Compiling icu4j-localespi.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.localespi"
+ JAVA_JAR_FILENAME="icu4j-localespi.jar"
+ JAVA_RESOURCE_DIRS=( localespi/src/main/resources )
+ JAVA_SRC_DIR=( localespi/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ # javadocs
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ JAVA_SRC_DIR=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ charset/src/main/java
+ localespi/src/main/java
+ )
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test () {
+ # TZ needed for some tests in com/ibm/icu/dev/test/format/DateFormatTest
+ export LC_ALL="en_US.UTF-8" TZ="US/Pacific"
+
+ JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4,junitparams"
+
+ einfo "Compiling framework-tests.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.framework"
+ JAVA_JAR_FILENAME="framework-tests.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.dev.test.TestAll"
+ JAVA_RESOURCE_DIRS=( framework/src/test/resources )
+ JAVA_SRC_DIR=( framework/src/test/java )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":framework-tests.jar"
+
+ einfo "Testing core aka icu4j.jar"
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ # exclude invalid tests, not run by "mvn test"
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*Test*.java" \
+ ! -name "ChineseTestCase.java" \
+ ! -name "DataDrivenNumberFormatTestUtility.java" \
+ ! -name "*Helper.java" \
+ ! -name "ModuleTest.java" \
+ ! -name "*Sample.java" \
+ ! -name "TestCase.java" \
+ ! -name "*TestData*.java" \
+ ! -name "*TestFmwk.java" \
+ ! -name "TestMessages.java" \
+ ! -name "TestUtils.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Creating core-tests.jar"
+ jar cvf core-tests.jar -C target/test-classes .
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
+ JAVA_TEST_RUN_ONLY=""
+
+ einfo "Testing collate"
+ JAVA_TEST_RESOURCE_DIRS="collate/src/test/resources"
+ JAVA_TEST_SRC_DIR="collate/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing translit"
+ JAVA_TEST_EXCLUDES=(
+ # Invalid test classes, No runnable methods
+ com.ibm.icu.dev.test.TestBoilerplate
+ com.ibm.icu.dev.test.translit.TestUtility
+ )
+ JAVA_TEST_RESOURCE_DIRS="translit/src/test/resources"
+ JAVA_TEST_SRC_DIR="translit/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing charset"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="charset/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing common_tests"
+ # "mvn test" runs only 90 tests here, Gentoo runs 99 but 9 of them fail.
+ # coverage tests fail because test handlers for the parametrized tests
+ # are not defined so the tests are broken and cannot succeed
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.serializable.CoverageTest )
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="common_tests/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing localespi"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="localespi/src/test/java"
+ # Invalid test classes, No runnable methods
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.localespi.TestUtil )
+ # https://bugs.gentoo.org/827212, "mvn test" does not run it at all
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if [[ "${vm_version}" != "1.8" ]] ; then
+ java-pkg-simple_src_test
+ fi
+}
+
+src_install() {
+ default
+ java-pkg_dojar "icu4j.jar"
+ java-pkg_dojar "icu4j-charset.jar"
+ java-pkg_dojar "icu4j-localespi.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ if use source; then
+ java-pkg_dosrc "classes"
+ fi
+}
diff --git a/dev-java/protobuf-java/Manifest b/dev-java/protobuf-java/Manifest
index 9b31ede41032..f87352b5d782 100644
--- a/dev-java/protobuf-java/Manifest
+++ b/dev-java/protobuf-java/Manifest
@@ -1,7 +1,11 @@
AUX protobuf-java-3.23.0-unittest_retention.proto.patch 2122 BLAKE2B b7c7297efaf11291809c46452291419482775e9cca712e000d8a1a604c01fe1bd1df3d076c56154c37ec6d32731a9384bcce1deb23b06dcaa26e0a00b4438160 SHA512 18e9da72f5fca6f1585836c37a3040c43c1db84f617f78ad91d642e9db2811953e30e8a676011ddb5e2c273698527c89487606c0428cfdcbb7c3e7d6d782832f
DIST protobuf-23.0.tar.gz 5039837 BLAKE2B 63e02590b03fd9206cdfc4a26edeb2fa55dac902f5365c33c9e9340a722f552e4a5c82d1a0b25b84fcb675d5d06b768fd92cf472743d2361295129ae9faa02f3 SHA512 46c263fab189fdc310c7310d1a3d9e76472e5d96f16228bc4b946d4211afc64188d563ec70250c11a3dd05d18158b72ccf173567bd59aa45310eff62cd5f194d
+DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
DIST protobuf-24.2.tar.gz 5179130 BLAKE2B a1e3da4e95072391fa4abf671a9eb77806f1b3864219e1e0c024156558e2ecd9e3cabee367efaf15626a199ae413dced3f29f601820611d37dd733c92ffc06c0 SHA512 fee9f5fc0e615e49347320e37b560112f43d13c63050701e25b3348e9d4aa59e80c7d810f7da12764b1b9eeee8efa35be7743c5ebbb0a12c78f5924f1544c356
+DIST protobuf-25.1.tar.gz 5878124 BLAKE2B a0b917e4518b07b221afd01e801e45b5b6fa35c7ccf8c21120d6a63f7174e53cc37d0516b1802d9243f8bb37b72b7f460a36dcbf0fffb09e011b05315c53efc3 SHA512 d2fad2188118ced2cd951bdb472d72cc9e9b2158c88eeca652c76332a884b5b5b4b58628f7777272fa693140753823584ea9c7924f1655b1d5a363f59bdf7a4c
DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
EBUILD protobuf-java-3.23.0.ebuild 5004 BLAKE2B 1e8d57764ebd6829fc9dac563302ed4478e01daa7ef0b3613f12ce4b217df8bca853207af11dbf27623526414d0cb5ff5890d0ec502c50d974c23555a3cb0e01 SHA512 2f7fef3aa5ba84f7e17ee9d9d49c734867cde32f49aa4769d2e20fcf02079e0fc1a49fd81515e651bc8980d07d96589d3d43e710eb69df8ab1e0b215c7379413
+EBUILD protobuf-java-3.23.3.ebuild 5027 BLAKE2B 70b320d99663593cdf079203fec0fc1cab49f236c2b1f2407375302d29ed892a2a4f834acf4edc422f476c649a0378bd6c474ced5743156cd7d5c0052a443326 SHA512 83b23d7a323fb774afb4f3b17b7af359cb4857d6a087d125b5ee495f919e5bb47bc2e8445dee0194d310ec7129fb98b218fc264d9874831cf933583a104b0bda
EBUILD protobuf-java-3.24.2.ebuild 5073 BLAKE2B bf8046461eb7aa9fc151ad76c60a4102ae89e14678441fbd8fe69e6f54cd8bd7f6d008903dace60bcab3dd5544d0624534e6a02fb134fab7ec78f3e3b93107b3 SHA512 028aeebc5c4d76cd57d087e362f832bcc59617984a4409c2815c8777f0e0585a13a297e4e63a0c7d714494ddfc515948771e65ceb839717c366e030edaf85363
+EBUILD protobuf-java-3.25.1.ebuild 5070 BLAKE2B 94ca65cd35051f3ae692478f94c6e42ef30935e6c907762c22b13dadc0391610dc9260851c3f730602b1d5ab80db1ab32baaf241dffe37c385a8aed8c3151d52 SHA512 e40407849b72a6dfec24fedb1b575bf67154d9f66d02ccf82c35d3e2ea33564edc7408d796982b92a8e0b60d777feb30f5beff425420fb9c3f80ed095a03e23c
MISC metadata.xml 777 BLAKE2B 70de12bad5be3c8278834a4a8444c7485470c0f1822ff50f8d44280ac3c1e7150c4428cc417b59e834004cc92574a7016c90acf96728abc0b86c17ac14826df1 SHA512 7addbf4ecf146a11ab301c0e0657ec0572dfa84d4fccdd0bccb3248cab7f09956758041be670f8e22f114292447e3e00c7cd7d251c29e39b2e57eb5dd3a022c5
diff --git a/dev-java/protobuf-java/protobuf-java-3.23.3.ebuild b/dev-java/protobuf-java/protobuf-java-3.23.3.ebuild
new file mode 100644
index 000000000000..484bbc788521
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.23.3.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:3.23.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.23.3 from the 23.3 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV#3.}.tar.gz -> protobuf-${PV#3.}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${PV#3.}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${PV#3.}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230125.3 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-3.25.1.ebuild b/dev-java/protobuf-java/protobuf-java-3.25.1.ebuild
new file mode 100644
index 000000000000..2c2fc51fb3b6
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.25.1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.25.1 from the 25.1 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+MY_PV3="${PV#3.}"
+MY_PV="${MY_PV3/_rc/-rc}"
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${MY_PV}.tar.gz -> protobuf-${MY_PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV3}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230802.0 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}