Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/openjdk/
Date: Mon, 31 Jan 2022 06:30:24
Message-Id: 1643610611.305b688c16f29d1311d000b5930333e7c461ae77.gyakovlev@gentoo
1 commit: 305b688c16f29d1311d000b5930333e7c461ae77
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 31 06:12:53 2022 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 31 06:30:11 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=305b688c
7
8 dev-java/openjdk: add 8.322_p06
9
10 Bump eapi to 7
11 switch to new monorepo on github
12 rework ebuild a bit
13
14 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
15
16 dev-java/openjdk/Manifest | 1 +
17 dev-java/openjdk/openjdk-8.322_p06.ebuild | 222 ++++++++++++++++++++++++++++++
18 2 files changed, 223 insertions(+)
19
20 diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
21 index a62554c4f4d7..07690da8db6a 100644
22 --- a/dev-java/openjdk/Manifest
23 +++ b/dev-java/openjdk/Manifest
24 @@ -3,6 +3,7 @@ DIST openjdk-11.0.14_p9.tar.gz 122803178 BLAKE2B 521d7829b34fa4f9a143c51d61c339c
25 DIST openjdk-17.0.1_p12.tar.gz 104597561 BLAKE2B 9bae16c0c0b973017258076bf8597101538e7ef29cb16357b17b112ae1aa058b17d26f22057cf3d6638104dbd83f5c19b6bcd124f589fc100eae83f78dc1c269 SHA512 220d87a29e1a25b670d721c27069b601a48c833069cb252f81ee6de2ff65fef23fd76e689fc755940f7e457b2419ef93a15cbeca64db2a8798028729df876d25
26 DIST openjdk-17.0.2_p8.tar.gz 104741920 BLAKE2B 749b1699f1b4b2bb6ee1139ceb704ba3b3f3789770176e5f0dc4b1d5ce5c2887514fc3c256a64f2ad9bb017339c20ef10110f35b523ee1edcd62924e41f44f03 SHA512 8eeb8b56410178179cc95aa02b0bf827fac3fbf6242a905502a6594763be809a727e55e87866ac65be56c22d6f78ec0c483bdaab9411f07d4b160c49b06921fa
27 DIST openjdk-8.312_p07.tar.bz2 460874 BLAKE2B 2230d45b74044c894d1c1d25e7354ab9cf3d4df82ef1f149c31e2a755220775f59c76178847f61b99fc0859522fef4106c696e807c70602f9138c5110bcd3ed2 SHA512 483503cf4a54b736a9cb17179246d0fc602450e15d7815d3897d2c5a056483187b96f09280f6bb0522044150eb6733777bbb3a9130e8e34b6f6c865cb306e5a8
28 +DIST openjdk-8.322_p06.tar.gz 88114268 BLAKE2B 206b8373bacd829682e9203d9fbb14240994b63b7ddb3675cd3380ee7a4ab9c9016cdcc278b63d3110652ad02587d3c7965bc9865fed6c9ddd720e79bb917c71 SHA512 877b56bb11daf7295bd08d2a310cb4dc0478ac7465d4e7f88ba9b9ab2715761b2e83d2e47fb03dc82ec1f1651c9c0772f048360e1f71c0f91a19bda4b46cbcfc
29 DIST openjdk-aarch64-shenandoah-8.312_p07.tar.bz2 467870 BLAKE2B 5ed4301b942fd2757644d82b1eb8f212d27ae6c39a225fa739b6a665deb42ba85ebb3e95d8563a8031cd08e3fed9ce2fa2aa675e2d348bcbd16d5b82bff74d43 SHA512 157f53f096f7cdf9bc4af2200cf1bc5dea566a839beb59e2d21a8001e0dd1c6596e409b7e21b9484832c9826dbaec97c00f5e980926142c89117650e390ec63e
30 DIST openjdk-aarch64-shenandoah-corba-8.312_p07.tar.bz2 1053490 BLAKE2B 47ee0c89deddb3aefef02d9a71a8d3bdfddd95977e57c70e2699a18c76bc1724b48609c106126527085bca8892a4b071d26d0d47c72cc0681757c8dacbb85c78 SHA512 49f27951b3b57c10ea996f2490a089e1eb28be4762d57962b6b2616020a3cca248ab61580c6f27842b9986eadcc1bcb208af543832fe839d6fd548a3f7a5a04a
31 DIST openjdk-aarch64-shenandoah-hotspot-8.312_p07.tar.bz2 8802379 BLAKE2B 53a8fa582f002c19a50d6dea07aa9d21374b59cc0fb973ca84429191060ba60da609ea115d6249d835f7a945279073c896abb534f1b59ed3b5811b70dd8a6503 SHA512 b0b19a9277af9ab0f395367ba010d4574ae4e7d5a0f9c9c44c3222545642ec6a4342bd2caaa8f8db3ade23f4680b8cbfbb74b4cf4526622ce9eb4d16a3190fa5
32
33 diff --git a/dev-java/openjdk/openjdk-8.322_p06.ebuild b/dev-java/openjdk/openjdk-8.322_p06.ebuild
34 new file mode 100644
35 index 000000000000..2d2f40700f24
36 --- /dev/null
37 +++ b/dev-java/openjdk/openjdk-8.322_p06.ebuild
38 @@ -0,0 +1,222 @@
39 +# Copyright 1999-2022 Gentoo Authors
40 +# Distributed under the terms of the GNU General Public License v2
41 +
42 +EAPI=7
43 +
44 +inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
45 +
46 +# we need latest -ga tag from git, but want to keep build number as well
47 +# as _p component of the gentoo version string.
48 +
49 +MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
50 +SLOT="${PV%%[.+]*}"
51 +
52 +DESCRIPTION="Open source implementation of the Java programming language"
53 +HOMEPAGE="https://openjdk.java.net"
54 +SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz -> ${P}.tar.gz"
55 +
56 +LICENSE="GPL-2"
57 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
58 +IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap selinux source"
59 +
60 +COMMON_DEPEND="
61 + media-libs/freetype:2=
62 + media-libs/giflib:0/7
63 + sys-libs/zlib
64 +"
65 +# Many libs are required to build, but not to run, make is possible to remove
66 +# by listing conditionally in RDEPEND unconditionally in DEPEND
67 +RDEPEND="
68 + ${COMMON_DEPEND}
69 + >=sys-apps/baselayout-java-0.1.0-r1
70 + !headless-awt? (
71 + x11-libs/libX11
72 + x11-libs/libXext
73 + x11-libs/libXi
74 + x11-libs/libXrender
75 + x11-libs/libXt
76 + x11-libs/libXtst
77 + )
78 + alsa? ( media-libs/alsa-lib )
79 + cups? ( net-print/cups )
80 + selinux? ( sec-policy/selinux-java )
81 +"
82 +
83 +DEPEND="
84 + ${COMMON_DEPEND}
85 + app-arch/zip
86 + media-libs/alsa-lib
87 + net-print/cups
88 + virtual/pkgconfig
89 + x11-base/xorg-proto
90 + x11-libs/libX11
91 + x11-libs/libXext
92 + x11-libs/libXi
93 + x11-libs/libXrender
94 + x11-libs/libXt
95 + x11-libs/libXtst
96 + || (
97 + dev-java/openjdk-bin:${SLOT}
98 + dev-java/icedtea-bin:${SLOT}
99 + dev-java/openjdk:${SLOT}
100 + dev-java/icedtea:${SLOT}
101 + )
102 +"
103 +
104 +BDEPEND="
105 + virtual/pkgconfig
106 +"
107 +
108 +PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
109 +
110 +S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
111 +
112 +PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" )
113 +
114 +# The space required to build varies wildly depending on USE flags,
115 +# ranging from 2GB to 16GB. This function is certainly not exact but
116 +# should be close enough to be useful.
117 +openjdk_check_requirements() {
118 + local M
119 + M=2048
120 + M=$(( $(usex debug 3 1) * $M ))
121 + M=$(( $(usex jbootstrap 2 1) * $M ))
122 + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
123 +
124 + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
125 +}
126 +
127 +pkg_pretend() {
128 + openjdk_check_requirements
129 + if [[ ${MERGE_TYPE} != binary ]]; then
130 + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
131 + fi
132 +}
133 +
134 +pkg_setup() {
135 + openjdk_check_requirements
136 +
137 + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}"
138 + JAVA_PKG_WANT_SOURCE="${SLOT}"
139 + JAVA_PKG_WANT_TARGET="${SLOT}"
140 +
141 + java-vm-2_pkg_setup
142 + java-pkg-2_pkg_setup
143 +}
144 +
145 +src_prepare() {
146 + default
147 +
148 + # new warnings in new gcc https://bugs.gentoo.org/685426
149 + sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
150 + hotspot/make/linux/makefiles/gcc.make || die
151 +
152 + chmod +x configure || die
153 +}
154 +
155 +src_configure() {
156 + # general build info found here:
157 + #https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
158 +
159 + # Work around stack alignment issue, bug #647954.
160 + use x86 && append-flags -mincoming-stack-boundary=2
161 +
162 + # Work around -fno-common ( GCC10 default ), bug #706638
163 + append-flags -fcommon
164 +
165 + # Strip some flags users may set, but should not. #818502
166 + filter-flags -fexceptions
167 +
168 + tc-export_build_env CC CXX PKG_CONFIG STRIP
169 +
170 + local myconf=(
171 + --disable-ccache
172 + --disable-freetype-bundling
173 + --disable-precompiled-headers
174 + --enable-unlimited-crypto
175 + --with-boot-jdk="${JDK_HOME}"
176 + --with-extra-cflags="${CFLAGS}"
177 + --with-extra-cxxflags="${CXXFLAGS}"
178 + --with-extra-ldflags="${LDFLAGS}"
179 + --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
180 + --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
181 + --with-giflib=system
182 + --with-jtreg=no
183 + --with-jobs=1
184 + --with-num-cores=1
185 + --with-update-version="$(ver_cut 2)"
186 + --with-build-number="b$(ver_cut 4)"
187 + --with-milestone="fcs" # magic variable that means "release version"
188 + --with-vendor-name="Gentoo"
189 + --with-vendor-url="https://gentoo.org"
190 + --with-vendor-bug-url="https://bugs.gentoo.org"
191 + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
192 + --with-zlib=system
193 + --with-native-debug-symbols=$(usex debug internal none)
194 + $(usex headless-awt --disable-headful '')
195 + $(tc-is-clang && echo "--with-toolchain-type=clang")
196 + )
197 +
198 + (
199 + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
200 + CFLAGS= CXXFLAGS= LDFLAGS= \
201 + CONFIG_SITE=/dev/null \
202 + CONFIG_SHELL="${EPREFIX}/bin/bash"
203 + econf "${myconf[@]}"
204 + )
205 +}
206 +
207 +src_compile() {
208 + local myemakeargs=(
209 + JOBS=$(makeopts_jobs)
210 + LOG=debug
211 + $(usex doc docs '')
212 + $(usex jbootstrap bootcycle-images images)
213 + )
214 + emake "${myemakeargs[@]}" -j1 #nowarn
215 +}
216 +
217 +src_install() {
218 + local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
219 + local ddest="${ED}/${dest#/}"
220 +
221 + cd "${S}"/build/*-release/images/j2sdk-image || die
222 +
223 + if ! use alsa; then
224 + rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
225 + fi
226 +
227 + # build system does not remove that
228 + if use headless-awt ; then
229 + rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
230 + {,jre/}bin/policytool bin/appletviewer || die
231 + fi
232 +
233 + if ! use examples ; then
234 + rm -vr demo/ || die
235 + fi
236 +
237 + if ! use source ; then
238 + rm -v src.zip || die
239 + fi
240 +
241 + dodir "${dest}"
242 + cp -pPR * "${ddest}" || die
243 +
244 + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
245 +
246 + java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
247 + java-vm_set-pax-markings "${ddest}"
248 + java-vm_revdep-mask
249 + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
250 +
251 + if use doc ; then
252 + docinto html
253 + dodoc -r "${S}"/build/*-release/docs/*
254 + fi
255 +}
256 +
257 +pkg_postinst() {
258 + java-vm-2_pkg_postinst
259 + einfo "JavaWebStart functionality provided by icedtea-web package"
260 +}