summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/Manifest.gzbin55396 -> 55405 bytes
-rw-r--r--dev-java/guava-testlib/Manifest2
-rw-r--r--dev-java/guava-testlib/guava-testlib-33.4.0.ebuild68
-rw-r--r--dev-java/guava/Manifest2
-rw-r--r--dev-java/guava/guava-33.4.0.ebuild40
-rw-r--r--dev-java/javassist/Manifest2
-rw-r--r--dev-java/javassist/javassist-3.29.2.ebuild55
-rw-r--r--dev-java/protobuf-java/Manifest2
-rw-r--r--dev-java/protobuf-java/protobuf-java-4.29.2.ebuild152
9 files changed, 266 insertions, 57 deletions
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz
index d61b3b21daaa..7459ff29bc7b 100644
--- a/dev-java/Manifest.gz
+++ b/dev-java/Manifest.gz
Binary files differ
diff --git a/dev-java/guava-testlib/Manifest b/dev-java/guava-testlib/Manifest
index 5fab83b3fe9d..6c1a5662ac27 100644
--- a/dev-java/guava-testlib/Manifest
+++ b/dev-java/guava-testlib/Manifest
@@ -1,6 +1,8 @@
DIST guava-33.3.0.tar.gz 5819234 BLAKE2B 26c5f97b927f4afeb8c5d68714a54ef62bfc3995da8cf98d2022edd93054bb7e0bd38598adcefc209d04a246e3da50346e213ad49152e1fc0c91463cd8f0dea3 SHA512 122a10c98820443cbfc5769e1aaa5843becfc0e2e7119d0f2544d86bd265da1fc48c4113cb706f92d84ab896fc58583b80e7dc91b6cd13f9ee9996ae8457f02c
DIST guava-33.3.1.tar.gz 5827149 BLAKE2B f8ad29e921d7de7d4eeb65812a24dec9ee27feab7d8294ac037ac526c8069a652d7381af92afd457339ff394488d7c56d562e116b2508f105ced32080f727d78 SHA512 d357953607266b844d5711821a261b110bf44c32713a7c889aebc32e7a8e63aaa8126f1f1aee7c6ad3cf44830bd231a19fc09d802f1abeaff42096470214b0c3
+DIST guava-33.4.0.tar.gz 5900161 BLAKE2B 85201845218bfba9150e1190259588d46113c5267bf492f54a7d789e8ba7e890fa79e44a0fdf378949899b93f7df12d7480a38ccec4bc756b581f5b6529318a2 SHA512 6534867f40e2a63e7268e3dec1bc3ee0caafb89c77abc2fa2527b2612ecae17d01803f3968bee9844b3948cdb039b9c61ffdbba5309841c9a6a8d14118af970d
DIST truth-1.4.2.jar 275487 BLAKE2B 9c0dce92648f734ab88a0faf1a1e5328d747efffd29aa8f12b7ed2b2c87036ce18bf3195348f9ffce848842a240179fa60e9625c6997439a4cedce6aac6c2b77 SHA512 5f29cb259f2cf63e8a908061d2a58b28ecf12366a03564c8e63c33cdbdb21935ac95ed7b68437b015a2bd055732c88ec8ca1e55b45b99a2cb3e9dd53cb0b87cc
EBUILD guava-testlib-33.3.0.ebuild 1563 BLAKE2B 88a95dd25f1b09b46ea7749f25b42a3433900eea274043d119372f5da66bf8289079079060960d8dcbec3c71455bd5f516a2618ee64159648890547362b01b53 SHA512 1c07e250ee7668207d742a4e3ded30c26eb48928b079092d8557ff53e9c14afe977c7075db3e2199ea490f13935cdef2c4232774cf9bd624c6c3070c06ba9d9b
EBUILD guava-testlib-33.3.1.ebuild 1566 BLAKE2B d706e403bcbc4cf70f16f69e005e9342751067d1202caaa44e2b125bbd8b76902dffcca47cb93022a4ff4e4c330fc8f7a339244a150fda27d7ea0815328a3023 SHA512 6b5fc9ca3d93c222625c875c0ac018184ea357edd5b496e36530c8d809c53bb0b0410973576120969871f6f3c0f17f2ff7422a774f270a9c01e104f48fb53c0b
+EBUILD guava-testlib-33.4.0.ebuild 1572 BLAKE2B 275b538418e8157eace8b06114076fb993ddaaecef334bd504840b7087adc7e75c30ebe93ea4592c63b35498f64d30ab012d0e8ee1972789ae3a8c493e22bec8 SHA512 07ffcc5d72f7945eec84d901d1a95ebf30c1822fcc05fbb882036b657c343f26b35de1cbe844259d19716a82371aacd81b9329d4c30bd0749685fcb31e624a22
MISC metadata.xml 465 BLAKE2B 4219510a2bd85c049ada17dd780de974e3a972df9992cd693b52ae2b2d325342a8e70e233b2b884f8a07243da1abe0a1dc3affe1700f30b4093feb0e9ab07e95 SHA512 f7098be969eae6b094e54df6f05735dd6becf0dcdb19f28c5f7a675fe699e988655991f1846c9cb599b8932bfa1365e739ae762e8a0be8a83536e7fbbfa5e3e9
diff --git a/dev-java/guava-testlib/guava-testlib-33.4.0.ebuild b/dev-java/guava-testlib/guava-testlib-33.4.0.ebuild
new file mode 100644
index 000000000000..ef9546542cd9
--- /dev/null
+++ b/dev-java/guava-testlib/guava-testlib-33.4.0.ebuild
@@ -0,0 +1,68 @@
+# 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.google.guava:guava-testlib:${PV}-jre"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="A set of java classes to assist the tests for Guava itself"
+HOMEPAGE="https://github.com/google/guava"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> guava-${PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.4.2/truth-1.4.2.jar )"
+S="${WORKDIR}/guava-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.36.0:0
+ ~dev-java/guava-${PV}:0
+ dev-java/jsr305:0
+ dev-java/junit:4
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.48.2:0
+ dev-java/j2objc-annotations:0
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="checker-framework-qual j2objc-annotations"
+JAVA_SRC_DIR="${PN}/src"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="${PN}/test"
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="1024M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.4.2.jar:testdata.jar"
+ JAVA_TEST_EXTRA_ARGS="-Xmx${CHECKREQS_MEMORY}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/guava/Manifest b/dev-java/guava/Manifest
index 117e516f1d0f..db9c3d01903d 100644
--- a/dev-java/guava/Manifest
+++ b/dev-java/guava/Manifest
@@ -1,5 +1,7 @@
DIST guava-33.3.0.tar.gz 5819234 BLAKE2B 26c5f97b927f4afeb8c5d68714a54ef62bfc3995da8cf98d2022edd93054bb7e0bd38598adcefc209d04a246e3da50346e213ad49152e1fc0c91463cd8f0dea3 SHA512 122a10c98820443cbfc5769e1aaa5843becfc0e2e7119d0f2544d86bd265da1fc48c4113cb706f92d84ab896fc58583b80e7dc91b6cd13f9ee9996ae8457f02c
DIST guava-33.3.1.tar.gz 5827149 BLAKE2B f8ad29e921d7de7d4eeb65812a24dec9ee27feab7d8294ac037ac526c8069a652d7381af92afd457339ff394488d7c56d562e116b2508f105ced32080f727d78 SHA512 d357953607266b844d5711821a261b110bf44c32713a7c889aebc32e7a8e63aaa8126f1f1aee7c6ad3cf44830bd231a19fc09d802f1abeaff42096470214b0c3
+DIST guava-33.4.0.tar.gz 5900161 BLAKE2B 85201845218bfba9150e1190259588d46113c5267bf492f54a7d789e8ba7e890fa79e44a0fdf378949899b93f7df12d7480a38ccec4bc756b581f5b6529318a2 SHA512 6534867f40e2a63e7268e3dec1bc3ee0caafb89c77abc2fa2527b2612ecae17d01803f3968bee9844b3948cdb039b9c61ffdbba5309841c9a6a8d14118af970d
EBUILD guava-33.3.0.ebuild 900 BLAKE2B 8af41b5a562ba16e6557a841fb91e559c5142174780cc5232ec0f301899b416a5efbf6750d8983388d7866ac1a34403da4ec891f567788f44770bfbe7aeb415c SHA512 ea4918f9b0c4a2964aaf14109ff5a7ae8795a6dfdb438a7ff8a776340ea4b12a27d9738adee82c2d7bb9acba1cd366aada382e325cd612af579ac8abf9ecf87e
EBUILD guava-33.3.1.ebuild 903 BLAKE2B 08598f464fabee2c39faf7ed34a2b0f7ba618ecf936041ab9c0688d6cb6f7498ea9c1bafd7bad08a68778d588ccf8c6f87e911197aa6ce7cab95e84dafdff382 SHA512 27b50ceabcba84d3bed34c4f6f6c2327f30fa9c4d041758f0d316bf829d6f5df01447247de99d51056fd84ca34d5c76aeb10702bf6f3f92bcc9578b26a8cbc8b
+EBUILD guava-33.4.0.ebuild 910 BLAKE2B 8b112a39d3a1b592cc0102287e05c0c4fc15e0e0510f96d14b63dddbb14d1d8dc2abcb63f6a58d488b936aafae787c89e73acb5ee7a020ae89381f05b2303539 SHA512 abf04c266caf6320fd8d63d4d1db2e4e85d79309cf243cc4cd1ecbafe5ece49964de87ed4183a2f057bb24b88496ae3943631aa5e2dd3033088572f8c41b2bf0
MISC metadata.xml 589 BLAKE2B 36b17e71aeb533194b87a9101d730b3f233c23b175b65216bdeecfcbf1bc7ac0936b7b284cdb40a30573d630d34a9bf7c2ca966b26bef4a3e7c5d6e90a1075a5 SHA512 0b8556db4fe43dc25f7604dd98ebb01fb4318c8a861ca25a5d7db76fef4b076c2eb2a67b801807233ad950cfb0d70b438af3f9e84f408060a168d9897158c6eb
diff --git a/dev-java/guava/guava-33.4.0.ebuild b/dev-java/guava/guava-33.4.0.ebuild
new file mode 100644
index 000000000000..c4fdbeb247cb
--- /dev/null
+++ b/dev-java/guava/guava-33.4.0.ebuild
@@ -0,0 +1,40 @@
+# 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="com.google.guava:guava:${PV}-jre"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A collection of Google's core Java libraries"
+HOMEPAGE="https://github.com/google/guava"
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.36.0:0
+ dev-java/j2objc-annotations:0
+ dev-java/jsr305:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.48.2:0
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.common"
+JAVA_CLASSPATH_EXTRA="checker-framework-qual"
+JAVA_GENTOO_CLASSPATH_EXTRA=":futures/failureaccess/src"
+JAVA_SRC_DIR="guava/src"
diff --git a/dev-java/javassist/Manifest b/dev-java/javassist/Manifest
index 7c7d5fdb29f5..8bc57f077811 100644
--- a/dev-java/javassist/Manifest
+++ b/dev-java/javassist/Manifest
@@ -1,6 +1,4 @@
AUX javassist-3.29.2-gentoo.patch 2017 BLAKE2B 7febb5f77737ba747a0431f6e324867df2fc978d95b209a2e3d019a3da5f128cfc4442a393882f3e5d5ae924dcbb63d455a12edf66d4acc32a3a343e6fee079c SHA512 02e884234be315e40e333ca6978a2c1399610a0fe1a7d352c694ea943069c97c87bc1b34492033d30e4c39b03bbcbc80bf63f25161a97e6a6f64ef1273a4dd7a
-DIST javassist-3.29.2.tar.gz 1293705 BLAKE2B 23101970a3fe9e4428b9e2e55ec2973663b537b2e205db55952bce116eb0cdd327e156f9bebf16a3c4322d8e5002d612067b14e8d234e87524361b5f08c9ecde SHA512 651f48d9138b54d4816611c077614bbb15f8189d755c2c2c7e5c2dfb35ad8f48cd9d2e0532edbd565456a923b3166eaecdde8702d65c70a32eb21c2d42f67bfc
DIST javassist-3.30.2.tar.gz 1295788 BLAKE2B e54fc5eb0b61c3f706d3d91169fc2ed76b8b5f43c8b4ef9eca3fa8c0001d30fd700bfc3f92c2d1a6e0960910977e6086dfda37602bbc36addaaad9cab253333f SHA512 d4bcfc1dbf94f6727eceb2aa33c9c7b9bfd2087d91e3b8b38df86f79975c26b677301eca900e6fef5415f995428d107f93cb5ee5a0d634a82e14bc0199b49a62
-EBUILD javassist-3.29.2.ebuild 1407 BLAKE2B 8746f2546201642f469c3120b947ffd1813d05400273737bced86a6d887f02233a3890ac47cf9bb8e7ab8aca89db4c163e2561c0314c2be8a5e6eb04249a212d SHA512 94ab51dc8e4ecb7596fd79867f79968709b6c553cc58f92211e624138341246c7bc7ce368f10385329a3cc811bb64ef348e71a78f313bdc3a5ddb9ac9f185625
EBUILD javassist-3.30.2.ebuild 1406 BLAKE2B a950914135e9558a986ac8a77a314104653d53c5f4ce4f9524b029589ae40ff13a51ec89c3fa965351811e15ff11b26038e0e356bc0a4ded043f0c0aff0f9f9d SHA512 a831a92b808efcd695ae030ad6148293af2ecbddcc1fe50c1c9a04c25e5448c003f08c18926c2796b5ea0e44e9201fd245e15af6779ff5134e3ebaf3d949a384
MISC metadata.xml 551 BLAKE2B c2f226813733db484e082189bb9420fa19eea8d5f95f751cf42305f110dc6b8a6e07370d9e3bca4be9dfac71333c86e95fb5e3f48543ca0041c2e2a4d96808b0 SHA512 b6b193720397459d3133bed6d0e93973084375684f1df77f93703f9cadf06e0a23e2798a13edf70c67642a656d5e5ef24aef2c032c71b65bc215622dbe42c1e2
diff --git a/dev-java/javassist/javassist-3.29.2.ebuild b/dev-java/javassist/javassist-3.29.2.ebuild
deleted file mode 100644
index 87d13e19f38e..000000000000
--- a/dev-java/javassist/javassist-3.29.2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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="org.javassist:javassist:3.29.2-GA"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A class library for editing bytecodes in Java."
-HOMEPAGE="https://www.javassist.org"
-SRC_URI="https://github.com/jboss-javassist/javassist/archive/rel_${PV//./_}_ga.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-rel_${PV//./_}_ga"
-
-LICENSE="Apache-2.0 LGPL-2.1 MPL-1.1"
-SLOT="3"
-KEYWORDS="amd64 arm64 ppc64 ~amd64-linux ~x86-linux"
-
-DEPEND="
- >=virtual/jdk-11:*
- test? ( dev-java/hamcrest-library:1.3 )
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( Changes.md README.md )
-HTML_DOCS=( tutorial/{brown.css,tutorial.html,tutorial2.html,tutorial3.html} )
-
-PATCHES=( "${FILESDIR}/javassist-3.29.2-gentoo.patch" )
-
-JAVA_AUTOMATIC_MODULE_NAME="org.javassist"
-JAVA_MAIN_CLASS="javassist.CtClass"
-JAVA_SRC_DIR="src/main"
-
-JAVA_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3,junit-4"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_RUN_ONLY="javassist.JvstTest" # pom.xml, line 167
-JAVA_TEST_SRC_DIR="src/test"
-
-src_prepare() {
- default #780585
- java-pkg-2_src_prepare
- java-pkg_clean javassist.jar
-}
-
-src_test() {
- default
- einfo "Testing"
- JAVA_PKG_WANT_SOURCE=11
- JAVA_PKG_WANT_TARGET=11
- JAVAC_ARGS="-g -parameters"
- java-pkg-simple_src_test
-}
diff --git a/dev-java/protobuf-java/Manifest b/dev-java/protobuf-java/Manifest
index 97c971b0ffb7..948f382af75c 100644
--- a/dev-java/protobuf-java/Manifest
+++ b/dev-java/protobuf-java/Manifest
@@ -1,8 +1,10 @@
DIST protobuf-27.2.tar.gz 6282174 BLAKE2B 86d12e9f87e8e1c2961ad517115c8689a8dd984722513816d8d626e59a76f5e7a698a90cbf6007daacf66c6053c9ff28108ff113579a442ce61cd221178bda44 SHA512 664c66b62cf1ed0c65d9b910d8e67d4d5d471113697f1b8edf1573cd5c0fc8e850ac53ce984e48e6c6b9cbbefa12f8530058384e7388e65a59c1e46d03772397
DIST protobuf-28.3.tar.gz 9256608 BLAKE2B 05162124676abe18300481e9f985fd2cfb09b052d06670a993e79ef02f3daf0d5380b521977ebc2362d4094486151ea285fe1c98a1d2f3799b18a1fa422fdc13 SHA512 a91e175fed7eb01c4240842a5af73a7d3cefccbb10885434bceeb7bc89ab6c56a74912cee290bf46e81d4026f3c9c2b10faad5545816064e215c4bae7908263d
DIST protobuf-29.1.tar.gz 9363710 BLAKE2B 8d43358c17f14a807391f37796226b9cedef3ef27ef536a6cb50a7a336a80fe221777ba669f3cee7e6a33a4decfc64e3b091d658de73e24a708297e2a539322c SHA512 eb604b473e09a5a001bf451ccd417cdb8732ebd3c2075fa46f3d0e48b7ed4d458f05d2e09eedc71c0f4252ba18d3161837efb7a2eed46d78b9eb3cc9b45f96ff
+DIST protobuf-29.2.tar.gz 9348408 BLAKE2B 847798474bc6a76b9badfdbf605e118dece5e321e81242d7fa1bf5f5d17ee05a3d365ec112dc6d861cade97efff8be1d5d04006a5144f613bdb3ff5eacc63b99 SHA512 aeb21773edc3dd92a6c1ba6ccd721cc8a20d61230a5309c75ee3ef19baa554c228a6d1095f191ccc18f10183b646f3140dfe6526f5812bcaa64b7d5260572643
DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
EBUILD protobuf-java-4.27.2.ebuild 5026 BLAKE2B f4774dbbca752dcd18aeeb07cf05013b8b26d8dbc70b3f3cbef4543475564ce7fb16582d443cd0c326fe94835e965d459d48416ea63e10518c20347e2b751a94 SHA512 c5a11192867bc6f485df0abee48f3c31921c3ee9fbe335bb5c3c462a6e7ab6c77de0bc06499b364dc939ed27724ca0d79a186f19643d593033815d7a11ce1b20
EBUILD protobuf-java-4.28.3.ebuild 4753 BLAKE2B 75888b86b796bba01583c86a21d5401daf8569750892ab844870ca1eeaa3c57e61850bfc92403937de948ec5e1b0be6967556cde14d83fd6447eddd1f0256cd0 SHA512 5e6b5a03122df4e0dd2e00c9fc4ca1e7045760577db50ec67e846bedaba5c58c3b191b1f8fc30d34a2ec59dc78183b9da483f36a166e87e2146c6874d6ea8429
EBUILD protobuf-java-4.29.1.ebuild 4654 BLAKE2B 48f61bbe92c3152e9e011702e6874e83c5e63064e39e091160efae289812eac55e80ce1cf97f2a916058e18229a0779ea5ebe8af2b4378ba471301d8c800737f SHA512 8d7b8bcb0ce808187b38322831f60d595ebf20e4d40cd6d5c1088d2224c536073ac13e18d0632ffad366cabd2d5161598f185d72b3905336e220537e1630e751
+EBUILD protobuf-java-4.29.2.ebuild 4654 BLAKE2B d61a3cb0c0041b5d8cd1836d84a6e29f3e2c88e0853c241dae3b0410d11743370f0b280e6874a9250718c2cc92c4c8d05b108c5ddad44915ef261876ff6fbadf SHA512 13a19dc4ecb9399f6c989ece9597647634c90d7574e057b0ad940d356fca44e5d4f40f596777c01b1848694dca1a58af1ea9d3c2fba0216ae9fafe9ea15ef48f
MISC metadata.xml 534 BLAKE2B aa3ede54aa4e1479f977cecb9dace36fa5db7025a5d45d142cde5ea2ede794f721abf0ced139b24d4c2c1aac3631ee43f15b4d74850abc56c1fbafb8736adebc SHA512 11f7b1fca223910cd42be952760e32d98a553fd660e1da66542a722eb1e3296c79e702f899dc36ab0e794a19014ede3738fc0959b04a9d44910e9e0068f3feb7
diff --git a/dev-java/protobuf-java/protobuf-java-4.29.2.ebuild b/dev-java/protobuf-java/protobuf-java-4.29.2.ebuild
new file mode 100644
index 000000000000..494374fa8dcd
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-4.29.2.ebuild
@@ -0,0 +1,152 @@
+# Copyright 2008-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.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 4.29.2 from the 29.2 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+MY_PV4="${PV#4.}"
+MY_PV="${MY_PV4/_rc/-rc}"
+MY_P="protobuf-${MY_PV}.tar.gz"
+TV="1.1.3"
+SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${MY_PV}/${MY_P}
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/${TV}/truth-${TV}.jar )"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV4}:0[protoc] )
+ !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:*"
+
+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
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ # ${S}/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.java_source.dir}:java/core/src/main/resources:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # ${S}/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if ! use system-protoc; then
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if ! use system-protoc; then
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-${TV}.jar"
+
+ # google/protobuf/java_features.proto: File not found.
+ cp {java/core/src/main/resources,src}/google/protobuf/java_features.proto || die
+
+ 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"
+
+ # java/core/src/test/java/editions_unittest/TestDelimited.java:2867:
+ # error: package editions_unittest.MessageImport does not exist
+ rm java/core/src/test/java/com/google/protobuf/TextFormatTest.java || die
+
+ 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
+}