From 4caebfb4373815f2ece062eaeeeead8be340e545 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Thu, 9 Jan 2025 18:54:20 +0000 Subject: Adding metadata --- dev-java/openjdk-bin/Manifest | 12 +- dev-java/openjdk-bin/openjdk-bin-25_p3_beta.ebuild | 136 ------------------ dev-java/openjdk-bin/openjdk-bin-25_p4_beta.ebuild | 136 ++++++++++++++++++ dev-java/protobuf-java/Manifest | 1 + dev-java/protobuf-java/protobuf-java-4.29.3.ebuild | 152 +++++++++++++++++++++ 5 files changed, 295 insertions(+), 142 deletions(-) delete mode 100644 dev-java/openjdk-bin/openjdk-bin-25_p3_beta.ebuild create mode 100644 dev-java/openjdk-bin/openjdk-bin-25_p4_beta.ebuild create mode 100644 dev-java/protobuf-java/protobuf-java-4.29.3.ebuild (limited to 'dev-java') diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest index 2bfafefebf98..51aaa078e95d 100644 --- a/dev-java/openjdk-bin/Manifest +++ b/dev-java/openjdk-bin/Manifest @@ -1,9 +1,9 @@ -DIST OpenJDK-jdk_aarch64_alpine-linux_hotspot_25_3-ea.tar.gz 138220136 BLAKE2B 989edab2bb962e5f6f544979d554d21dec222a1cd95f889c6ce206a3638449a60870ad517957d74fc9c34e2a32361dc4a097f2bc0d5c43512c88967f2f41de8c SHA512 bb8972f82b7eaca9fbef3dc29e59dcc77113b5c72787eff81c95fc63e9914ad1f1c71263768d1e1095c716fde1041ff2fe923ecf3d25f4e9db485c6dc6f0f014 -DIST OpenJDK-jdk_aarch64_linux_hotspot_25_3-ea.tar.gz 138256515 BLAKE2B 26857ba11f956dc0c949baf12b0ec80e19cda80b8ba538bf691fc7a4ac26154043b3a41dbc4751fc7b894ccf27d311e5283af199278aa22cdd99c9a9def6ec3d SHA512 276e4baa27b957be76030f53818e282f54902d95c771b8128479ed2d4d71d41be7e8b953f89348fb7ddbf530c65805963d5f97460d9827e5900147a2f7462286 -DIST OpenJDK-jdk_ppc64le_linux_hotspot_25_3-ea.tar.gz 138778201 BLAKE2B dd4df5b63d467f5a2cfa63916a70a5661bc0fdbece0aecf8a7b106474a614e65bccaed71314483570933aa3497a805bccca61e9f843a501b02a5047a1b639b6d SHA512 f90ac26e3499c6a5cdfa3076ca60b1c29e54833733b8db656fa4ad8624c00c6292e208f2542f14432faaef43064f957a82726acd4180e72d183f560cf6554ed8 -DIST OpenJDK-jdk_riscv64_linux_hotspot_25_3-ea.tar.gz 137106605 BLAKE2B f24168975aadfd570323d47c03c86f8105de3d90281b4c042604cbce14c6ce40964775522585d415cff1d9da77effafe39a120ccfe962e8d61b15683d25a7c2d SHA512 bceda13d658055dbfcb324d3ab8910cc02d7664bc651db203c5b80ed46fc139ee2f892bc52b9dd55326642cf09131079b5b18f7c4d368e427e40dbf65fffbd05 -DIST OpenJDK-jdk_x64_alpine-linux_hotspot_25_3-ea.tar.gz 139326202 BLAKE2B 6b8b7cfd76412d6194f2ad3dc070c901f90ce531e2da31ca1d19d97ba8529aa317bfecdc9eda1eeecedc55776513959665d82768c2da9429eb8a2813e0a06756 SHA512 c5abe9afa715ee2fb4f6d4a91c160e3b6656126acabc3b428a6d75a537f2e337d41ddc15c45007c15050a9fe508a4d2a093cb28b6b74b89b71ee00863be0531d -DIST OpenJDK-jdk_x64_linux_hotspot_25_3-ea.tar.gz 139228628 BLAKE2B 2dbe8d23fc2ce9af7d4b122c3bbe2efa2e17829a383946969400755f2ead1f8917e7580dce10734cc72cc6b790f431de942e010af0e6eb74e8811b596918e721 SHA512 89c7aec32900c156f5222886e700fd57ba8a2c505d3ab99cd5368907cba3cfa10e9e65fcbd4196b71eef9a2a7f0051e3f3c19a51d0411895a616e523db913b7c +DIST OpenJDK-jdk_aarch64_alpine-linux_hotspot_25_4-ea.tar.gz 138221825 BLAKE2B bd623e9df390057606ce1eee4461932fadf140a8151aa8e23bcf48cfc26bebe234428e18f8ef44c0e776dc18bc76718e444563afd0990232c8b34d98fa497985 SHA512 c61d906e2ebbf734ebe685a9fb730bf4c935399cba44b1d7d47da9912b4260ebc96148f89c1d3e240d369e53a697c5eab67aa2dcc32e1f351d72afda450dd4c8 +DIST OpenJDK-jdk_aarch64_linux_hotspot_25_4-ea.tar.gz 138259949 BLAKE2B 1c4f4ad984625421bcf13f5b061da8c84a722d2dba8ff68cb6ed030a81a1402beba117af5f17fdff38c1fdae3d8d7bada727aad954f93c3cc506e9bc7e67df49 SHA512 53f49ee4ab18e09fcd23112bc0efe9e00f1c5a4ce272e09130e77e8b028a01070c7fc0560e48b03b3be5dca1e2001dd64b7609ae089dd1eaf62e5836d09ea5e0 +DIST OpenJDK-jdk_ppc64le_linux_hotspot_25_4-ea.tar.gz 138782171 BLAKE2B 9b638ab531838b296365409d50671e622ae1f13591dd3ceb8c53f568384972952b4f456a6f56f01f8695e6f55d611edfe05de5fd6718374039f58d42f533c85a SHA512 0f59cab7a817559b32964b8ddee7a27afd3ff451c7ea0d75cb2c237afffa112438e9c5446e34dd9a40dad77e0c5e3cee11f77fdeaf5b45cba83c9e23ed90bdb2 +DIST OpenJDK-jdk_riscv64_linux_hotspot_25_4-ea.tar.gz 137112283 BLAKE2B 9c4862f11615397d9052e21e6453c0e5d3a3d30bb4e8175705c3871260a964fbb04bad6a22d7d86de0eb17ebca5992c0371fc595183523cb83a41e0ecc036536 SHA512 628ec58034d0aa8091f63ce01abc454b2011f1b6e9e605c3a629c3409606ccab5a192c5bb524e75613345dfeb8f4a4465bae1bafa7898e9ee2dc2f6a0ed139e3 +DIST OpenJDK-jdk_x64_alpine-linux_hotspot_25_4-ea.tar.gz 139335710 BLAKE2B 50e089ae6eda25706ce5ccd6edd4b285e630fa8988b781a969ab19b25a0bca38c8fd755aab1ab90943f1e48f709dd14cc63de6b2827b063e418d867551253973 SHA512 b0b51fde46013b9721f4f629518fc7055b67a3e1d4cb9b142998fad028c43672a5fe0500042904d07907e6e1944c52f2aa32c5a3221801592452ad84424f73f1 +DIST OpenJDK-jdk_x64_linux_hotspot_25_4-ea.tar.gz 139230556 BLAKE2B 9bc07e9edd6b7510303c872acc2e930ceb55b26fcd083dea6728bb5bf8d2ed7e1d898dc1e5b80e49903820eb03015178fce38c17bc5d282948f3643a2e24c704 SHA512 3affbbafc267c007ab43dc82dd1f8da01a35743fa77ac872831e0f4bcd0facc0d2435e5a8b0053ba2dd6cec9b64e80da437dce3283dc2443d027c8c6e4af66f6 DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.25_9.tar.gz 192125336 BLAKE2B e083ce8691f8462310eeaa7495d26519754f5bfadc8a786dd188f1dad4dc36164eea9220125340b43c9e6b4321be6e26d66a9c18247a6462e4cae9f453fe1171 SHA512 860fff5eff6ef2a29062aac0ee7f90d80dca417fb58ccbf9a9f2ca96a8dc4798a00dab42deedbc64a371d0356b17e6cd12cdc2b2879edfcec9463ffc004ce5fb DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.25_9.tar.gz 182871332 BLAKE2B ac6ba9e02fcec38dbb685cdebf379ecdcb5041bc53a71a0896baf7f2628faaa0dd1402b045a57010e2495c16e48116fd1216fe6d4b6cf35cbc996dafe8516e0a SHA512 db0761f8b0baa82c61567a869f2c23da61470d055ecbd73c7693a7be37167282af7387006f22a0c7a46e1e71591615fac0431925987af8fb8e36d77207669856 DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.25_9.tar.gz 177532830 BLAKE2B 5a2e15a9cd601dfbc6749875ee53de1ca5d41c41335e52588c778412499c4825b9108bcf8dacbe250814ff5664d8b8fceefceb738dc24c3ab3d13d292fa3d027 SHA512 8ba8c210717046ab167eeccfc8a3b18e34e77262a0aef866b6268cbd5b91bfd6ed90003ce7de852d6e24f923e044839092e5faac2f3df6273b8b3868eb7e7398 diff --git a/dev-java/openjdk-bin/openjdk-bin-25_p3_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-25_p3_beta.ebuild deleted file mode 100644 index 1df73d6d9ac5..000000000000 --- a/dev-java/openjdk-bin/openjdk-bin-25_p3_beta.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit java-vm-2 toolchain-funcs - -abi_uri() { - local baseuri="https://github.com/adoptium/temurin$(ver_cut 1)-binaries/releases/download/jdk-${MY_PV1}/" - local musl= - local os=linux - - case ${2} in - *-macos) os=mac ;; - *-solaris) os=solaris ;; - esac - - if [[ ${3} == musl ]]; then - os=alpine-linux - musl=true - fi - - echo "${2-$1}? ( - ${musl:+ elibc_musl? ( } - ${baseuri}/OpenJDK-jdk_${1}_${os}_hotspot_${MY_PV2//+/_}.tar.gz - ${musl:+ ) } )" -} - -MY_PV=${PV/_p/+} -MY_PV1=${MY_PV/_beta/-ea-beta} -MY_PV2=${MY_PV1/-beta/} - -DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" -HOMEPAGE="https://adoptium.net" -SRC_URI=" - $(abi_uri aarch64 arm64) - $(abi_uri aarch64 arm64 musl) - $(abi_uri ppc64le ppc64) - $(abi_uri x64 amd64) - $(abi_uri x64 amd64 musl) - $(abi_uri riscv64 riscv) -" -S="${WORKDIR}/jdk-${MY_PV%_beta}" - -LICENSE="GPL-2-with-classpath-exception" -SLOT=$(ver_cut 1) -# KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -IUSE="alsa cups headless-awt selinux source" - -RDEPEND=" - >=sys-apps/baselayout-java-0.1.0-r1 - kernel_linux? ( - media-libs/fontconfig:1.0 - media-libs/freetype:2 - media-libs/harfbuzz - elibc_glibc? ( >=sys-libs/glibc-2.2.5:* ) - elibc_musl? ( sys-libs/musl ) - sys-libs/zlib - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups ) - selinux? ( sec-policy/selinux-java ) - !headless-awt? ( - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrender - x11-libs/libXtst - ) - )" - -RESTRICT="preserve-libs splitdebug" -QA_PREBUILT="*" - -pkg_pretend() { - if [[ "$(tc-is-softfloat)" != "no" ]]; then - die "These binaries require a hardfloat system." - fi -} - -src_unpack() { - default - if [[ ${A} == *_mac_* ]] ; then - mv -v "${S}/Contents/Home/"* "${S}" || die - rm -Rf "${S}/Contents" # drop macOS executable - fi -} - -src_install() { - local dest="/opt/${P}" - local ddest="${ED}/${dest#/}" - - # on macOS if they would exist they would be called .dylib, but most - # importantly, there are no different providers, so everything - # that's shipped works. - if [[ ${A} != *_mac_* ]] ; then - # Not sure why they bundle this as it's commonly available and they - # only do so on x86_64. It's needed by libfontmanager.so. IcedTea - # also has an explicit dependency while Oracle seemingly dlopens it. - rm -vf lib/libfreetype.so || die - - # prefer system copy # https://bugs.gentoo.org/776676 - rm -vf lib/libharfbuzz.so || die - - # Oracle and IcedTea have libjsoundalsa.so depending on - # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. - if ! use alsa ; then - rm -v lib/libjsound.* || die - fi - - if use headless-awt ; then - rm -v lib/lib*{[jx]awt,splashscreen}* || die - fi - fi - - if ! use source ; then - rm -v lib/src.zip || die - fi - - rm -v lib/security/cacerts || die - dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts - - dodir "${dest}" - cp -pPR * "${ddest}" || die - - # provide stable symlink - dosym "${P}" "/opt/${PN}-${SLOT}" - - java-vm_install-env "${FILESDIR}"/${PN}.env.sh - java-vm_set-pax-markings "${ddest}" - java-vm_revdep-mask - java-vm_sandbox-predict /dev/random /proc/self/coredump_filter -} - -pkg_postinst() { - java-vm-2_pkg_postinst -} diff --git a/dev-java/openjdk-bin/openjdk-bin-25_p4_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-25_p4_beta.ebuild new file mode 100644 index 000000000000..1df73d6d9ac5 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-25_p4_beta.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 toolchain-funcs + +abi_uri() { + local baseuri="https://github.com/adoptium/temurin$(ver_cut 1)-binaries/releases/download/jdk-${MY_PV1}/" + local musl= + local os=linux + + case ${2} in + *-macos) os=mac ;; + *-solaris) os=solaris ;; + esac + + if [[ ${3} == musl ]]; then + os=alpine-linux + musl=true + fi + + echo "${2-$1}? ( + ${musl:+ elibc_musl? ( } + ${baseuri}/OpenJDK-jdk_${1}_${os}_hotspot_${MY_PV2//+/_}.tar.gz + ${musl:+ ) } )" +} + +MY_PV=${PV/_p/+} +MY_PV1=${MY_PV/_beta/-ea-beta} +MY_PV2=${MY_PV1/-beta/} + +DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +SRC_URI=" + $(abi_uri aarch64 arm64) + $(abi_uri aarch64 arm64 musl) + $(abi_uri ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) + $(abi_uri riscv64 riscv) +" +S="${WORKDIR}/jdk-${MY_PV%_beta}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT=$(ver_cut 1) +# KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +IUSE="alsa cups headless-awt selinux source" + +RDEPEND=" + >=sys-apps/baselayout-java-0.1.0-r1 + kernel_linux? ( + media-libs/fontconfig:1.0 + media-libs/freetype:2 + media-libs/harfbuzz + elibc_glibc? ( >=sys-libs/glibc-2.2.5:* ) + elibc_musl? ( sys-libs/musl ) + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + ) + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]]; then + die "These binaries require a hardfloat system." + fi +} + +src_unpack() { + default + if [[ ${A} == *_mac_* ]] ; then + mv -v "${S}/Contents/Home/"* "${S}" || die + rm -Rf "${S}/Contents" # drop macOS executable + fi +} + +src_install() { + local dest="/opt/${P}" + local ddest="${ED}/${dest#/}" + + # on macOS if they would exist they would be called .dylib, but most + # importantly, there are no different providers, so everything + # that's shipped works. + if [[ ${A} != *_mac_* ]] ; then + # Not sure why they bundle this as it's commonly available and they + # only do so on x86_64. It's needed by libfontmanager.so. IcedTea + # also has an explicit dependency while Oracle seemingly dlopens it. + rm -vf lib/libfreetype.so || die + + # prefer system copy # https://bugs.gentoo.org/776676 + rm -vf lib/libharfbuzz.so || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if use headless-awt ; then + rm -v lib/lib*{[jx]awt,splashscreen}* || die + fi + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + # provide stable symlink + dosym "${P}" "/opt/${PN}-${SLOT}" + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/protobuf-java/Manifest b/dev-java/protobuf-java/Manifest index 3303f6dde642..a029cdbdd17a 100644 --- a/dev-java/protobuf-java/Manifest +++ b/dev-java/protobuf-java/Manifest @@ -1,4 +1,5 @@ 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 protobuf-29.3.tar.gz 9348951 BLAKE2B 8d37daac6f0d832e5bff5c56b9be73fce1fe016ca4e905f4c66d8fea20fabbee54a6be2c824f503d40f8492a4ec6280a539c454de9a118b69ebc57f2afe3d965 SHA512 0c776133f5789d21baa8860cb41e7926a162d74810a01722b762a78f93e559494e903fcaa092515bfe2ce057fd065a5dd000b316edb1af32c2ef9dbadf02b4c6 DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8 diff --git a/dev-java/protobuf-java/protobuf-java-4.29.3.ebuild b/dev-java/protobuf-java/protobuf-java-4.29.3.ebuild new file mode 100644 index 000000000000..11ee57d92df5 --- /dev/null +++ b/dev-java/protobuf-java/protobuf-java-4.29.3.ebuild @@ -0,0 +1,152 @@ +# Copyright 2008-2025 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.3 from the 29.3 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 +} -- cgit v1.3.1