summaryrefslogtreecommitdiff
path: root/dev-java/guava/guava-33.5.0.ebuild
blob: 506a409218633a49dd8f3aa0acab6e5981cf2dd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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 ppc64"

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
}