diff options
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/Manifest.gz | bin | 55396 -> 55405 bytes | |||
-rw-r--r-- | dev-java/guava-testlib/Manifest | 2 | ||||
-rw-r--r-- | dev-java/guava-testlib/guava-testlib-33.4.0.ebuild | 68 | ||||
-rw-r--r-- | dev-java/guava/Manifest | 2 | ||||
-rw-r--r-- | dev-java/guava/guava-33.4.0.ebuild | 40 | ||||
-rw-r--r-- | dev-java/javassist/Manifest | 2 | ||||
-rw-r--r-- | dev-java/javassist/javassist-3.29.2.ebuild | 55 | ||||
-rw-r--r-- | dev-java/protobuf-java/Manifest | 2 | ||||
-rw-r--r-- | dev-java/protobuf-java/protobuf-java-4.29.2.ebuild | 152 |
9 files changed, 266 insertions, 57 deletions
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz Binary files differindex d61b3b21daaa..7459ff29bc7b 100644 --- a/dev-java/Manifest.gz +++ b/dev-java/Manifest.gz 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 +} |