From 6658093e8bd907d9ee20c0b7e9b94a6eb4ebe9f1 Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Thu, 18 Sep 2025 08:18:56 +0200 Subject: [PATCH] dev-java/guava: add 33.5.0 Signed-off-by: Volkmar W. Pogatzki Part-of: https://github.com/gentoo/gentoo/pull/43833 Signed-off-by: Sam James --- dev-java/guava/Manifest | 1 + .../files/guava-33.5.0-allow-java26.patch | 59 ++++++++++++++ dev-java/guava/guava-33.5.0.ebuild | 81 +++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 dev-java/guava/files/guava-33.5.0-allow-java26.patch create mode 100644 dev-java/guava/guava-33.5.0.ebuild diff --git a/dev-java/guava/Manifest b/dev-java/guava/Manifest index a6accb86b202..5a3e0210b2a3 100644 --- a/dev-java/guava/Manifest +++ b/dev-java/guava/Manifest @@ -1,2 +1,3 @@ DIST guava-33.4.0.tar.gz 5900161 BLAKE2B 85201845218bfba9150e1190259588d46113c5267bf492f54a7d789e8ba7e890fa79e44a0fdf378949899b93f7df12d7480a38ccec4bc756b581f5b6529318a2 SHA512 6534867f40e2a63e7268e3dec1bc3ee0caafb89c77abc2fa2527b2612ecae17d01803f3968bee9844b3948cdb039b9c61ffdbba5309841c9a6a8d14118af970d DIST guava-33.4.8.tar.gz 5876137 BLAKE2B 67c14f95ac894bd821126519034ef45cffc016d7e29652b5020bc01a4ea7cecf779359f21261e1011842ff694299f62be3577a34ea0234c61d21fde7ccfa129d SHA512 e0ce963356e9404bd80a1caa76108ece9bb82c1a46a10ff262b8ba515af17fc33c520bf7dae35168ea9d92250b40e46ef062e5ccf5fec6ebad1a791b137c0f60 +DIST guava-33.5.0.tar.gz 5877617 BLAKE2B bcd6a7daa44ea03faf8adaed36e47d9a2c38e485a45c0ffac2d8f4355a67c2c36f1325189f585b0507c4f2a430af80ce05d1f96df026272cb0fded9eccd66be8 SHA512 95e744d60e1cd20553b2070cdde0f240065e7aa71b76c2174806fbaf756df2adca4388a25d24ce2b6b4da6fa65f1fa1285febe238caa812c7e43fa97731654d4 diff --git a/dev-java/guava/files/guava-33.5.0-allow-java26.patch b/dev-java/guava/files/guava-33.5.0-allow-java26.patch new file mode 100644 index 000000000000..36f1a00fe26c --- /dev/null +++ b/dev-java/guava/files/guava-33.5.0-allow-java26.patch @@ -0,0 +1,59 @@ +From 9a406e7f461c27d141eb765d7992e767ee13427f Mon Sep 17 00:00:00 2001 +From: Liam Miller-Cushon +Date: Thu, 25 Sep 2025 07:58:39 -0700 +Subject: [PATCH] Fix a compilation error caused by + https://bugs.openjdk.org/browse/JDK-8357219 + +RELNOTES=n/a +PiperOrigin-RevId: 811351810 +--- + android/guava/src/com/google/common/primitives/Booleans.java | 5 +++-- + guava/src/com/google/common/primitives/Booleans.java | 5 +++-- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/android/guava/src/com/google/common/primitives/Booleans.java b/android/guava/src/com/google/common/primitives/Booleans.java +index dae0f3b028eb..38c0cbbdee67 100644 +--- a/android/guava/src/com/google/common/primitives/Booleans.java ++++ b/android/guava/src/com/google/common/primitives/Booleans.java +@@ -18,7 +18,6 @@ + import static com.google.common.base.Preconditions.checkElementIndex; + import static com.google.common.base.Preconditions.checkNotNull; + import static com.google.common.base.Preconditions.checkPositionIndexes; +-import static java.lang.Math.min; + + import com.google.common.annotations.GwtCompatible; + import com.google.common.annotations.GwtIncompatible; +@@ -321,7 +320,9 @@ private enum LexicographicalComparator implements Comparator { + + @Override + public int compare(boolean[] left, boolean[] right) { +- int minLength = min(left.length, right.length); ++ // do not static import Math.min due to https://bugs.openjdk.org/browse/JDK-8357219 ++ @SuppressWarnings("StaticImportPreferred") ++ int minLength = Math.min(left.length, right.length); + for (int i = 0; i < minLength; i++) { + int result = Boolean.compare(left[i], right[i]); + if (result != 0) { +diff --git a/guava/src/com/google/common/primitives/Booleans.java b/guava/src/com/google/common/primitives/Booleans.java +index dae0f3b028eb..38c0cbbdee67 100644 +--- a/guava/src/com/google/common/primitives/Booleans.java ++++ b/guava/src/com/google/common/primitives/Booleans.java +@@ -18,7 +18,6 @@ + import static com.google.common.base.Preconditions.checkElementIndex; + import static com.google.common.base.Preconditions.checkNotNull; + import static com.google.common.base.Preconditions.checkPositionIndexes; +-import static java.lang.Math.min; + + import com.google.common.annotations.GwtCompatible; + import com.google.common.annotations.GwtIncompatible; +@@ -321,7 +320,9 @@ private enum LexicographicalComparator implements Comparator { + + @Override + public int compare(boolean[] left, boolean[] right) { +- int minLength = min(left.length, right.length); ++ // do not static import Math.min due to https://bugs.openjdk.org/browse/JDK-8357219 ++ @SuppressWarnings("StaticImportPreferred") ++ int minLength = Math.min(left.length, right.length); + for (int i = 0; i < minLength; i++) { + int result = Boolean.compare(left[i], right[i]); + if (result != 0) { diff --git a/dev-java/guava/guava-33.5.0.ebuild b/dev-java/guava/guava-33.5.0.ebuild new file mode 100644 index 000000000000..23a0bcd4173b --- /dev/null +++ b/dev-java/guava/guava-33.5.0.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2025 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" + +CP_DEPEND=" + >=dev-java/error-prone-annotations-2.42.0:0 + >=dev-java/j2objc-annotations-3.1:0 + dev-java/jspecify:0 +" + +DEPEND=" + ${CP_DEPEND} + >=dev-java/checker-framework-qual-3.51.1:0 + dev-java/jsr305:0 + >=virtual/jdk-11:* +" + +RDEPEND=" + ${CP_DEPEND} + >=virtual/jre-1.8:* +" + +PATCHES=( "${FILESDIR}/guava-33.5.0-allow-java26.patch" ) + +JAVA_CLASSPATH_EXTRA="jsr305" + +src_prepare() { + default # bug #780585 + java-pkg-2_src_prepare + + # Get module-info.class into versions/9 + mkdir -p futures/failureaccess/src9 || die "mkdir futures" + mv futures/failureaccess/src{,9}/module-info.java || die "mv futures" + mkdir -p guava/src9 || die "mkdir guava" + mv guava/src{,9}/module-info.java || die "mv guava" +} + +src_compile() { + einfo "Compiling failureaccess.jar" + JAVA_INTERMEDIATE_JAR_NAME="com.google.common.util.concurrent.internal" + JAVA_JAR_FILENAME="failureaccess.jar" + JAVA_RELEASE_SRC_DIRS=( ["9"]="futures/failureaccess/src9" ) + JAVA_SRC_DIR="futures/failureaccess/src" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":failureaccess.jar" + rm -r target || die + + einfo "Compiling guava.jar" + JAVA_CLASSPATH_EXTRA="checker-framework-qual" + JAVA_INTERMEDIATE_JAR_NAME="com.google.common" + JAVA_JAR_FILENAME="guava.jar" + JAVA_RELEASE_SRC_DIRS=( ["9"]="guava/src9" ) + JAVA_SRC_DIR="guava/src" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":guava.jar" + rm -r target || die + + JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}" + JAVADOC_SRC_DIRS=( {futures/failureaccess,guava}/src ) + use doc && ejavadoc +} + +src_install() { + java-pkg-simple_src_install + java-pkg_dojar failureaccess.jar +}