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/icedtea/, dev-java/icedtea/files/
Date: Fri, 02 Apr 2021 09:02:18
Message-Id: 1617354131.0e7e963bf1e61e2fb4f5ba7c47e8d080e3b452f4.gyakovlev@gentoo
1 commit: 0e7e963bf1e61e2fb4f5ba7c47e8d080e3b452f4
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 2 09:00:29 2021 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 2 09:02:11 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e7e963b
7
8 dev-java/icedtea: bump to 3.18.0
9
10 Package-Manager: Portage-3.0.18, Repoman-3.0.3
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 dev-java/icedtea/Manifest | 11 +
14 .../files/openjdk-8-hotspot-arrayallocator.patch | 16 +
15 dev-java/icedtea/icedtea-3.18.0.ebuild | 386 +++++++++++++++++++++
16 3 files changed, 413 insertions(+)
17
18 diff --git a/dev-java/icedtea/Manifest b/dev-java/icedtea/Manifest
19 index 4dbaeda9ac6..c93595edba8 100644
20 --- a/dev-java/icedtea/Manifest
21 +++ b/dev-java/icedtea/Manifest
22 @@ -20,5 +20,16 @@ DIST icedtea-3.17-shenandoah-3.17.0.tar.xz 7277048 BLAKE2B 034d27ce07b48d2730218
23 DIST icedtea-3.17-shenandoah-3.17.1.tar.xz 7276688 BLAKE2B 02db748f1b87694fe0995b153211ccfeb8719a0b8e5f32396eff15012e396647294eb809b6561f1ed845cfd0f43a8b297f55f444651020ea42f1a05c2f0d4692 SHA512 a1bdda704f0331ad445143a7bd9fba33090c2cfd1a6d73a6c427378e3685ca40e0d600256c3c678820061e93d5bdc3faf9040bb11e62647d7b3f9218406405a7
24 DIST icedtea-3.17.0.tar.xz 1565156 BLAKE2B f2b5f0b0ac1de70ddd5faa1215fcb17b5b7bee726ca5dd81bc2e3948c7fd342dfe1d7c9dbd232696bf0f2d68f214b0132f386d182b1fe15ec72cdb77cc0ba67c SHA512 4183037d6829f7fdd25b970853e84bfeecb45adca7fb78e773c431e401c155c212b78bc6daf80d8479c13e9ca63ad5446122a8ec2d6e6b1bede8ee747ba7a91b
25 DIST icedtea-3.17.1.tar.xz 1565996 BLAKE2B 36a92826fd7f1cda9b1b90d93b57c4fe63cdcbd3e5d6320f3b6ac9819720156943232b17c9b3a6a5ca796cb2a29ef47426e9f10491af844bfa12a99252312d69 SHA512 eaf66df177f08cf335fe795f816e4f6b70a25a402ff8db4c1a2c545dd129350e1135c45e131eab8820620de2a75fda1d56141583ec1a651218d0a02680eb1df7
26 +DIST icedtea-3.18-aarch32-3.18.0.tar.xz 7057736 BLAKE2B bd681871da038ee1eaabe5c38e830a9d80fff30f8793b81afb69803107d0ee2ae8f3dad3985ec05c86120f1e3c86101984397476a76bce30a7b1852784175521 SHA512 3bc033bb4256d6a8ee8387998fbb4b1a14d2c6882337366085ca4648eb9b2a34176003e23e420703a075fb5322a1be3547d5ed82188d97e1f12429b4a8b3671d
27 +DIST icedtea-3.18-corba-3.18.0.tar.xz 948504 BLAKE2B 00deb77d5aebf19ad404bf44ac7367017f8aee6699e11b93d2cb44f7d23f17f13caba8aee9862b25e528bee3d8fbfa728260850d1aa2f66839b079b1111d3af4 SHA512 db71a9fd6288a8217a8338dda70a87eb4b97f1659c7e990eccd2774785bf1da9e35b71e231e108c610784922d1fa01cdaf115941189910ef9c68cf70746296ea
28 +DIST icedtea-3.18-hotspot-3.18.0.tar.xz 7110964 BLAKE2B ac45a7271f50a93b0ee27e6096820f3f93a02db42c6fde549515c3297590c94fff349a6cec5c9caf7bda31bbe36d6609097b4f73e99cdc1fe46bcfff0330a82e SHA512 abc46441c6ea7f652ee42376425e2fdd34a18de0803a13f38aa002a57a2835f8e2995f9a762fb53f114ad7b1030fc9ab82bd00839fccf57315018519df1c5c5f
29 +DIST icedtea-3.18-jaxp-3.18.0.tar.xz 2268136 BLAKE2B 6f398420e55684792020da116f8da25e1b4a59b2423d6b37ed55a567ba68aedca7a59c99ee0e3a87785a12910b518d07a9d0d248bb3ae151f81c7622ec904299 SHA512 fe8d25e38d05e0f65f91712ee7e4b6469605c9a6bd9b0cbdd29f483889b267483008fb913191ffa277047a66ad43eb397582935d984fad00e469b118532a1adf
30 +DIST icedtea-3.18-jaxws-3.18.0.tar.xz 2277356 BLAKE2B f0c3123722df57346461940f41e6b394a34c9e508ab3d2fa9f75581d4d626468394e2854129671e9bd68ecd217ed3aa0933cd14e2e74acd82d1cccd897e2b209 SHA512 b6879bdab06d1706945960b64f8dcff5ee8e81b95a733807768a0c2a5f329967e671d760a64239a42d6d5f9bf55b2904bf67082a4cd01ca5656bc323b041ff19
31 +DIST icedtea-3.18-jdk-3.18.0.tar.xz 40637140 BLAKE2B de565a2ba7cdb3732a551aa513cac3f52bf330590e011c6b05d47da1cee8389315ba3eb8112ce3c3d0510a049c49c147ea3a474eaadf70535fe30f63576fa293 SHA512 022115dbfc9ab7217a74b10e347a6a3a5eaa1112fef53cb37ff9dc003ec5bd3018b5b0bf675465d1c496e57b9b177102c6fef135acc881f3db49bea51c4f7375
32 +DIST icedtea-3.18-langtools-3.18.0.tar.xz 2080068 BLAKE2B e2781cc6728594a6c5e8dd213c810ae7fbed8d365da6db600e75b5786573b3d201cb0c3ed10221de1c139fe7ed55b59e57c47927272374e32ae94e586d6f0f9d SHA512 d96ded5041e488860baf1c17346e9342fb086e999fbf5d5a4dd5be97e0db17771f594c60f584d549d7ce1b4e1aa58b165a32f0633101bb70ea5c2d77758bb42b
33 +DIST icedtea-3.18-nashorn-3.18.0.tar.xz 2323912 BLAKE2B ab0c7dc3635a6eb7feb350d56c0fd5e03b36b60b107b26dbb04262291c4c0d57077bff5f7d949d95ec1de04210e06f40600d360600db09421f1dc0f801968817 SHA512 2bd488893ac33a16480cceb16fab62c11f8032e68d84818ad20aaa4c3928af6c77c60f8bd94878aa02b703e0302847272688d8641145972071c4e9a048cd5a13
34 +DIST icedtea-3.18-openjdk-3.18.0.tar.xz 364932 BLAKE2B 098ae1025f0457e14a4afc7b67ad6063f99be5fa486a2f6e187e490fe7b87efbf1cdc6fad2b33f7ae4f92817d5a0410254c723853a2519dacb5c21961c4d7558 SHA512 b4b40d19bb12ae85d68b110eb51051c089a9b7e857eceb10429b609a9f11671cbee34cfcef5c89ef23ad6aea80e4bcad1ed085fb310e09942816c5dccc8f171d
35 +DIST icedtea-3.18-shenandoah-3.18.0.tar.xz 7279864 BLAKE2B 1d8cfccda9cf24a5522862634d3699a7bd9cd445da7a08ab2061da45ddb885e023d56c096813710ef4f7ddb458300737bae21a56900bfb00e3ed5ac696af2059 SHA512 f8c5d4f108a3575f154a462e8cf907c14fbcdfc95708ebabbf530a79cc66979cc7e141cd239d6603e4a47d114130b07e6f32edb9145930e573a239fa0c91e75b
36 +DIST icedtea-3.18.0.tar.xz 1565468 BLAKE2B e6bffb9860ae8824a96e55970056025bc426453c26f91a7eb52f01f5ada7c0cb0bdcc4efa503186f514759f914d9053d08ba540bde7d15be81736037ce5d8db5 SHA512 e94c365513e5fa8a17d61fe7957db85018510567df9ba115c9bca98c658257ff1f4dff7967e88b73088630f07670beeaa8cbe49706d6bd02fb2804abad5d95b1
37 DIST icedtea-cacao-c182f119eaad.tar.xz 3056520 BLAKE2B 6b1be66ce19f491d49f1591babcd8c088e8e327f828dca3f30b8f8b04c132140f8b9f487ef6d91aed212aebab2c7c3052d79fa3f2d76d3832341d94d48e77089 SHA512 22e8a031db5f93f82b276b310c175f1e926e48d64e1e50bebe51138e0f66391cd005501491a959d31663f338f27a29ec984ac29f77078f59472856e4d08edef7
38 DIST icedtea-jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz 317187 BLAKE2B 1ca581a02be4cf5c09162687bbc90ec01b58b4910d866d11512cf17a1caff181fdc69e42f7498b2df9deb875ddc6efc6bc2888428f411da94bbc2313ddf5a2c9 SHA512 a31348481e1c02747f5bb9db333f855c45a1555aa187ee35de5ef553a10a8a47dfcc1beb1e69502046c1758438b91958a328e0a0015812c153221f67734a70a6
39
40 diff --git a/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch b/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch
41 new file mode 100644
42 index 00000000000..ba5283f1577
43 --- /dev/null
44 +++ b/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch
45 @@ -0,0 +1,16 @@
46 +Workarounds build error:
47 +Error: dl failure on line 895
48 +Error relocating .../libjvm.so: _ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: symbol not found
49 +
50 +Possibly due to g++ 10.x error on not properly instantiating the template.
51 +
52 +--- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp.orig 2020-11-10 14:07:08.372045326 +0200
53 ++++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp 2020-11-10 14:08:07.911412813 +0200
54 +@@ -42,6 +42,7 @@
55 + # include "os_bsd.inline.hpp"
56 + #endif
57 +
58 ++template class ArrayAllocator<BitMap::bm_word_t, mtInternal>;
59 +
60 + BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) :
61 + _map(map), _size(size_in_bits), _map_allocator(false)
62
63 diff --git a/dev-java/icedtea/icedtea-3.18.0.ebuild b/dev-java/icedtea/icedtea-3.18.0.ebuild
64 new file mode 100644
65 index 00000000000..0ec90737581
66 --- /dev/null
67 +++ b/dev-java/icedtea/icedtea-3.18.0.ebuild
68 @@ -0,0 +1,386 @@
69 +# Copyright 1999-2021 Gentoo Authors
70 +# Distributed under the terms of the GNU General Public License v2
71 +
72 +# Build written by Andrew John Hughes (gnu_andrew@××××××××××.org)
73 +
74 +# *********************************************************
75 +# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-6.* AS WELL *
76 +# *********************************************************
77 +
78 +EAPI=6
79 +SLOT="8"
80 +
81 +inherit check-reqs eapi7-ver flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils prefix toolchain-funcs xdg-utils
82 +
83 +ICEDTEA_VER=$(ver_cut 1-3)
84 +ICEDTEA_BRANCH=$(ver_cut 1-2)
85 +ICEDTEA_PKG=icedtea-${ICEDTEA_VER}
86 +
87 +CORBA_TARBALL="${PV}.tar.xz"
88 +JAXP_TARBALL="${PV}.tar.xz"
89 +JAXWS_TARBALL="${PV}.tar.xz"
90 +JDK_TARBALL="${PV}.tar.xz"
91 +LANGTOOLS_TARBALL="${PV}.tar.xz"
92 +OPENJDK_TARBALL="${PV}.tar.xz"
93 +NASHORN_TARBALL="${PV}.tar.xz"
94 +HOTSPOT_TARBALL="${PV}.tar.xz"
95 +SHENANDOAH_TARBALL="${PV}.tar.xz"
96 +AARCH32_TARBALL="${PV}.tar.xz"
97 +
98 +CACAO_TARBALL="cacao-c182f119eaad.tar.xz"
99 +JAMVM_TARBALL="jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz"
100 +
101 +CORBA_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-corba-${CORBA_TARBALL}"
102 +JAXP_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxp-${JAXP_TARBALL}"
103 +JAXWS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxws-${JAXWS_TARBALL}"
104 +JDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jdk-${JDK_TARBALL}"
105 +LANGTOOLS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-langtools-${LANGTOOLS_TARBALL}"
106 +OPENJDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-openjdk-${OPENJDK_TARBALL}"
107 +NASHORN_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-nashorn-${NASHORN_TARBALL}"
108 +HOTSPOT_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-hotspot-${HOTSPOT_TARBALL}"
109 +SHENANDOAH_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-shenandoah-${SHENANDOAH_TARBALL}"
110 +AARCH32_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-aarch32-${AARCH32_TARBALL}"
111 +
112 +CACAO_GENTOO_TARBALL="icedtea-${CACAO_TARBALL}"
113 +JAMVM_GENTOO_TARBALL="icedtea-${JAMVM_TARBALL}"
114 +
115 +DROP_URL="https://icedtea.classpath.org/download/drops"
116 +ICEDTEA_URL="${DROP_URL}/icedtea${SLOT}/${ICEDTEA_VER}"
117 +
118 +DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies"
119 +HOMEPAGE="https://icedtea.classpath.org"
120 +SRC_PKG="${ICEDTEA_PKG}.tar.xz"
121 +SRC_URI="
122 + https://icedtea.classpath.org/download/source/${SRC_PKG}
123 + ${ICEDTEA_URL}/openjdk.tar.xz -> ${OPENJDK_GENTOO_TARBALL}
124 + ${ICEDTEA_URL}/corba.tar.xz -> ${CORBA_GENTOO_TARBALL}
125 + ${ICEDTEA_URL}/jaxp.tar.xz -> ${JAXP_GENTOO_TARBALL}
126 + ${ICEDTEA_URL}/jaxws.tar.xz -> ${JAXWS_GENTOO_TARBALL}
127 + ${ICEDTEA_URL}/jdk.tar.xz -> ${JDK_GENTOO_TARBALL}
128 + ${ICEDTEA_URL}/hotspot.tar.xz -> ${HOTSPOT_GENTOO_TARBALL}
129 + ${ICEDTEA_URL}/nashorn.tar.xz -> ${NASHORN_GENTOO_TARBALL}
130 + ${ICEDTEA_URL}/langtools.tar.xz -> ${LANGTOOLS_GENTOO_TARBALL}
131 + shenandoah? ( ${ICEDTEA_URL}/shenandoah.tar.xz -> ${SHENANDOAH_GENTOO_TARBALL} )
132 + arm? ( ${ICEDTEA_URL}/aarch32.tar.xz -> ${AARCH32_GENTOO_TARBALL} )
133 + ${DROP_URL}/cacao/${CACAO_TARBALL} -> ${CACAO_GENTOO_TARBALL}
134 + ${DROP_URL}/jamvm/${JAMVM_TARBALL} -> ${JAMVM_GENTOO_TARBALL}"
135 +
136 +LICENSE="Apache-1.1 Apache-2.0 GPL-1 GPL-2 GPL-2-with-linking-exception LGPL-2 MPL-1.0 MPL-1.1 public-domain W3C"
137 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
138 +
139 +IUSE="+alsa cacao +cups doc examples +gtk headless-awt
140 + jamvm +jbootstrap kerberos libressl pax_kernel +pch
141 + pulseaudio sctp selinux shenandoah smartcard +source +system-lcms test zero"
142 +
143 +RESTRICT="!test? ( test )"
144 +REQUIRED_USE="gtk? ( !headless-awt )"
145 +
146 +# Ideally the following were optional at build time.
147 +ALSA_COMMON_DEP=">=media-libs/alsa-lib-1.0"
148 +CUPS_COMMON_DEP=">=net-print/cups-1.2.12"
149 +
150 +X_COMMON_DEP="
151 + >=media-libs/giflib-4.1.6:0=
152 + >=media-libs/libpng-1.2:0=
153 + >=x11-libs/libX11-1.1.3
154 + >=x11-libs/libXext-1.1.1
155 + >=x11-libs/libXi-1.1.3
156 + >=x11-libs/libXrender-0.9.4
157 + >=x11-libs/libXtst-1.0.3
158 + x11-libs/libXcomposite
159 +"
160 +
161 +X_DEPEND="
162 + x11-base/xorg-proto
163 + >=x11-libs/libXau-1.0.3
164 + >=x11-libs/libXdmcp-1.0.2
165 + >=x11-libs/libXinerama-1.0.2
166 +"
167 +
168 +# The Javascript requirement is obsolete; OpenJDK 8+ has Nashorn
169 +COMMON_DEP="
170 + >=dev-libs/glib-2.26:2=
171 + >=dev-util/systemtap-1
172 + media-libs/fontconfig:1.0=
173 + >=media-libs/freetype-2.5.3:2=
174 + >=sys-libs/zlib-1.2.3
175 + virtual/jpeg:0=
176 + gtk? (
177 + >=dev-libs/atk-1.30.0
178 + >=x11-libs/cairo-1.8.8
179 + x11-libs/gdk-pixbuf:2
180 + >=x11-libs/gtk+-2.8:2
181 + >=x11-libs/pango-1.24.5
182 + )
183 + kerberos? ( virtual/krb5 )
184 + sctp? ( net-misc/lksctp-tools )
185 + smartcard? ( sys-apps/pcsc-lite )
186 + system-lcms? ( >=media-libs/lcms-2.9:2= )
187 +"
188 +
189 +RDEPEND="${COMMON_DEP}
190 + !dev-java/icedtea:0
191 + !dev-java/icedtea-web:7
192 + >=gnome-base/gsettings-desktop-schemas-3.12.2
193 + >=sys-apps/baselayout-java-0.1.0-r1
194 + virtual/ttf-fonts
195 + alsa? ( ${ALSA_COMMON_DEP} )
196 + cups? ( ${CUPS_COMMON_DEP} )
197 + !headless-awt? ( ${X_COMMON_DEP} )
198 + selinux? ( sec-policy/selinux-java )
199 +"
200 +
201 +# perl is needed for running the SystemTap tests and the bootstrap javac
202 +# lsb-release is used to obtain distro information for the version & crash dump output
203 +# attr is needed for xattr.h which defines the extended attribute syscalls used by NIO2
204 +# x11-libs/libXt is needed for headers only (Intrinsic.h, IntrinsicP.h, Shell.h, StringDefs.h)
205 +# Ant is no longer needed under the new build system
206 +DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP} ${X_DEPEND}
207 + || (
208 + dev-java/openjdk-bin:8
209 + dev-java/openjdk:8
210 + dev-java/icedtea-bin:8
211 + dev-java/icedtea:8
212 + )
213 + app-arch/cpio
214 + app-arch/unzip
215 + app-arch/zip
216 + app-misc/ca-certificates
217 + dev-lang/perl
218 + !libressl? ( dev-libs/openssl:0 )
219 + libressl? ( dev-libs/libressl:0 )
220 + sys-apps/attr
221 + sys-apps/lsb-release
222 + x11-libs/libXt
223 + virtual/pkgconfig
224 + pax_kernel? ( sys-apps/elfix )"
225 +
226 +PDEPEND="pulseaudio? ( dev-java/icedtea-sound )"
227 +
228 +S="${WORKDIR}"/${ICEDTEA_PKG}
229 +
230 +icedtea_check_requirements() {
231 + local CHECKREQS_DISK_BUILD
232 +
233 + if use doc; then
234 + CHECKREQS_DISK_BUILD="9000M"
235 + else
236 + CHECKREQS_DISK_BUILD="8500M"
237 + fi
238 +
239 + check-reqs_pkg_${EBUILD_PHASE}
240 +}
241 +
242 +pkg_pretend() {
243 + icedtea_check_requirements
244 +}
245 +
246 +pkg_setup() {
247 + icedtea_check_requirements
248 +
249 + JAVA_PKG_WANT_BUILD_VM="
250 + openjdk-8 openjdk-bin-8
251 + icedtea-8 icedtea-bin-8"
252 + JAVA_PKG_WANT_SOURCE="1.5"
253 + JAVA_PKG_WANT_TARGET="1.5"
254 +
255 + java-vm-2_pkg_setup
256 + java-pkg-2_pkg_setup
257 +}
258 +
259 +src_unpack() {
260 + unpack ${SRC_PKG}
261 +}
262 +
263 +src_configure() {
264 + # GCC10/-fno-common handling, #723102
265 + if [[ $(gcc-major-version) -ge 10 ]]; then
266 + append-flags -fcommon
267 + append-flags -fno-delete-null-pointer-checks -fno-lifetime-dse
268 + fi
269 + # this patch helps with gcc10 as well
270 + # since build system unpacks tarballs itself, this is a way to force makefile
271 + # to apply our patch. it expects relative path inside source, so we can't specify
272 + # ${FILESDIR} directly.
273 + mkdir -v gentoo_patches || die
274 + cp -v "${FILESDIR}/openjdk-8-hotspot-arrayallocator.patch" gentoo_patches || die
275 + export DISTRIBUTION_PATCHES="gentoo_patches//openjdk-8-hotspot-arrayallocator.patch"
276 +
277 + # For bootstrap builds as the sandbox control file might not yet exist.
278 + addpredict /proc/self/coredump_filter #nowarn
279 +
280 + # icedtea doesn't like some locales. #330433 #389717
281 + export LANG="C" LC_ALL="C"
282 +
283 + local cacao_config config hotspot_port hs_config jamvm_config use_cacao use_jamvm use_zero zero_config
284 + local vm=$(java-pkg_get-current-vm)
285 +
286 + # gcj-jdk ensures ecj is present.
287 + if use jbootstrap || has "${vm}" gcj-jdk; then
288 + use jbootstrap || einfo "bootstrap is necessary when building with ${vm}, ignoring USE=\"-jbootstrap\""
289 + config+=" --enable-bootstrap"
290 + else
291 + config+=" --disable-bootstrap"
292 + fi
293 +
294 + # Use Zero if requested
295 + if use zero; then
296 + use_zero="yes"
297 + fi
298 +
299 + # Use JamVM if requested
300 + if use jamvm; then
301 + use_jamvm="yes"
302 + fi
303 +
304 + # Use CACAO if requested
305 + if use cacao; then
306 + use_cacao="yes"
307 + fi
308 +
309 + # Are we on a architecture with a HotSpot port?
310 + # In-tree JIT ports are available for amd64, arm, arm64, ppc64 (be&le), SPARC and x86.
311 + if { use amd64 || use arm || use arm64 || use ppc64 || use sparc || use x86; }; then
312 + hotspot_port="yes"
313 + # Work around stack alignment issue, bug #647954.
314 + use x86 && append-flags -mincoming-stack-boundary=2
315 + fi
316 +
317 + # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ...
318 + # Otherwise use Zero for now until alternate VMs are working
319 + if test "x${hotspot_port}" != "xyes"; then
320 + use_zero="yes"
321 + fi
322 +
323 + if use shenandoah; then
324 + if { use amd64 || use arm64; }; then
325 + hs_config="--with-hotspot-build=shenandoah"
326 + hs_config+=" --with-hotspot-src-zip="${DISTDIR}/${SHENANDOAH_GENTOO_TARBALL}""
327 + else
328 + eerror "Shenandoah is only supported on arm64 and x86_64. Please re-build with USE="-shenandoah""
329 + fi
330 + else
331 + if use arm ; then
332 + hs_config="--with-hotspot-src-zip="${DISTDIR}/${AARCH32_GENTOO_TARBALL}""
333 + else
334 + hs_config="--with-hotspot-src-zip="${DISTDIR}/${HOTSPOT_GENTOO_TARBALL}""
335 + fi
336 + fi
337 +
338 + # Turn on JamVM if needed (non-HS archs) or requested
339 + if test "x${use_jamvm}" = "xyes"; then
340 + if test "x${hotspot_port}" = "xyes"; then
341 + ewarn 'Enabling JamVM on an architecture with HotSpot support; issues may result.'
342 + ewarn 'If so, please rebuild with USE="-jamvm"'
343 + fi
344 + ewarn 'JamVM is known to still have issues with IcedTea 3.x; please rebuild with USE="-jamvm"'
345 + jamvm_config="--enable-jamvm"
346 + fi
347 +
348 + # Turn on CACAO if needed (non-HS archs) or requested
349 + if test "x${use_cacao}" = "xyes"; then
350 + if test "x${hotspot_port}" = "xyes"; then
351 + ewarn 'Enabling CACAO on an architecture with HotSpot support; issues may result.'
352 + ewarn 'If so, please rebuild with USE="-cacao"'
353 + fi
354 + ewarn 'CACAO is known to still have issues with IcedTea 3.x; please rebuild with USE="-cacao"'
355 + cacao_config="--enable-cacao"
356 + fi
357 +
358 + # Turn on Zero if needed (non-HS/CACAO archs) or requested
359 + if test "x${use_zero}" = "xyes"; then
360 + if test "x${hotspot_port}" = "xyes"; then
361 + ewarn 'Enabling Zero on an architecture with HotSpot support; performance will be significantly reduced.'
362 + fi
363 + zero_config="--enable-zero"
364 + fi
365 +
366 + # PaX breaks pch, bug #601016
367 + if use pch && ! host-is-pax; then
368 + config+=" --enable-precompiled-headers"
369 + else
370 + config+=" --disable-precompiled-headers"
371 + fi
372 +
373 + config+=" --with-parallel-jobs=$(makeopts_jobs)"
374 +
375 + unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
376 +
377 + # force bash for now https://bugs.gentoo.org/722292
378 + CONFIG_SHELL="${EPREFIX}/bin/bash" econf ${config} \
379 + --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_GENTOO_TARBALL}" \
380 + --with-corba-src-zip="${DISTDIR}/${CORBA_GENTOO_TARBALL}" \
381 + --with-jaxp-src-zip="${DISTDIR}/${JAXP_GENTOO_TARBALL}" \
382 + --with-jaxws-src-zip="${DISTDIR}/${JAXWS_GENTOO_TARBALL}" \
383 + --with-jdk-src-zip="${DISTDIR}/${JDK_GENTOO_TARBALL}" \
384 + --with-langtools-src-zip="${DISTDIR}/${LANGTOOLS_GENTOO_TARBALL}" \
385 + --with-nashorn-src-zip="${DISTDIR}/${NASHORN_GENTOO_TARBALL}" \
386 + --with-cacao-src-zip="${DISTDIR}/${CACAO_GENTOO_TARBALL}" \
387 + --with-jamvm-src-zip="${DISTDIR}/${JAMVM_GENTOO_TARBALL}" \
388 + --with-jdk-home="$(java-config -O)" \
389 + --prefix="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}" \
390 + --mandir="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}/man" \
391 + --with-pkgversion="Gentoo ${PF}" \
392 + --disable-ccache \
393 + --disable-downloading --disable-Werror --disable-tests \
394 + --disable-systemtap-tests --enable-improved-font-rendering \
395 + --enable-system-jpeg --enable-system-zlib \
396 + $(use_enable headless-awt headless) \
397 + $(use_enable !headless-awt system-gif) \
398 + $(use_enable !headless-awt system-png) \
399 + $(use_enable doc docs) \
400 + $(use_enable kerberos system-kerberos) \
401 + $(use_enable system-lcms) \
402 + $(use_with pax_kernel pax "${EPREFIX}/usr/sbin/paxmark.sh") \
403 + $(use_enable sctp system-sctp) \
404 + $(use_enable smartcard system-pcsc) \
405 + ${zero_config} ${cacao_config} ${jamvm_config} ${hs_config}
406 +}
407 +
408 +src_compile() {
409 + default
410 +}
411 +
412 +src_test() {
413 + default
414 +}
415 +
416 +src_install() {
417 + default
418 +
419 + local dest="/usr/$(get_libdir)/icedtea${SLOT}"
420 + local ddest="${ED}${dest#/}"
421 +
422 + if ! use alsa; then
423 + rm -v "${ddest}"/jre/lib/$(get_system_arch)/libjsoundalsa.* || die
424 + fi
425 +
426 + if ! use examples; then
427 + rm -r "${ddest}"/demo "${ddest}"/sample || die
428 + fi
429 +
430 + if ! use source; then
431 + rm -v "${ddest}"/src.zip || die
432 + fi
433 +
434 + dosym ../../../usr/share/doc/"${PF}" usr/share/doc/"${PN}${SLOT}"
435 +
436 + # Fix the permissions.
437 + find "${ddest}" \! -type l \( -perm /111 -exec chmod 755 {} \; -o -exec chmod 644 {} \; \) || die
438 +
439 + dosym ../../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
440 +
441 + java-vm_install-env "${FILESDIR}/icedtea.env.sh"
442 + java-vm_sandbox-predict /proc/self/coredump_filter
443 +}
444 +
445 +pkg_postinst() {
446 + xdg_icon_cache_update
447 + java-vm-2_pkg_postinst
448 + einfo "JavaWebStart functionality provided by icedtea-web package"
449 +}
450 +
451 +pkg_postrm() {
452 + xdg_icon_cache_update
453 + java-vm-2_pkg_postrm
454 +}