diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-10-26 09:28:44 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-10-26 09:28:44 +0000 |
| commit | bf32af1a77904f06af121d4129d76a493e9f1fd0 (patch) | |
| tree | 8a826a570be8b021540c7127348ff6c4cbbe7405 /dev-java | |
| parent | ec183e1c90a17c119012450982f07aa5a19ece65 (diff) | |
| download | baldeagleos-repo-bf32af1a77904f06af121d4129d76a493e9f1fd0.tar.gz baldeagleos-repo-bf32af1a77904f06af121d4129d76a493e9f1fd0.tar.xz baldeagleos-repo-bf32af1a77904f06af121d4129d76a493e9f1fd0.zip | |
Adding metadata
Diffstat (limited to 'dev-java')
| -rw-r--r-- | dev-java/commons-text/Manifest | 1 | ||||
| -rw-r--r-- | dev-java/commons-text/commons-text-1.10.0.ebuild | 2 | ||||
| -rw-r--r-- | dev-java/commons-text/commons-text-1.9.ebuild | 43 | ||||
| -rw-r--r-- | dev-java/jakartaee-migration/Manifest | 1 | ||||
| -rw-r--r-- | dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild | 92 | ||||
| -rw-r--r-- | dev-java/java-config/java-config-2.3.1.ebuild | 2 | ||||
| -rw-r--r-- | dev-java/java-config/java-config-9999.ebuild | 2 | ||||
| -rw-r--r-- | dev-java/javatoolkit/javatoolkit-0.6.7.ebuild | 2 | ||||
| -rw-r--r-- | dev-java/protobuf-java/Manifest | 3 | ||||
| -rw-r--r-- | dev-java/protobuf-java/metadata.xml | 3 | ||||
| -rw-r--r-- | dev-java/protobuf-java/protobuf-java-3.19.6.ebuild | 102 | ||||
| -rw-r--r-- | dev-java/protobuf-java/protobuf-java-3.20.3.ebuild | 102 | ||||
| -rw-r--r-- | dev-java/protobuf-java/protobuf-java-3.21.8.ebuild | 102 | ||||
| -rw-r--r-- | dev-java/protobuf-java/protobuf-java-9999.ebuild | 103 |
14 files changed, 393 insertions, 167 deletions
diff --git a/dev-java/commons-text/Manifest b/dev-java/commons-text/Manifest index f6c68f728c95..6a46c7a8be2a 100644 --- a/dev-java/commons-text/Manifest +++ b/dev-java/commons-text/Manifest @@ -1,2 +1 @@ DIST commons-text-1.10.0-src.tar.gz 342224 BLAKE2B efed282c9fed7dae5766f7158136a4d7414ba0610e16a52fa2d12ee04e43960d47ec7c62f220c2ab881a13afa8a81cf85e453364e37c67550e15c314122ebf25 SHA512 6bf2dc7dda4429cb1b9ba3a4d383c1d9ffabd5ff35a0adc55216e7cf4c532e51b2b012c9b0f3ea859cd32aef75e05547d892301f34f304a0bfd27c39a28fe04f -DIST commons-text-1.9-sources.tar.gz 312764 BLAKE2B 44b628c418a910ff38b5a1fb3b4c9f14a1f9818afd12540f8c8cf8b1a99fd7abd365e704142bcec901e5e067b303ff44f9c992f8714eae68b94819780a270dd2 SHA512 53f993e79aaa6789d3388aa96b6b2a14cf646b27ff3774524390e511241a85288947cc929519eff61a8734578f25bdf3d9969d84da20c1a749b19d90a55da8ae diff --git a/dev-java/commons-text/commons-text-1.10.0.ebuild b/dev-java/commons-text/commons-text-1.10.0.ebuild index 3a297ceebf2d..6241e756e3c3 100644 --- a/dev-java/commons-text/commons-text-1.10.0.ebuild +++ b/dev-java/commons-text/commons-text-1.10.0.ebuild @@ -17,7 +17,7 @@ SRC_URI="mirror://apache//commons/text/source/commons-text-${PV}-src.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ppc64 ~x86" +KEYWORDS="amd64 ppc64 x86" # Common dependencies # POM: pom.xml diff --git a/dev-java/commons-text/commons-text-1.9.ebuild b/dev-java/commons-text/commons-text-1.9.ebuild deleted file mode 100644 index 530b720f0f19..000000000000 --- a/dev-java/commons-text/commons-text-1.9.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2021 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 https://downloads.apache.org//commons/text/source/commons-text-1.9-src.tar.gz --slot 0 --keywords "~amd64 ~x86" --ebuild commons-text-1.9.ebuild - -EAPI=7 - -JAVA_PKG_IUSE="doc source" -MAVEN_ID="org.apache.commons:commons-text:1.9" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="Apache Commons Text is a library focused on algorithms working on strings" -HOMEPAGE="https://commons.apache.org/proper/commons-text" -SRC_URI="https://downloads.apache.org//commons/text/source/${P}-src.tar.gz -> ${P}-sources.tar.gz" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ppc64 x86" - -# Common dependencies -# POM: pom.xml -# org.apache.commons:commons-lang3:3.11 -> >=dev-java/commons-lang-3.11:3.6 - -CDEPEND=" - >=dev-java/commons-lang-3.11:3.6 -" - -DEPEND=" - >=virtual/jdk-1.8:* - ${CDEPEND} -" - -RDEPEND=" - >=virtual/jre-1.8:* - ${CDEPEND}" - -S="${WORKDIR}/${P}-src" - -JAVA_ENCODING="ISO-8859-1" - -JAVA_GENTOO_CLASSPATH="commons-lang-3.6" -JAVA_SRC_DIR="src/main/java" diff --git a/dev-java/jakartaee-migration/Manifest b/dev-java/jakartaee-migration/Manifest index 63f3b30af0d7..a462cf6701d1 100644 --- a/dev-java/jakartaee-migration/Manifest +++ b/dev-java/jakartaee-migration/Manifest @@ -1,2 +1 @@ -DIST jakartaee-migration-1.0.3-sources.tar.gz 38243 BLAKE2B e1c05c05dd16ec6d54f0eb3523aed14a3fcbc9c0999b54e7c240c5ebfbb968a8cc3025855485318c19f0e85931ea239f4f08efbd0d042c7ad163c1fe5d3819f9 SHA512 79947fe47d55e4e93a417118e7a41fd79614b3fe3bfad967bfdcc865121c9247f92ecd99231e08abb2187036cdb1dceb85b8f2bc695c5bd2ecbf48a84bdd3b2a DIST jakartaee-migration-1.0.4-sources.tar.gz 38400 BLAKE2B c0c0151adfde56632ad95919a88eedd6a44056e2d29320e63e0dc64c59cf7ba928135f817ddb3c79a96dd7a8418ab92c8fe4aa9f50a51442bb55384349de603f SHA512 a9d49463f44affa1c5f57d9342e7b4dc77a829c904ba2376f87f086c3662f01e05a2b1cfe2dc746e33605a66849f12415ebb2b63eb05c5e476a4eab9ffd39644 diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild deleted file mode 100644 index f4e644bdec92..000000000000 --- a/dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild +++ /dev/null @@ -1,92 +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 https://ftp.fau.de/apache/tomcat/jakartaee-migration/v1.0.3/source/jakartaee-migration-1.0.3-src.tar.gz --slot 0 --keywords "~amd64" --ebuild jakartaee-migration-1.0.3.ebuild - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -MAVEN_ID="org.apache.tomcat:jakartaee-migration:1.0.3" -JAVA_TESTING_FRAMEWORKS="junit-4" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9" -HOMEPAGE="https://tomcat.apache.org" -SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" - -# Common dependencies -# POM: pom.xml -# commons-io:commons-io:2.8.0 -> >=dev-java/commons-io-2.8.0:1 -# org.apache.bcel:bcel:6.5.0 -> >=dev-java/bcel-6.5.0:0 -# org.apache.commons:commons-compress:1.20 -> >=dev-java/commons-compress-1.20:0 - -CDEPEND=" - dev-java/ant-core:0 - dev-java/bcel:0 - >=dev-java/commons-compress-1.20:0 - dev-java/commons-io:1 -" - -# Compile dependencies -# POM: pom.xml -# org.apache.ant:ant:1.10.9 -> !!!groupId-not-found!!! -# POM: pom.xml -# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.1:4 - -DEPEND=" - >=virtual/jdk-1.8:* - ${CDEPEND} -" - -RDEPEND=" - >=virtual/jre-1.8:* - ${CDEPEND}" - -S="${WORKDIR}/${P}" - -JAVA_LAUNCHER_FILENAME="${PN}" - -JAVA_GENTOO_CLASSPATH="ant-core,bcel,commons-compress,commons-io-1" -JAVA_SRC_DIR="src/main/java" -JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI" -JAVA_RESOURCE_DIRS=( - "src/main/resources" -) - -JAVA_TEST_GENTOO_CLASSPATH="junit-4" -JAVA_TEST_SRC_DIR="src/test/java" -JAVA_TEST_RESOURCE_DIRS=( - "src/test/resources" -) -JAVA_TEST_EXCLUDES=( - "org.apache.tomcat.jakartaee.TesterConstants" -) - -src_prepare() { - default - sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties -} - -src_test() { - # we need to create jar files for the tests the same way as it's done using pom.xml - local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+") - mkdir -p target/test-classes/META-INF || die - pushd target/test-classes || die - echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF - ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die - jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die - ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die - jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die - for enc in rsa dsa ec; do - cp hellocgi.jar hellocgi-signed-${enc}.jar || die - jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die - done - popd - - java-pkg-simple_src_test -} diff --git a/dev-java/java-config/java-config-2.3.1.ebuild b/dev-java/java-config/java-config-2.3.1.ebuild index 17830b53dc4d..5d9ce9fa9767 100644 --- a/dev-java/java-config/java-config-2.3.1.ebuild +++ b/dev-java/java-config/java-config-2.3.1.ebuild @@ -4,7 +4,7 @@ EAPI=7 # jython depends on java-config, so don't add it or things will break -PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) DISTUTILS_USE_SETUPTOOLS=no inherit distutils-r1 diff --git a/dev-java/java-config/java-config-9999.ebuild b/dev-java/java-config/java-config-9999.ebuild index f749d1108974..b7287a76494a 100644 --- a/dev-java/java-config/java-config-9999.ebuild +++ b/dev-java/java-config/java-config-9999.ebuild @@ -4,7 +4,7 @@ EAPI=7 # jython depends on java-config, so don't add it or things will break -PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) DISTUTILS_USE_SETUPTOOLS=no inherit distutils-r1 diff --git a/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild b/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild index d2ba9cf64fac..c53496487200 100644 --- a/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild +++ b/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) PYTHON_REQ_USE="xml(+)" DISTUTILS_USE_SETUPTOOLS=no diff --git a/dev-java/protobuf-java/Manifest b/dev-java/protobuf-java/Manifest index dfb0564c5120..74313749d43f 100644 --- a/dev-java/protobuf-java/Manifest +++ b/dev-java/protobuf-java/Manifest @@ -1,2 +1,5 @@ +DIST protobuf-21.8.tar.gz 5110670 BLAKE2B 3c1b0c857a86e9586481d63896341d0cb11290dbd710d87a6f7889d34f5f262abe2986a29ed19a730f8fa5df0b5c62d77a4db6aa415a72b239f7483ae8d6380c SHA512 cb17be759311e91172801add1f88fe7a0291b547170c40d2e3303f5c248570dddeade96bd48740edd628215f55269c97475e2f4c4a41c50f1018d525f52036cb DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6 +DIST protobuf-3.19.6.tar.gz 5299501 BLAKE2B 3121f76b95f83c5309ce49ce296b738eff7be9d3a5093c564fbe2339fb5f3729e406f1b44bfcc05feb0d31ab63838bb4f54685017977c73a33b91215a6776072 SHA512 8f92242f2be8e1bbfba41341c87709ad91ad83b8b3e3df88bb430411541d3399295f49291fd52b50e3487b0fce33181cb4d175685fd25aac72adfaee26a612d4 DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0 +DIST protobuf-3.20.3.tar.gz 5374320 BLAKE2B fb51f2a0ecf5b83235f5252051f8192ae377bb7a5e030c3f3e9435ccde25919c059830cf476e840fa6c970928a32c0075e213c9d5d4d9e3d3b24732c39a9fbfa SHA512 01d6703bdbe769a1200ee6e4ebcdcb99688ec21f576988c60d82ec36e0822820fb245fcb4ca53293143d53e666d748b5a0c6937bc659fb3cdc4cd9b05ed12a1c diff --git a/dev-java/protobuf-java/metadata.xml b/dev-java/protobuf-java/metadata.xml index 4c4857823de0..b0095731b623 100644 --- a/dev-java/protobuf-java/metadata.xml +++ b/dev-java/protobuf-java/metadata.xml @@ -9,6 +9,9 @@ <email>cjk@gentoo.org</email> <name>Cjk</name> </maintainer> + <maintainer type="project"> + <email>java@gentoo.org</email> + </maintainer> <upstream> <remote-id type="cpe">cpe:/a:google:protobuf</remote-id> </upstream> diff --git a/dev-java/protobuf-java/protobuf-java-3.19.6.ebuild b/dev-java/protobuf-java/protobuf-java-3.19.6.ebuild new file mode 100644 index 000000000000..6adff3a717e4 --- /dev/null +++ b/dev-java/protobuf-java/protobuf-java-3.19.6.ebuild @@ -0,0 +1,102 @@ +# Copyright 2008-2022 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:${PN}:${PV}" +# Tests not enabled, depend on com.google.truth which is not packaged +# https://github.com/protocolbuffers/protobuf/blob/v3.19.6/java/core/pom.xml#L35-L40 +# JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +PARENT_PN="${PN/-java/}" +PARENT_PV="${PV}" +PARENT_P="${PARENT_PN}-${PARENT_PV}" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" + EGIT_SUBMODULES=() + EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}" +else + SRC_URI=" + https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz + -> ${PARENT_P}.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Java bindings" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + +LICENSE="BSD" +SLOT="0/30" + +S="${WORKDIR}/${PARENT_P}/java" + +BDEPEND=" + dev-libs/protobuf:${SLOT} +" +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="core/src/main/resources" +JAVA_SRC_DIR="core/src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4" +JAVA_TEST_RESOURCE_DIRS="../src" +JAVA_TEST_SRC_DIR="core/src/test/java" + +# Same than PATCHES but from repository's root directory, +# please see function `src_prepare` below. +# Simplier for users IMHO. +PARENT_PATCHES=( +) + +# Here for patches within "java/" subdirectory. +PATCHES=( +) + +src_prepare() { + pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die + [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}" + eapply_user + popd > /dev/null || die + + # Remove bundled jars + java-pkg_clean + + java-pkg-2_src_prepare + + # There is also compiler/plugin, but not in this list because in a subdirectory + core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers ) + + # Copy resources from ../src/google/protobuf according to + # https://github.com/protocolbuffers/protobuf/blob/v3.19.6/java/core/pom.xml#L45-L61 + mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die + cp "../src/google/protobuf/${core_protos[@]}.proto" \ + "${JAVA_RESOURCE_DIRS}/google/protobuf" || die + cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die + + # Generate 146 .java files according to + # https://github.com/protocolbuffers/protobuf/blob/v3.19.6/java/core/generate-sources-build.xml + for proto in "${core_protos[@]}" compiler/plugin; do + "${BROOT}/usr/bin/protoc" \ + --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die + done +} diff --git a/dev-java/protobuf-java/protobuf-java-3.20.3.ebuild b/dev-java/protobuf-java/protobuf-java-3.20.3.ebuild new file mode 100644 index 000000000000..2e58b824d118 --- /dev/null +++ b/dev-java/protobuf-java/protobuf-java-3.20.3.ebuild @@ -0,0 +1,102 @@ +# Copyright 2008-2022 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:${PN}:${PV}" +# Tests not enabled, depend on com.google.truth which is not packaged +# https://github.com/protocolbuffers/protobuf/blob/v3.20.3/java/core/pom.xml#L35-L40 +# JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +PARENT_PN="${PN/-java/}" +PARENT_PV="${PV}" +PARENT_P="${PARENT_PN}-${PARENT_PV}" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" + EGIT_SUBMODULES=() + EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}" +else + SRC_URI=" + https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz + -> ${PARENT_P}.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Java bindings" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + +LICENSE="BSD" +SLOT="0/31" + +S="${WORKDIR}/${PARENT_P}/java" + +BDEPEND=" + dev-libs/protobuf:${SLOT} +" +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="core/src/main/resources" +JAVA_SRC_DIR="core/src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4" +JAVA_TEST_RESOURCE_DIRS="../src" +JAVA_TEST_SRC_DIR="core/src/test/java" + +# Same than PATCHES but from repository's root directory, +# please see function `src_prepare` below. +# Simplier for users IMHO. +PARENT_PATCHES=( +) + +# Here for patches within "java/" subdirectory. +PATCHES=( +) + +src_prepare() { + pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die + [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}" + eapply_user + popd > /dev/null || die + + # Remove bundled jars + java-pkg_clean + + java-pkg-2_src_prepare + + # There is also compiler/plugin, but not in this list because in a subdirectory + core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers ) + + # Copy resources from ../src/google/protobuf according to + # https://github.com/protocolbuffers/protobuf/blob/v3.20.2/java/core/pom.xml#L45-L61 + mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die + cp "../src/google/protobuf/${core_protos[@]}.proto" \ + "${JAVA_RESOURCE_DIRS}/google/protobuf" || die + cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die + + # Generate 146 .java files according to + # https://github.com/protocolbuffers/protobuf/blob/v3.20.3/java/core/generate-sources-build.xml + for proto in "${core_protos[@]}" compiler/plugin; do + "${BROOT}/usr/bin/protoc" \ + --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die + done +} diff --git a/dev-java/protobuf-java/protobuf-java-3.21.8.ebuild b/dev-java/protobuf-java/protobuf-java-3.21.8.ebuild new file mode 100644 index 000000000000..abe81a5bcd1d --- /dev/null +++ b/dev-java/protobuf-java/protobuf-java-3.21.8.ebuild @@ -0,0 +1,102 @@ +# Copyright 2008-2022 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:${PN}:${PV}" +# Tests not enabled, depend on com.google.truth which is not packaged +# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L35-L40 +# JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +PARENT_PN="${PN/-java/}" +PARENT_PV="$(ver_cut 2-)" +PARENT_P="${PARENT_PN}-${PARENT_PV}" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" + EGIT_SUBMODULES=() + EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}" +else + SRC_URI=" + https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz + -> ${PARENT_P}.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Java bindings" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + +LICENSE="BSD" +SLOT="0/32" + +S="${WORKDIR}/${PARENT_P}/java" + +BDEPEND=" + dev-libs/protobuf:${SLOT} +" +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="core/src/main/resources" +JAVA_SRC_DIR="core/src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4" +JAVA_TEST_RESOURCE_DIRS="../src" +JAVA_TEST_SRC_DIR="core/src/test/java" + +# Same than PATCHES but from repository's root directory, +# please see function `src_prepare` below. +# Simplier for users IMHO. +PARENT_PATCHES=( +) + +# Here for patches within "java/" subdirectory. +PATCHES=( +) + +src_prepare() { + pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die + [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}" + eapply_user + popd > /dev/null || die + + # Remove bundled jars + java-pkg_clean + + java-pkg-2_src_prepare + + # There is also compiler/plugin, but not in this list because in a subdirectory + core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers ) + + # Copy resources from ../src/google/protobuf according to + # https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L45-L61 + mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die + cp "../src/google/protobuf/${core_protos[@]}.proto" \ + "${JAVA_RESOURCE_DIRS}/google/protobuf" || die + cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die + + # Generate 146 .java files according to + # https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/generate-sources-build.xml + for proto in "${core_protos[@]}" compiler/plugin; do + "${BROOT}/usr/bin/protoc" \ + --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die + done +} diff --git a/dev-java/protobuf-java/protobuf-java-9999.ebuild b/dev-java/protobuf-java/protobuf-java-9999.ebuild index 43fa605b496c..ab4856250e05 100644 --- a/dev-java/protobuf-java/protobuf-java-9999.ebuild +++ b/dev-java/protobuf-java/protobuf-java-9999.ebuild @@ -3,52 +3,103 @@ EAPI=8 -JAVA_PKG_IUSE="doc source" +JAVA_PKG_IUSE="doc source test" +# Version based on value in (java/)core/pom.xml from main branch +# Please update me when new release +# Maybe find a way to automatically change it? +MAVEN_ID="com.google.protobuf:${PN}:3.21.7" +# Tests not enabled, depend on com.google.truth which is not packaged +# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L35-L40 +# JAVA_TESTING_FRAMEWORKS="junit-4" inherit java-pkg-2 java-pkg-simple -if [[ "${PV}" == "9999" ]]; then +PARENT_PN="${PN/-java/}" +PARENT_PV="${PV}" +PARENT_P="${PARENT_PN}-${PARENT_PV}" + +if [[ "${PV}" == *9999 ]]; then inherit git-r3 - EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}" - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" EGIT_SUBMODULES=() + EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}" +else + SRC_URI=" + https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz + -> ${PARENT_P}.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" fi DESCRIPTION="Google's Protocol Buffers - Java bindings" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" -fi -S="${WORKDIR}/protobuf-${PV}/java" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" LICENSE="BSD" -SLOT="0/31" -KEYWORDS="" +SLOT="0/32" + +S="${WORKDIR}/${PARENT_P}/java" -COMMON_DEPEND=">=virtual/jdk-1.8:*" BDEPEND=" - ~dev-libs/protobuf-${PV} - ${COMMON_DEPEND} + dev-libs/protobuf:${SLOT} +" +DEPEND=" + >=virtual/jdk-1.8:* + test? ( + dev-java/guava:0 + dev-java/mockito:4 + ) +" +RDEPEND=" + >=virtual/jre-1.8:* " -DEPEND="${COMMON_DEPEND}" -RDEPEND="${DEPEND}" + +JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf" +JAVA_JAR_FILENAME="protobuf.jar" +JAVA_RESOURCE_DIRS="core/src/main/resources" +JAVA_SRC_DIR="core/src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4" +JAVA_TEST_RESOURCE_DIRS="../src" +JAVA_TEST_SRC_DIR="core/src/test/java" + +# Same than PATCHES but from repository's root directory, +# please see function `src_prepare` below. +# Simplier for users IMHO. +PARENT_PATCHES=( +) + +# Here for patches within "java/" subdirectory. +PATCHES=( +) src_prepare() { - pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die + pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die + [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}" eapply_user popd > /dev/null || die + # Remove bundled jars + java-pkg_clean + java-pkg-2_src_prepare -} -src_compile() { - "${BROOT}/usr/bin/protoc" --java_out=core/src/main/java -I../src ../src/google/protobuf/descriptor.proto || die - JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_compile -} + # There is also compiler/plugin, but not in this list because in a subdirectory + core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers ) + + # Copy resources from ../src/google/protobuf according to + # https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L45-L61 + mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die + cp "../src/google/protobuf/${core_protos[@]}.proto" \ + "${JAVA_RESOURCE_DIRS}/google/protobuf" || die + cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die -src_install() { - JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_install + # Generate 146 .java files according to + # https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/generate-sources-build.xml + for proto in "${core_protos[@]}" compiler/plugin; do + "${BROOT}/usr/bin/protoc" \ + --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die + done } |
