summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-10-26 09:28:44 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-10-26 09:28:44 +0000
commitbf32af1a77904f06af121d4129d76a493e9f1fd0 (patch)
tree8a826a570be8b021540c7127348ff6c4cbbe7405 /dev-java
parentec183e1c90a17c119012450982f07aa5a19ece65 (diff)
downloadbaldeagleos-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/Manifest1
-rw-r--r--dev-java/commons-text/commons-text-1.10.0.ebuild2
-rw-r--r--dev-java/commons-text/commons-text-1.9.ebuild43
-rw-r--r--dev-java/jakartaee-migration/Manifest1
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild92
-rw-r--r--dev-java/java-config/java-config-2.3.1.ebuild2
-rw-r--r--dev-java/java-config/java-config-9999.ebuild2
-rw-r--r--dev-java/javatoolkit/javatoolkit-0.6.7.ebuild2
-rw-r--r--dev-java/protobuf-java/Manifest3
-rw-r--r--dev-java/protobuf-java/metadata.xml3
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.19.6.ebuild102
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.20.3.ebuild102
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.21.8.ebuild102
-rw-r--r--dev-java/protobuf-java/protobuf-java-9999.ebuild103
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
}