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