public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjdk/, dev-java/openjdk/files/
@ 2021-10-16 17:50 Georgy Yakovlev
  0 siblings, 0 replies; 4+ messages in thread
From: Georgy Yakovlev @ 2021-10-16 17:50 UTC (permalink / raw
  To: gentoo-commits

commit:     6e60f4eea101a321842fafcffaefe03960d2e83f
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 16 17:40:29 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sat Oct 16 17:48:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e60f4ee

dev-java/openjdk: add 17_p35

Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjdk/Manifest                |   1 +
 dev-java/openjdk/files/openjdk-17.env.sh |  16 ++
 dev-java/openjdk/openjdk-17_p35.ebuild   | 274 +++++++++++++++++++++++++++++++
 3 files changed, 291 insertions(+)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 849c4a41d3b..20250c7d0b2 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -1,5 +1,6 @@
 DIST openjdk-11.0.11_p9.tar.bz2 95298760 BLAKE2B 7572d297fecffa9d38998c79dda00ea9361c1cf2f6c8bf51bac782da17cd3b6b272d08ab57fff96d523a1299f5514cb3788d05eeb37ef467ee7ad8bbb156d98e SHA512 72deecf32b793fa331deb6a1c0294b1efc68b72af9aebc1ba0528189e0097ff6d226cd0c3947d3cdc35c3cf28b3450cc538d375be0b9d43dca379f244894d20e
 DIST openjdk-11.0.12_p7.tar.bz2 95201432 BLAKE2B 6a031fec8e49025dd07d970bc12ef4da23c0e6be8a7b6f6609154bbe607de386669e58c529a935504a4a115269cf3e5a142ced50be5b21961b21d6ba53c6ecc2 SHA512 ca2af877839ee91b989981112be0af446d835ddf9eb68fc4976c2f97b21a4b0c9ec67625c202084e92834dd1a75f97a8aeff77a45570a79dc870cf6bd9d5d97f
+DIST openjdk-17_p35.tar.gz 104583143 BLAKE2B bc5cb90ea42d6a6fa414e807c04dbabadb097e9a3a3fe27010b03375997446a1d2ddfcd6ca8afc604730538ad0a375266e5a7fa4e111b02cef23b06b39160a89 SHA512 38a108752072133683bfdb5564f6406a4d0e95f4c15116f0b0dbae1d024450ff0be8a01f3a58ed5de9d93e1b0c70cb481a21237a9eb0d5034be85793785d19a4
 DIST openjdk-8.292_p10.tar.bz2 457861 BLAKE2B 043c1d6f7d040dedaadd05091ce4fdf3f516c1cd241e3603c81f2c49fd81df9c4f1082822a5471255381d56f3ab838a24e499b4ec647f3354ee051078c496b2c SHA512 6e1ac380db32fa5f1decc80291dcdb5e1d3d9afb0dc4587966c5a1b840588a984bc07109c23cb0c69c60509c6db8152e7306509280063f7d2e853aed41e391cc
 DIST openjdk-8.302_p08.tar.bz2 459824 BLAKE2B 19909605f3ae93f94875268e88b8fea0a49be0d8adbf2d2369c5fa1e66f6880094730294cb52bad009984c7ac7f63b8271fa43d0901fe4ce52b7b03696aaa6e3 SHA512 2be9c2965e307b09dcd07225e09665bbc818ba851d9e854645218194f0052eb4736f49915fddebb2a89043b0c14d7a6d5de145fb712034661568610e596fe0e5
 DIST openjdk-aarch64-shenandoah-8.292_p10.tar.bz2 464164 BLAKE2B 3f50f20517ef7b4599f9062330b3bc86900c137751e65d3047d165ad153032447b5f9c88e0d390c0ed758ad10d818295ce2cde04150da5036dd6b05fa26c2745 SHA512 074e9ea2fe83f4edb4d0de72f0d1a9c9091c28707c17b08ffab11cad2620790e740bfe53cef41a07d04b31cc32c1388e52e09eb07ca0b9929300d611c514619e

diff --git a/dev-java/openjdk/files/openjdk-17.env.sh b/dev-java/openjdk/files/openjdk-17.env.sh
new file mode 100644
index 00000000000..7db6461bf48
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-17.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="OpenJDK ${PV}"
+JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
+JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH=""
+PROVIDES_TYPE="JDK JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"

diff --git a/dev-java/openjdk/openjdk-17_p35.ebuild b/dev-java/openjdk/openjdk-17_p35.ebuild
new file mode 100644
index 00000000000..6160f6ab521
--- /dev/null
+++ b/dev-java/openjdk/openjdk-17_p35.ebuild
@@ -0,0 +1,274 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools check-reqs eapi7-ver flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
+
+MY_PV="${PV//_p/+}"
+SLOT="$(ver_cut 1)"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+
+IUSE="alsa cups debug doc examples gentoo-vm headless-awt javafx +jbootstrap +pch selinux source systemtap"
+
+COMMON_DEPEND="
+	media-libs/freetype:2=
+	media-libs/giflib:0/7
+	media-libs/harfbuzz:=
+	media-libs/libpng:0=
+	media-libs/lcms:2=
+	sys-libs/zlib
+	virtual/jpeg:0=
+	systemtap? ( dev-util/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+	${COMMON_DEPEND}
+	>=sys-apps/baselayout-java-0.1.0-r1
+	!headless-awt? (
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		x11-libs/libXt
+		x11-libs/libXtst
+	)
+	alsa? ( media-libs/alsa-lib )
+	cups? ( net-print/cups )
+	selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	app-arch/zip
+	media-libs/alsa-lib
+	net-print/cups
+	x11-base/xorg-proto
+	x11-libs/libX11
+	x11-libs/libXext
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXt
+	x11-libs/libXtst
+	javafx? ( dev-java/openjfx:${SLOT}= )
+	|| (
+		dev-java/openjdk-bin:${SLOT}
+		dev-java/openjdk:${SLOT}
+	)
+"
+
+REQUIRED_USE="javafx? ( alsa !headless-awt )"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+	local M
+	M=2048
+	M=$(( $(usex jbootstrap 2 1) * $M ))
+	M=$(( $(usex debug 3 1) * $M ))
+	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+	openjdk_check_requirements
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+	fi
+}
+
+pkg_setup() {
+	openjdk_check_requirements
+	java-vm-2_pkg_setup
+
+	JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+	JAVA_PKG_WANT_SOURCE="${SLOT}"
+	JAVA_PKG_WANT_TARGET="${SLOT}"
+
+	# The nastiness below is necessary while the gentoo-vm USE flag is
+	# masked. First we call java-pkg-2_pkg_setup if it looks like the
+	# flag was unmasked against one of the possible build VMs. If not,
+	# we try finding one of them in their expected locations. This would
+	# have been slightly less messy if openjdk-bin had been installed to
+	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+	# file but disable it so that it would not normally be selectable.
+
+	local vm
+	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+		if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
+			java-pkg-2_pkg_setup
+			return
+		fi
+	done
+
+	if has_version --host-root dev-java/openjdk:${SLOT}; then
+		export JDK_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
+	else
+		if [[ ${MERGE_TYPE} != "binary" ]]; then
+			JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
+			[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+			JDK_HOME=${JDK_HOME#*/}
+			JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+			export JDK_HOME
+		fi
+	fi
+}
+
+src_prepare() {
+	default
+	chmod +x configure || die
+}
+
+src_configure() {
+	# Work around stack alignment issue, bug #647954. in case we ever have x86
+	use x86 && append-flags -mincoming-stack-boundary=2
+
+	# Work around -fno-common ( GCC10 default ), bug #713180
+	append-flags -fcommon
+
+	# Enabling full docs appears to break doc building. If not
+	# explicitly disabled, the flag will get auto-enabled if pandoc and
+	# graphviz are detected. pandoc has loads of dependencies anyway.
+
+	local myconf=(
+		--disable-ccache
+		--disable-warnings-as-errors
+		--enable-full-docs=no
+		--with-boot-jdk="${JDK_HOME}"
+		--with-extra-cflags="${CFLAGS}"
+		--with-extra-cxxflags="${CXXFLAGS}"
+		--with-extra-ldflags="${LDFLAGS}"
+		--with-freetype=system
+		--with-giflib=system
+		--with-harfbuzz=system
+		--with-lcms=system
+		--with-libjpeg=system
+		--with-libpng=system
+		--with-native-debug-symbols=$(usex debug internal none)
+		--with-vendor-name="Gentoo"
+		--with-vendor-url="https://gentoo.org"
+		--with-vendor-bug-url="https://bugs.gentoo.org"
+		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+		--with-vendor-version-string="${PVR}"
+		--with-version-pre=""
+		--with-version-string="${PV%_p*}"
+		--with-version-build="${PV#*_p}"
+		--with-zlib=system
+		--enable-dtrace=$(usex systemtap yes no)
+		--enable-headless-only=$(usex headless-awt yes no)
+		$(tc-is-clang && echo "--with-toolchain-type=clang")
+	)
+
+	if use javafx; then
+		local zip="${EPREFIX%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+		if [[ -r ${zip} ]]; then
+			myconf+=( --with-import-modules="${zip}" )
+		else
+			die "${zip} not found or not readable"
+		fi
+	fi
+
+	# PaX breaks pch, bug #601016
+	if use pch && ! host-is-pax; then
+		myconf+=( --enable-precompiled-headers )
+	else
+		myconf+=( --disable-precompiled-headers )
+	fi
+
+	(
+		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+		CFLAGS= CXXFLAGS= LDFLAGS= \
+		CONFIG_SITE=/dev/null \
+		econf "${myconf[@]}"
+	)
+}
+
+src_compile() {
+	local myemakeargs=(
+		JOBS=$(makeopts_jobs)
+		LOG=debug
+		CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+		$(usex doc docs '')
+		$(usex jbootstrap bootcycle-images product-images)
+	)
+	emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+	local ddest="${ED}${dest#/}"
+
+	cd "${S}"/build/*-release/images/jdk || die
+
+	# Create files used as storage for system preferences.
+	mkdir .systemPrefs || die
+	touch .systemPrefs/.system.lock || die
+	touch .systemPrefs/.systemRootModFile || die
+
+	# Oracle and IcedTea have libjsoundalsa.so depending on
+	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+	if ! use alsa ; then
+		rm -v lib/libjsound.* || die
+	fi
+
+	if ! use examples ; then
+		rm -vr demo/ || die
+	fi
+
+	if ! use source ; then
+		rm -v lib/src.zip || die
+	fi
+
+	rm -v lib/security/cacerts || die
+
+	dodir "${dest}"
+	cp -pPR * "${ddest}" || die
+
+	dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+	# must be done before running itself
+	java-vm_set-pax-markings "${ddest}"
+
+	einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+	"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+	use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+	java-vm_revdep-mask
+	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+	if use doc ; then
+		docinto html
+		dodoc -r "${S}"/build/*-release/images/docs/*
+		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+	fi
+}
+
+pkg_postinst() {
+	java-vm-2_pkg_postinst
+
+	if use gentoo-vm ; then
+		ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+		ewarn "recognised by the system. This will almost certainly break"
+		ewarn "many java ebuilds as they are not ready for openjdk-11"
+	else
+		ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+		ewarn "will not be recognised by the system. For example, simply calling"
+		ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+		ewarn "fully supports Java ${SLOT}. This JDK must therefore be invoked using its"
+		ewarn "absolute location under ${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}."
+	fi
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjdk/, dev-java/openjdk/files/
@ 2022-07-17 20:31 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2022-07-17 20:31 UTC (permalink / raw
  To: gentoo-commits

commit:     1b86ab768f6633066ed4109f54aa5104169167c6
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Tue Jul  5 20:02:01 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 17 20:31:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b86ab76

dev-java/openjdk: Fix build for musl

On musl libc NULL is defined as nullptr for stdc++>=11, which breaks some implicit
conversions and reinterpret_cast's.

See: https://www.openwall.com/lists/musl/2013/01/09/1,
https://git.musl-libc.org/cgit/musl/tree/include/unistd.h#n20

This patch is taken from
https://git.alpinelinux.org/aports/tree/community/openjdk17/FixNullPtrCast.patch

Upstream PR: https://github.com/openjdk/jdk17u/pull/347
The master branch needed some additional fixing though which is not
included in this patch (for 17.0.3).

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Closes: https://github.com/gentoo/gentoo/pull/26238
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/openjdk-17.0.3-fix-nullptr-cast.patch    | 111 +++++++++++++++++++++
 dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild       |   2 +
 2 files changed, 113 insertions(+)

diff --git a/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch b/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch
new file mode 100644
index 000000000000..11f159680d8b
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch
@@ -0,0 +1,111 @@
+https://git.alpinelinux.org/aports/tree/community/openjdk17/FixNullPtrCast.patch
+https://github.com/openjdk/jdk17u/pull/347
+
+See also:
+https://www.openwall.com/lists/musl/2013/01/09/1
+https://git.musl-libc.org/cgit/musl/tree/include/unistd.h#n20
+
+Subject: Fix cast errors with latest GCC (11.2)
+Upstream: No
+Author: Simon Frankenberger <simon-alpine@fraho.eu>
+
+This patch fixes multiple casting errors reported by GCC 11.2
+
+--- old/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
++++ new/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
+@@ -205,7 +205,7 @@
+ 
+   // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
+   // because it must be the previous value.
+-  res = load_reference_barrier(decorators, res, reinterpret_cast<T*>(NULL));
++  res = load_reference_barrier(decorators, res, static_cast<T*>(NULL));
+   satb_enqueue(res);
+   return res;
+ }
+@@ -216,7 +216,7 @@
+   oop previous = RawAccess<>::oop_atomic_xchg(addr, new_value);
+   // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
+   // because it must be the previous value.
+-  previous = load_reference_barrier<T>(decorators, previous, reinterpret_cast<T*>(NULL));
++  previous = load_reference_barrier<T>(decorators, previous, static_cast<T*>(NULL));
+   satb_enqueue(previous);
+   return previous;
+ }
+--- old/src/hotspot/share/oops/access.hpp
++++ new/src/hotspot/share/oops/access.hpp
+@@ -294,8 +294,8 @@
+   static inline void arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
+                                arrayOop dst_obj, size_t dst_offset_in_bytes,
+                                size_t length) {
+-    AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
+-                       dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
++    AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
++                       dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
+                        length);
+   }
+ 
+@@ -303,7 +303,7 @@
+   static inline void arraycopy_to_native(arrayOop src_obj, size_t src_offset_in_bytes,
+                                          T* dst,
+                                          size_t length) {
+-    AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
++    AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
+                        NULL, 0, dst,
+                        length);
+   }
+@@ -313,15 +313,15 @@
+                                            arrayOop dst_obj, size_t dst_offset_in_bytes,
+                                            size_t length) {
+     AccessT::arraycopy(NULL, 0, src,
+-                       dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
++                       dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
+                        length);
+   }
+ 
+   static inline bool oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
+                                    arrayOop dst_obj, size_t dst_offset_in_bytes,
+                                    size_t length) {
+-    return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const HeapWord*>(NULL),
+-                                  dst_obj, dst_offset_in_bytes, reinterpret_cast<HeapWord*>(NULL),
++    return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, static_cast<const HeapWord*>(NULL),
++                                  dst_obj, dst_offset_in_bytes, static_cast<HeapWord*>(NULL),
+                                   length);
+   }
+ 
+--- old/src/hotspot/cpu/x86/interp_masm_x86.cpp
++++ new/src/hotspot/cpu/x86/interp_masm_x86.cpp
+@@ -1122,7 +1122,7 @@
+ 
+     bind(loop);
+     // check if current entry is used
+-    cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), (int32_t) NULL);
++    cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), 0);
+     jcc(Assembler::notEqual, exception);
+ 
+     addptr(rmon, entry_size); // otherwise advance to next entry
+--- old/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
++++ new/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
+@@ -443,10 +443,10 @@
+     _from -= Interpreter::stackElementSize;
+ 
+     if (_num_int_args < Argument::n_int_register_parameters_c-1) {
+-      *_int_args++ = (*from_addr == 0) ? NULL : (intptr_t)from_addr;
++      *_int_args++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
+       _num_int_args++;
+     } else {
+-      *_to++ = (*from_addr == 0) ? NULL : (intptr_t) from_addr;
++      *_to++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
+     }
+   }
+ 
+--- old/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
++++ new/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
+@@ -267,7 +267,7 @@
+ 
+   virtual void pass_object() {
+     intptr_t* addr = single_slot_addr();
+-    intptr_t value = *addr == 0 ? NULL : (intptr_t)addr;
++    intptr_t value = *addr == 0 ? (intptr_t) 0 : (intptr_t)addr;
+     if (pass_gpr(value) < 0) {
+       pass_stack<>(value);
+     }

diff --git a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
index 226b675fbd2f..c79922b35711 100644
--- a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
+++ b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
@@ -107,6 +107,8 @@ DEPEND="
 
 S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
 
+PATCHES=( "${FILESDIR}"/${PN}-17.0.3-fix-nullptr-cast.patch )
+
 # The space required to build varies wildly depending on USE flags,
 # ranging from 2GB to 16GB. This function is certainly not exact but
 # should be close enough to be useful.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjdk/, dev-java/openjdk/files/
@ 2023-01-22 23:13 Georgy Yakovlev
  0 siblings, 0 replies; 4+ messages in thread
From: Georgy Yakovlev @ 2023-01-22 23:13 UTC (permalink / raw
  To: gentoo-commits

commit:     e83945d120669e316ef333f3f0f8ce2df83d8f40
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 22 23:04:08 2023 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Jan 22 23:13:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e83945d1

dev-java/openjdk: drop 17.0.3_p7-r1, 17.0.4.1_p1, 17.0.5_p8

Bug: https://bugs.gentoo.org/891323
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjdk/Manifest                          |   4 -
 .../files/openjdk-17.0.3-fix-nullptr-cast.patch    | 111 --------
 dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild       | 315 --------------------
 dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild        | 316 ---------------------
 dev-java/openjdk/openjdk-17.0.5_p8.ebuild          | 314 --------------------
 5 files changed, 1060 deletions(-)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 1d14beb1c78f..e75a5df8e065 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -1,10 +1,6 @@
 DIST java17-riscv64.patch 2253475 BLAKE2B a10a257f0b8bf590cdc011cf0c5af4854d49d6bbdf68dd74b2f996b70e0ecdd2b87bc4a02394f67ded5e664efb41f8dd03bb312fbfcffd84c289afdcbf7868de SHA512 06230b121e1f28189877025a4eab99e6d8cba176a17c88f073498fec6c73ab26130ce1500ea4f83235cc6abbc1742e47b227d60b5ff77465740048abdc52d165
 DIST openjdk-11.0.14-riscv.patch.xz 279088 BLAKE2B f67cf5707246b22285de8217b68fb806e3c18b7289cb81428c0fe83c5a4dcd60233be10aaca0853ffb00ac24fa60cae1b1d60ed300ad6bff8b07e881bddf8650 SHA512 32bac5f0c0f5df883de344718586bf798db6c8a5738058ea5d4902f5a0a3fc841c1893dec3379a74b9468c1c37af5c31a3e296476549972d3f1305401354060d
 DIST openjdk-11.0.18_p10.tar.gz 123369840 BLAKE2B 1fa6a147ac0685f51b82f7b958b81d4ac56dd0d94234dab54d4c3641d4d5b0905b4778fa73f2d8582249f251839dd3ff5b8835c2ff3eb24f402d1399cfc27ffe SHA512 10a48066ad1d2b627cc9be5c6e06a0deef7241f3b95b917b3bf86ffeb53ea043915e0eb7784ea244332d9c3941c8c5056c154e5aff4522b95aca8c8372c19474
-DIST openjdk-17.0.3-riscv.patch.xz 296268 BLAKE2B 9b2036493a485a1e245230488a5985af4f5d5c6a85912d73d8a712742fdfc26d5eb08ca8e69dac04f0d516fb361e6ed057c95a3839b04639d129581cf00f0620 SHA512 692b5e39e5c6eb1222f25c3012e9a73366d9c98f5c29c2f2d35f41991cdcb026a644398b6f3fdd8c9d8368b4b1f5dc4d89b3dbd594a2e7751de96a140551d445
-DIST openjdk-17.0.3_p7.tar.gz 104797560 BLAKE2B 025ff6be360c74288990622bce31769e5780f3f326b0eed2b78a776cc4df8bdf8cb99dfb0d7dd3f03f8558ca9a66acc5c5bd04b227ba4dffe18f8586a287b74b SHA512 3bebaaf0469cd6558a3f033b768005e880ec95d5bb2a24b8929d2f6a05f18ca9977b291ad49b220a904f661cf6b47780a1cfd776109ed11d4e34d5345be8f66c
-DIST openjdk-17.0.4.1_p1.tar.gz 104892822 BLAKE2B e5c4ae7e59b7f078c3927ca74cdff4fe1f378da874eca45a7655fa7419c9abac6b9f81632c104614b7f1d6c20fbc5ee7f4b0a8e2aaef39a66f31377543e926de SHA512 33396f9d8101db605aac0b064d518a800194421b211f0d903d681968beab58540367e53293fa26d4751e4bd1f459a0d07bb08b2010ac64ea5438717ea1517f76
-DIST openjdk-17.0.5_p8.tar.gz 105048497 BLAKE2B c707633a247e5ff4f5083623e874200d694c3fa37519dad65db5271e8c218632846efc01520ddfa3f9ffdecf7c1209f85ee3320a92660af8fa1b1fbc9184f468 SHA512 8446b6ed93b286a39476fdb215be0da8ba679fb475f117a6a92f72a833759ac821c4ed87d033be56992d147c1b6d3ac1348ad2a6ad8a3e057c7b85b589266ff9
 DIST openjdk-17.0.6_p10.tar.gz 105221267 BLAKE2B c885c10aea273e779bbee4463106598900790378e06012f0019bfbbba8987a99a6aad53aca39bdc5ffba5f610a84e6c4cfd98c697e46404d388d32186b2ccd6b SHA512 7fa47285fb1776802dc35352bfe64d6b376cbc73d7b72ef7d5c8ad41c181d8aa9dc6fb392fe3b1c799974765d40c03a6643ad6afeb3ddc9ab45e546b747ebb3c
 DIST openjdk-8.362_p09.tar.gz 87939909 BLAKE2B cff08a04e2e0cf0af776d8ae8220cae86afb322a4dbb83df39444b08a23dd59fea761a0ee403d24d7fd639e1982eac7c77764920c7efcfeb877dc64763c9f672 SHA512 6579e881f36902db49db8d136f1cd9d2b2659705b216bfe014df99441d1984b4d7678998bb36edf78b77049bdd8315a8dcf22e6a598b485b972fee3784fe2ef7
 DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e

diff --git a/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch b/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch
deleted file mode 100644
index 11f159680d8b..000000000000
--- a/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-https://git.alpinelinux.org/aports/tree/community/openjdk17/FixNullPtrCast.patch
-https://github.com/openjdk/jdk17u/pull/347
-
-See also:
-https://www.openwall.com/lists/musl/2013/01/09/1
-https://git.musl-libc.org/cgit/musl/tree/include/unistd.h#n20
-
-Subject: Fix cast errors with latest GCC (11.2)
-Upstream: No
-Author: Simon Frankenberger <simon-alpine@fraho.eu>
-
-This patch fixes multiple casting errors reported by GCC 11.2
-
---- old/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
-+++ new/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
-@@ -205,7 +205,7 @@
- 
-   // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
-   // because it must be the previous value.
--  res = load_reference_barrier(decorators, res, reinterpret_cast<T*>(NULL));
-+  res = load_reference_barrier(decorators, res, static_cast<T*>(NULL));
-   satb_enqueue(res);
-   return res;
- }
-@@ -216,7 +216,7 @@
-   oop previous = RawAccess<>::oop_atomic_xchg(addr, new_value);
-   // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
-   // because it must be the previous value.
--  previous = load_reference_barrier<T>(decorators, previous, reinterpret_cast<T*>(NULL));
-+  previous = load_reference_barrier<T>(decorators, previous, static_cast<T*>(NULL));
-   satb_enqueue(previous);
-   return previous;
- }
---- old/src/hotspot/share/oops/access.hpp
-+++ new/src/hotspot/share/oops/access.hpp
-@@ -294,8 +294,8 @@
-   static inline void arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
-                                arrayOop dst_obj, size_t dst_offset_in_bytes,
-                                size_t length) {
--    AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
--                       dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
-+    AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
-+                       dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
-                        length);
-   }
- 
-@@ -303,7 +303,7 @@
-   static inline void arraycopy_to_native(arrayOop src_obj, size_t src_offset_in_bytes,
-                                          T* dst,
-                                          size_t length) {
--    AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
-+    AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
-                        NULL, 0, dst,
-                        length);
-   }
-@@ -313,15 +313,15 @@
-                                            arrayOop dst_obj, size_t dst_offset_in_bytes,
-                                            size_t length) {
-     AccessT::arraycopy(NULL, 0, src,
--                       dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
-+                       dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
-                        length);
-   }
- 
-   static inline bool oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
-                                    arrayOop dst_obj, size_t dst_offset_in_bytes,
-                                    size_t length) {
--    return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const HeapWord*>(NULL),
--                                  dst_obj, dst_offset_in_bytes, reinterpret_cast<HeapWord*>(NULL),
-+    return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, static_cast<const HeapWord*>(NULL),
-+                                  dst_obj, dst_offset_in_bytes, static_cast<HeapWord*>(NULL),
-                                   length);
-   }
- 
---- old/src/hotspot/cpu/x86/interp_masm_x86.cpp
-+++ new/src/hotspot/cpu/x86/interp_masm_x86.cpp
-@@ -1122,7 +1122,7 @@
- 
-     bind(loop);
-     // check if current entry is used
--    cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), (int32_t) NULL);
-+    cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), 0);
-     jcc(Assembler::notEqual, exception);
- 
-     addptr(rmon, entry_size); // otherwise advance to next entry
---- old/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
-+++ new/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
-@@ -443,10 +443,10 @@
-     _from -= Interpreter::stackElementSize;
- 
-     if (_num_int_args < Argument::n_int_register_parameters_c-1) {
--      *_int_args++ = (*from_addr == 0) ? NULL : (intptr_t)from_addr;
-+      *_int_args++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
-       _num_int_args++;
-     } else {
--      *_to++ = (*from_addr == 0) ? NULL : (intptr_t) from_addr;
-+      *_to++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
-     }
-   }
- 
---- old/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
-+++ new/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
-@@ -267,7 +267,7 @@
- 
-   virtual void pass_object() {
-     intptr_t* addr = single_slot_addr();
--    intptr_t value = *addr == 0 ? NULL : (intptr_t)addr;
-+    intptr_t value = *addr == 0 ? (intptr_t) 0 : (intptr_t)addr;
-     if (pass_gpr(value) < 0) {
-       pass_stack<>(value);
-     }

diff --git a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
deleted file mode 100644
index 9f355b7b9030..000000000000
--- a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
-	local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
-	local suff="tar.xz"
-	local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
-	local ver="${2:?${FUNCNAME[0]}: version not specified}"
-	local cond="${3-}"
-	[[ ${cond} == elibc_musl* ]] && local musl=yes
-
-	# here be dragons
-	echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV//_p/+}"
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.java.net"
-SRC_URI="
-	https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-		-> ${P}.tar.gz
-	!system-bootstrap? (
-		$(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
-		$(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
-		$(bootstrap_uri x86 ${X86_XPAK})
-		$(bootstrap_uri riscv ${RISCV_XPAK})
-	)
-	riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-IUSE="alsa big-endian cups debug doc examples +gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
-	javafx? ( alsa !headless-awt )
-	!system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
-	media-libs/freetype:2=
-	media-libs/giflib:0/7
-	media-libs/harfbuzz:=
-	media-libs/libpng:0=
-	media-libs/lcms:2=
-	sys-libs/zlib
-	media-libs/libjpeg-turbo:0=
-	systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
-	${COMMON_DEPEND}
-	>=sys-apps/baselayout-java-0.1.0-r1
-	!headless-awt? (
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libXt
-		x11-libs/libXtst
-	)
-	alsa? ( media-libs/alsa-lib )
-	cups? ( net-print/cups )
-	selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	app-arch/zip
-	media-libs/alsa-lib
-	net-print/cups
-	x11-base/xorg-proto
-	x11-libs/libX11
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXt
-	x11-libs/libXtst
-	javafx? ( dev-java/openjfx:${SLOT}= )
-	system-bootstrap? (
-		|| (
-			dev-java/openjdk-bin:${SLOT}
-			dev-java/openjdk:${SLOT}
-		)
-	)
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-17.0.3-fix-nullptr-cast.patch )
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
-	local M
-	M=2048
-	M=$(( $(usex jbootstrap 2 1) * $M ))
-	M=$(( $(usex debug 3 1) * $M ))
-	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
-	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
-	openjdk_check_requirements
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
-	fi
-}
-
-pkg_setup() {
-	openjdk_check_requirements
-	java-vm-2_pkg_setup
-
-	[[ ${MERGE_TYPE} == "binary" ]] && return
-
-	JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
-	JAVA_PKG_WANT_SOURCE="${SLOT}"
-	JAVA_PKG_WANT_TARGET="${SLOT}"
-
-	# The nastiness below is necessary while the gentoo-vm USE flag is
-	# masked. First we call java-pkg-2_pkg_setup if it looks like the
-	# flag was unmasked against one of the possible build VMs. If not,
-	# we try finding one of them in their expected locations. This would
-	# have been slightly less messy if openjdk-bin had been installed to
-	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
-	# file but disable it so that it would not normally be selectable.
-
-	local vm
-	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
-		if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
-			java-pkg-2_pkg_setup
-			return
-		fi
-	done
-}
-
-src_prepare() {
-	use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch
-	default
-	chmod +x configure || die
-}
-
-src_configure() {
-	if has_version dev-java/openjdk:${SLOT}; then
-		export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
-	elif use !system-bootstrap ; then
-		local xpakvar="${ARCH^^}_XPAK"
-		export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
-	else
-		JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
-		[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
-		JDK_HOME=${JDK_HOME#*/}
-		JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
-		export JDK_HOME
-	fi
-
-	# Work around stack alignment issue, bug #647954. in case we ever have x86
-	use x86 && append-flags -mincoming-stack-boundary=2
-
-	# Work around -fno-common ( GCC10 default ), bug #713180
-	append-flags -fcommon
-
-	# Strip some flags users may set, but should not. #818502
-	filter-flags -fexceptions
-
-	# Enabling full docs appears to break doc building. If not
-	# explicitly disabled, the flag will get auto-enabled if pandoc and
-	# graphviz are detected. pandoc has loads of dependencies anyway.
-
-	local myconf=(
-		--disable-ccache
-		--disable-precompiled-headers
-		--disable-warnings-as-errors
-		--enable-full-docs=no
-		--with-boot-jdk="${JDK_HOME}"
-		--with-extra-cflags="${CFLAGS}"
-		--with-extra-cxxflags="${CXXFLAGS}"
-		--with-extra-ldflags="${LDFLAGS}"
-		--with-freetype="${XPAK_BOOTSTRAP:-system}"
-		--with-giflib="${XPAK_BOOTSTRAP:-system}"
-		--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
-		--with-lcms="${XPAK_BOOTSTRAP:-system}"
-		--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
-		--with-libpng="${XPAK_BOOTSTRAP:-system}"
-		--with-native-debug-symbols=$(usex debug internal none)
-		--with-vendor-name="Gentoo"
-		--with-vendor-url="https://gentoo.org"
-		--with-vendor-bug-url="https://bugs.gentoo.org"
-		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
-		--with-vendor-version-string="${PVR}"
-		--with-version-pre=""
-		--with-version-string="${PV%_p*}"
-		--with-version-build="${PV#*_p}"
-		--with-zlib="${XPAK_BOOTSTRAP:-system}"
-		--enable-dtrace=$(usex systemtap yes no)
-		--enable-headless-only=$(usex headless-awt yes no)
-		$(tc-is-clang && echo "--with-toolchain-type=clang")
-	)
-
-	use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
-	if use javafx; then
-		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
-		if [[ -r ${zip} ]]; then
-			myconf+=( --with-import-modules="${zip}" )
-		else
-			die "${zip} not found or not readable"
-		fi
-	fi
-
-	if use !system-bootstrap ; then
-		addpredict /dev/random
-		addpredict /proc/self/coredump_filter
-	fi
-
-	(
-		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
-		CFLAGS= CXXFLAGS= LDFLAGS= \
-		CONFIG_SITE=/dev/null \
-		econf "${myconf[@]}"
-	)
-}
-
-src_compile() {
-	local myemakeargs=(
-		JOBS=$(makeopts_jobs)
-		LOG=debug
-		CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
-		NICE= # Use PORTAGE_NICENESS, don't adjust further down
-		$(usex doc docs '')
-		$(usex jbootstrap bootcycle-images product-images)
-	)
-	emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
-	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
-	local ddest="${ED}/${dest#/}"
-
-	cd "${S}"/build/*-release/images/jdk || die
-
-	# Create files used as storage for system preferences.
-	mkdir .systemPrefs || die
-	touch .systemPrefs/.system.lock || die
-	touch .systemPrefs/.systemRootModFile || die
-
-	# Oracle and IcedTea have libjsoundalsa.so depending on
-	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
-	if ! use alsa ; then
-		rm -v lib/libjsound.* || die
-	fi
-
-	if ! use examples ; then
-		rm -vr demo/ || die
-	fi
-
-	if ! use source ; then
-		rm -v lib/src.zip || die
-	fi
-
-	rm -v lib/security/cacerts || die
-
-	dodir "${dest}"
-	cp -pPR * "${ddest}" || die
-
-	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
-	# must be done before running itself
-	java-vm_set-pax-markings "${ddest}"
-
-	einfo "Creating the Class Data Sharing archives and disabling usage tracking"
-	"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
-	use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh
-	java-vm_revdep-mask
-	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
-	if use doc ; then
-		docinto html
-		dodoc -r "${S}"/build/*-release/images/docs/*
-		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
-	fi
-}
-
-pkg_postinst() {
-	java-vm-2_pkg_postinst
-}

diff --git a/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild b/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild
deleted file mode 100644
index c528b135cd20..000000000000
--- a/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild
+++ /dev/null
@@ -1,316 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
-	local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
-	local suff="tar.xz"
-	local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
-	local ver="${2:?${FUNCNAME[0]}: version not specified}"
-	local cond="${3-}"
-	[[ ${cond} == elibc_musl* ]] && local musl=yes
-
-	# here be dragons
-	echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV//_p/+}"
-
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
-	https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-		-> ${P}.tar.gz
-	!system-bootstrap? (
-		$(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
-		$(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
-		$(bootstrap_uri x86 ${X86_XPAK})
-		$(bootstrap_uri riscv ${RISCV_XPAK})
-	)
-	riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
-	javafx? ( alsa !headless-awt )
-	!system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
-	media-libs/freetype:2=
-	media-libs/giflib:0/7
-	media-libs/harfbuzz:=
-	media-libs/libpng:0=
-	media-libs/lcms:2=
-	sys-libs/zlib
-	media-libs/libjpeg-turbo:0=
-	systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
-	${COMMON_DEPEND}
-	>=sys-apps/baselayout-java-0.1.0-r1
-	!headless-awt? (
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libXt
-		x11-libs/libXtst
-	)
-	alsa? ( media-libs/alsa-lib )
-	cups? ( net-print/cups )
-	selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	app-arch/zip
-	media-libs/alsa-lib
-	net-print/cups
-	x11-base/xorg-proto
-	x11-libs/libX11
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXt
-	x11-libs/libXtst
-	javafx? ( dev-java/openjfx:${SLOT}= )
-	system-bootstrap? (
-		|| (
-			dev-java/openjdk-bin:${SLOT}
-			dev-java/openjdk:${SLOT}
-		)
-	)
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-17.0.3-fix-nullptr-cast.patch )
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
-	local M
-	M=2048
-	M=$(( $(usex jbootstrap 2 1) * $M ))
-	M=$(( $(usex debug 3 1) * $M ))
-	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
-	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
-	openjdk_check_requirements
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
-	fi
-}
-
-pkg_setup() {
-	openjdk_check_requirements
-	java-vm-2_pkg_setup
-
-	[[ ${MERGE_TYPE} == "binary" ]] && return
-
-	JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
-	JAVA_PKG_WANT_SOURCE="${SLOT}"
-	JAVA_PKG_WANT_TARGET="${SLOT}"
-
-	# The nastiness below is necessary while the gentoo-vm USE flag is
-	# masked. First we call java-pkg-2_pkg_setup if it looks like the
-	# flag was unmasked against one of the possible build VMs. If not,
-	# we try finding one of them in their expected locations. This would
-	# have been slightly less messy if openjdk-bin had been installed to
-	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
-	# file but disable it so that it would not normally be selectable.
-
-	local vm
-	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
-		if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
-			java-pkg-2_pkg_setup
-			return
-		fi
-	done
-}
-
-src_prepare() {
-	use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch
-	default
-	chmod +x configure || die
-}
-
-src_configure() {
-	if has_version dev-java/openjdk:${SLOT}; then
-		export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
-	elif use !system-bootstrap ; then
-		local xpakvar="${ARCH^^}_XPAK"
-		export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
-	else
-		JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
-		[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
-		JDK_HOME=${JDK_HOME#*/}
-		JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
-		export JDK_HOME
-	fi
-
-	# Work around stack alignment issue, bug #647954. in case we ever have x86
-	use x86 && append-flags -mincoming-stack-boundary=2
-
-	# Work around -fno-common ( GCC10 default ), bug #713180
-	append-flags -fcommon
-
-	# Strip some flags users may set, but should not. #818502
-	filter-flags -fexceptions
-
-	# Enabling full docs appears to break doc building. If not
-	# explicitly disabled, the flag will get auto-enabled if pandoc and
-	# graphviz are detected. pandoc has loads of dependencies anyway.
-
-	local myconf=(
-		--disable-ccache
-		--disable-precompiled-headers
-		--disable-warnings-as-errors
-		--enable-full-docs=no
-		--with-boot-jdk="${JDK_HOME}"
-		--with-extra-cflags="${CFLAGS}"
-		--with-extra-cxxflags="${CXXFLAGS}"
-		--with-extra-ldflags="${LDFLAGS}"
-		--with-freetype="${XPAK_BOOTSTRAP:-system}"
-		--with-giflib="${XPAK_BOOTSTRAP:-system}"
-		--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
-		--with-lcms="${XPAK_BOOTSTRAP:-system}"
-		--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
-		--with-libpng="${XPAK_BOOTSTRAP:-system}"
-		--with-native-debug-symbols=$(usex debug internal none)
-		--with-vendor-name="Gentoo"
-		--with-vendor-url="https://gentoo.org"
-		--with-vendor-bug-url="https://bugs.gentoo.org"
-		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
-		--with-vendor-version-string="${PVR}"
-		--with-version-pre=""
-		--with-version-string="${PV%_p*}"
-		--with-version-build="${PV#*_p}"
-		--with-zlib="${XPAK_BOOTSTRAP:-system}"
-		--enable-dtrace=$(usex systemtap yes no)
-		--enable-headless-only=$(usex headless-awt yes no)
-		$(tc-is-clang && echo "--with-toolchain-type=clang")
-	)
-
-	use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
-	if use javafx; then
-		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
-		if [[ -r ${zip} ]]; then
-			myconf+=( --with-import-modules="${zip}" )
-		else
-			die "${zip} not found or not readable"
-		fi
-	fi
-
-	if use !system-bootstrap ; then
-		addpredict /dev/random
-		addpredict /proc/self/coredump_filter
-	fi
-
-	(
-		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
-		CFLAGS= CXXFLAGS= LDFLAGS= \
-		CONFIG_SITE=/dev/null \
-		econf "${myconf[@]}"
-	)
-}
-
-src_compile() {
-	local myemakeargs=(
-		JOBS=$(makeopts_jobs)
-		LOG=debug
-		CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
-		NICE= # Use PORTAGE_NICENESS, don't adjust further down
-		$(usex doc docs '')
-		$(usex jbootstrap bootcycle-images product-images)
-	)
-	emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
-	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
-	local ddest="${ED}/${dest#/}"
-
-	cd "${S}"/build/*-release/images/jdk || die
-
-	# Create files used as storage for system preferences.
-	mkdir .systemPrefs || die
-	touch .systemPrefs/.system.lock || die
-	touch .systemPrefs/.systemRootModFile || die
-
-	# Oracle and IcedTea have libjsoundalsa.so depending on
-	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
-	if ! use alsa ; then
-		rm -v lib/libjsound.* || die
-	fi
-
-	if ! use examples ; then
-		rm -vr demo/ || die
-	fi
-
-	if ! use source ; then
-		rm -v lib/src.zip || die
-	fi
-
-	rm -v lib/security/cacerts || die
-
-	dodir "${dest}"
-	cp -pPR * "${ddest}" || die
-
-	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
-	# must be done before running itself
-	java-vm_set-pax-markings "${ddest}"
-
-	einfo "Creating the Class Data Sharing archives and disabling usage tracking"
-	"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
-	java-vm_install-env "${FILESDIR}"/${PN}.env.sh
-	java-vm_revdep-mask
-	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
-	if use doc ; then
-		docinto html
-		dodoc -r "${S}"/build/*-release/images/docs/*
-		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
-	fi
-}
-
-pkg_postinst() {
-	java-vm-2_pkg_postinst
-}

diff --git a/dev-java/openjdk/openjdk-17.0.5_p8.ebuild b/dev-java/openjdk/openjdk-17.0.5_p8.ebuild
deleted file mode 100644
index 11d2c503987b..000000000000
--- a/dev-java/openjdk/openjdk-17.0.5_p8.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
-	local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
-	local suff="tar.xz"
-	local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
-	local ver="${2:?${FUNCNAME[0]}: version not specified}"
-	local cond="${3-}"
-	[[ ${cond} == elibc_musl* ]] && local musl=yes
-
-	# here be dragons
-	echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV%_p*}-ga"
-SLOT="${MY_PV%%[.+]*}"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
-	https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-		-> ${P}.tar.gz
-	!system-bootstrap? (
-		$(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
-		$(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
-		$(bootstrap_uri x86 ${X86_XPAK})
-		$(bootstrap_uri riscv ${RISCV_XPAK})
-	)
-	riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch )
-"
-# riscv patch origin: https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
-	javafx? ( alsa !headless-awt )
-	!system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
-	media-libs/freetype:2=
-	media-libs/giflib:0/7
-	media-libs/harfbuzz:=
-	media-libs/libpng:0=
-	media-libs/lcms:2=
-	sys-libs/zlib
-	media-libs/libjpeg-turbo:0=
-	systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
-	${COMMON_DEPEND}
-	>=sys-apps/baselayout-java-0.1.0-r1
-	!headless-awt? (
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libXt
-		x11-libs/libXtst
-	)
-	alsa? ( media-libs/alsa-lib )
-	cups? ( net-print/cups )
-	selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	app-arch/zip
-	media-libs/alsa-lib
-	net-print/cups
-	x11-base/xorg-proto
-	x11-libs/libX11
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXt
-	x11-libs/libXtst
-	javafx? ( dev-java/openjfx:${SLOT}= )
-	system-bootstrap? (
-		|| (
-			dev-java/openjdk-bin:${SLOT}
-			dev-java/openjdk:${SLOT}
-		)
-	)
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
-	local M
-	M=2048
-	M=$(( $(usex jbootstrap 2 1) * $M ))
-	M=$(( $(usex debug 3 1) * $M ))
-	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
-	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
-	openjdk_check_requirements
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
-	fi
-}
-
-pkg_setup() {
-	openjdk_check_requirements
-	java-vm-2_pkg_setup
-
-	[[ ${MERGE_TYPE} == "binary" ]] && return
-
-	JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
-	JAVA_PKG_WANT_SOURCE="${SLOT}"
-	JAVA_PKG_WANT_TARGET="${SLOT}"
-
-	# The nastiness below is necessary while the gentoo-vm USE flag is
-	# masked. First we call java-pkg-2_pkg_setup if it looks like the
-	# flag was unmasked against one of the possible build VMs. If not,
-	# we try finding one of them in their expected locations. This would
-	# have been slightly less messy if openjdk-bin had been installed to
-	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
-	# file but disable it so that it would not normally be selectable.
-
-	local vm
-	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
-		if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
-			java-pkg-2_pkg_setup
-			return
-		fi
-	done
-}
-
-src_prepare() {
-	use riscv && eapply "${DISTDIR}"/java17-riscv64.patch
-	default
-	chmod +x configure || die
-}
-
-src_configure() {
-	if has_version dev-java/openjdk:${SLOT}; then
-		export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
-	elif use !system-bootstrap ; then
-		local xpakvar="${ARCH^^}_XPAK"
-		export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
-	else
-		JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
-		[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
-		JDK_HOME=${JDK_HOME#*/}
-		JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
-		export JDK_HOME
-	fi
-
-	# Work around stack alignment issue, bug #647954. in case we ever have x86
-	use x86 && append-flags -mincoming-stack-boundary=2
-
-	# Work around -fno-common ( GCC10 default ), bug #713180
-	append-flags -fcommon
-
-	# Strip some flags users may set, but should not. #818502
-	filter-flags -fexceptions
-
-	# Enabling full docs appears to break doc building. If not
-	# explicitly disabled, the flag will get auto-enabled if pandoc and
-	# graphviz are detected. pandoc has loads of dependencies anyway.
-
-	local myconf=(
-		--disable-ccache
-		--disable-precompiled-headers
-		--disable-warnings-as-errors
-		--enable-full-docs=no
-		--with-boot-jdk="${JDK_HOME}"
-		--with-extra-cflags="${CFLAGS}"
-		--with-extra-cxxflags="${CXXFLAGS}"
-		--with-extra-ldflags="${LDFLAGS}"
-		--with-freetype="${XPAK_BOOTSTRAP:-system}"
-		--with-giflib="${XPAK_BOOTSTRAP:-system}"
-		--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
-		--with-lcms="${XPAK_BOOTSTRAP:-system}"
-		--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
-		--with-libpng="${XPAK_BOOTSTRAP:-system}"
-		--with-native-debug-symbols=$(usex debug internal none)
-		--with-vendor-name="Gentoo"
-		--with-vendor-url="https://gentoo.org"
-		--with-vendor-bug-url="https://bugs.gentoo.org"
-		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
-		--with-vendor-version-string="${PVR}"
-		--with-version-pre=""
-		--with-version-string="${PV%_p*}"
-		--with-version-build="${PV#*_p}"
-		--with-zlib="${XPAK_BOOTSTRAP:-system}"
-		--enable-dtrace=$(usex systemtap yes no)
-		--enable-headless-only=$(usex headless-awt yes no)
-		$(tc-is-clang && echo "--with-toolchain-type=clang")
-	)
-
-	use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
-	if use javafx; then
-		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
-		if [[ -r ${zip} ]]; then
-			myconf+=( --with-import-modules="${zip}" )
-		else
-			die "${zip} not found or not readable"
-		fi
-	fi
-
-	if use !system-bootstrap ; then
-		addpredict /dev/random
-		addpredict /proc/self/coredump_filter
-	fi
-
-	(
-		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
-		CFLAGS= CXXFLAGS= LDFLAGS= \
-		CONFIG_SITE=/dev/null \
-		econf "${myconf[@]}"
-	)
-}
-
-src_compile() {
-	local myemakeargs=(
-		JOBS=$(makeopts_jobs)
-		LOG=debug
-		CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
-		NICE= # Use PORTAGE_NICENESS, don't adjust further down
-		$(usex doc docs '')
-		$(usex jbootstrap bootcycle-images product-images)
-	)
-	emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
-	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
-	local ddest="${ED}/${dest#/}"
-
-	cd "${S}"/build/*-release/images/jdk || die
-
-	# Create files used as storage for system preferences.
-	mkdir .systemPrefs || die
-	touch .systemPrefs/.system.lock || die
-	touch .systemPrefs/.systemRootModFile || die
-
-	# Oracle and IcedTea have libjsoundalsa.so depending on
-	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
-	if ! use alsa ; then
-		rm -v lib/libjsound.* || die
-	fi
-
-	if ! use examples ; then
-		rm -vr demo/ || die
-	fi
-
-	if ! use source ; then
-		rm -v lib/src.zip || die
-	fi
-
-	rm -v lib/security/cacerts || die
-
-	dodir "${dest}"
-	cp -pPR * "${ddest}" || die
-
-	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
-	# must be done before running itself
-	java-vm_set-pax-markings "${ddest}"
-
-	einfo "Creating the Class Data Sharing archives and disabling usage tracking"
-	"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
-	java-vm_install-env "${FILESDIR}"/${PN}.env.sh
-	java-vm_revdep-mask
-	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
-	if use doc ; then
-		docinto html
-		dodoc -r "${S}"/build/*-release/images/docs/*
-		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
-	fi
-}
-
-pkg_postinst() {
-	java-vm-2_pkg_postinst
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjdk/, dev-java/openjdk/files/
@ 2024-10-01 10:24 Miroslav Šulc
  0 siblings, 0 replies; 4+ messages in thread
From: Miroslav Šulc @ 2024-10-01 10:24 UTC (permalink / raw
  To: gentoo-commits

commit:     44349aa76f6e6e5d1950490fd400d51dff9f93f2
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Sep 18 04:36:59 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Oct  1 10:24:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44349aa7

dev-java/openjdk: add 23_p37

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/openjdk/Manifest                          |   1 +
 .../openjdk-23_p37-LIBFONTMANAGER_CFLAGS.patch     |  12 +
 dev-java/openjdk/openjdk-23_p37.ebuild             | 332 +++++++++++++++++++++
 3 files changed, 345 insertions(+)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index f4853c22935b..2abf63f860e6 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -2,6 +2,7 @@ DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f
 DIST openjdk-11.0.24_p8.tar.gz 116418943 BLAKE2B cb768b202b42f426f4edaead16ba09800d86c10da4a664176842ee396332284d410191a55dbb35d7604272231e5b3daf8a75ddc03bb819d670622b7682eec7f6 SHA512 ce45efd934b9bacc56c468d92083a85de311b4436a519ae1d6038aff025c2fa8a811abca4cdd99aeb8c09455effff53500f96c287976cd2ae90d4e11da2385a3
 DIST openjdk-17.0.12_p7.tar.gz 106597045 BLAKE2B f0e9baec472ecefbf28359abfc10757dc7cb2a6ddf8428086a6565831f1c13ee1a7cdb87b67d6b3840860ddbf2c74e80ece55f09238fddc2cb8fa77208695b9b SHA512 cc99e9742123f7d8ac7ad78abab0fbe5cff37999b9c06ad14851009a95c9868968e97dd0f3e4dea8bfa8578f8f903fccaa37134466a778375cdf24344138f1fc
 DIST openjdk-21.0.4_p7.tar.gz 112506384 BLAKE2B d58636bc9221d56afcf118a91e41326d2e086c9fe22675429ec50d0b62fefd9e2040140a9d99682547e8bf0d40fa4ca2cbcdf8be55b9a0556b95c90fc0a08d56 SHA512 507524d842fb7c371cf7d3163cdce87e9266d613998b797f2828178b35c087354ae30941384d5afd1d6e3982eddf5c9067553bc2b918a9e223b93893f7f27e76
+DIST openjdk-23_p37.tar.gz 116630157 BLAKE2B 38f1beed2f840b89aa7375cda657cd769472324a52293a11911f4b96cb62a5a6882814c0d31a0fbde560ac167468afd6bbee84389f0c61956ad80596702214d0 SHA512 1f03849cdb1a603848de0516ac2f736f4665efee4bc9a67b66b1e3a8138fa2dcf1828471b423585f07be3ffa94e6bdbd5752bbc456b8bd0306a8cb30d6127754
 DIST openjdk-8.422_p05.tar.gz 93034877 BLAKE2B 2489fea62fbc5a7e3735055656ae89c67caf63e5bc6d5385ee811d0707d056bc3d10dd83f7eae5a5a86b7f57b8da47a9c1a77405f127b6f506bbf3b310ecd2ae SHA512 706db67f9be7509380e96ae2187bdb928e40c4382fd7073dd310da2981eeff324a5871702b087d4466911dbbea8376d5f9fed7029562ca62c9a1a193d931833e
 DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e
 DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f

diff --git a/dev-java/openjdk/files/openjdk-23_p37-LIBFONTMANAGER_CFLAGS.patch b/dev-java/openjdk/files/openjdk-23_p37-LIBFONTMANAGER_CFLAGS.patch
new file mode 100644
index 000000000000..bc4d96dfc141
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-23_p37-LIBFONTMANAGER_CFLAGS.patch
@@ -0,0 +1,12 @@
+src/java.desktop/share/native/libfontmanager/HBShaper_Panama.c:27:10: fatal error: hb.h: No such file or directory
+
+--- jdk23u-jdk-23-ga/make/modules/java.desktop/lib/ClientLibraries.gmk~	2024-08-20 17:57:04.000000000 +0200
++++ jdk23u-jdk-23-ga/make/modules/java.desktop/lib/ClientLibraries.gmk	2024-09-20 10:00:52.460817053 +0200
+@@ -279,6 +279,7 @@ endif
+ ################################################################################
+
+ ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
++   LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
+    LIBFONTMANAGER_EXTRA_SRC =
+    LIBFONTMANAGER_LIBS += $(HARFBUZZ_LIBS)
+ else

diff --git a/dev-java/openjdk/openjdk-23_p37.ebuild b/dev-java/openjdk/openjdk-23_p37.ebuild
new file mode 100644
index 000000000000..47f8df8e9c6c
--- /dev/null
+++ b/dev-java/openjdk/openjdk-23_p37.ebuild
@@ -0,0 +1,332 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball
+X86_XPAK="21.0.0_p35"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
+# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
+bootstrap_uri() {
+	local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+	local suff="tar.xz"
+	local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+	local ver="${2:?${FUNCNAME[0]}: version not specified}"
+	local cond="${3-}"
+	[[ ${cond} == elibc_musl* ]] && local musl=yes
+
+	# here be dragons
+	echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
+}
+
+# don't change versioning scheme
+# to find correct _p number, look at
+# https://github.com/openjdk/jdk${SLOT}u/tags
+# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
+# to exact same commit sha. we should always use the full version.
+# -ga tag is just for humans to easily identify General Availability release tag.
+MY_PV="${PV%_p*}-ga"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org"
+SRC_URI="
+	https://github.com/${PN}/jdk23u/archive/jdk-${MY_PV}.tar.gz
+		-> ${P}.tar.gz
+	!system-bootstrap? (
+		$(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+		$(bootstrap_uri x86 ${X86_XPAK})
+	)
+"
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
+
+LICENSE="GPL-2-with-classpath-exception"
+#	SLOT="${MY_PV%%[.+]*}"
+SLOT="23"
+#	KEYWORDS="" # not LTS
+
+# lto temporarily disabled due to https://bugs.gentoo.org/916735
+IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source +system-bootstrap systemtap"
+
+REQUIRED_USE="
+	javafx? ( alsa !headless-awt )
+	!system-bootstrap? ( jbootstrap )
+	!system-bootstrap? ( || ( ppc64 x86 ) )
+"
+
+COMMON_DEPEND="
+	media-libs/freetype:2=
+	media-libs/giflib:0/7
+	media-libs/harfbuzz:=
+	media-libs/libpng:0=
+	media-libs/lcms:2=
+	sys-libs/zlib
+	media-libs/libjpeg-turbo:0=
+	systemtap? ( dev-debug/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+	${COMMON_DEPEND}
+	>=sys-apps/baselayout-java-0.1.0-r1
+	!headless-awt? (
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		x11-libs/libXt
+		x11-libs/libXtst
+	)
+	alsa? ( media-libs/alsa-lib )
+	cups? ( net-print/cups )
+	selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	app-arch/zip
+	media-libs/alsa-lib
+	net-print/cups
+	x11-base/xorg-proto
+	x11-libs/libX11
+	x11-libs/libXext
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXt
+	x11-libs/libXtst
+	javafx? ( dev-java/openjfx:${SLOT}= )
+	system-bootstrap? (
+		|| (
+			dev-java/openjdk-bin:${SLOT}
+			dev-java/openjdk:${SLOT}
+		)
+	)
+"
+
+PATCHES=( "${FILESDIR}/openjdk-23_p37-LIBFONTMANAGER_CFLAGS.patch" )
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+	local M
+	M=2048
+	M=$(( $(usex jbootstrap 2 1) * $M ))
+	M=$(( $(usex debug 3 1) * $M ))
+	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+	openjdk_check_requirements
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+	fi
+}
+
+pkg_setup() {
+	openjdk_check_requirements
+	java-vm-2_pkg_setup
+
+	[[ ${MERGE_TYPE} == "binary" ]] && return
+
+	JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+	JAVA_PKG_WANT_SOURCE="${SLOT}"
+	JAVA_PKG_WANT_TARGET="${SLOT}"
+
+	# The nastiness below is necessary while the gentoo-vm USE flag is
+	# masked. First we call java-pkg-2_pkg_setup if it looks like the
+	# flag was unmasked against one of the possible build VMs. If not,
+	# we try finding one of them in their expected locations. This would
+	# have been slightly less messy if openjdk-bin had been installed to
+	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+	# file but disable it so that it would not normally be selectable.
+
+	local vm
+	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+		if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
+			java-pkg-2_pkg_setup
+			return
+		fi
+	done
+}
+
+src_prepare() {
+	default
+	chmod +x configure || die
+}
+
+src_configure() {
+	if has_version dev-java/openjdk:${SLOT}; then
+		export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
+	elif use !system-bootstrap ; then
+		local xpakvar="${ARCH^^}_XPAK"
+		export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+	else
+		JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
+		[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+		JDK_HOME=${JDK_HOME#*/}
+		JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
+		export JDK_HOME
+	fi
+
+	# Work around stack alignment issue, bug #647954. in case we ever have x86
+	use x86 && append-flags -mincoming-stack-boundary=2
+
+	# bug 906987; append-cppflags doesnt work
+	use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+	# Strip some flags users may set, but should not. #818502
+	filter-flags -fexceptions
+
+	# Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
+	# https://bugs.gentoo.org/833097
+	# https://bugs.gentoo.org/833098
+	filter-lto
+	filter-flags -fdevirtualize-at-ltrans
+
+	# Enabling full docs appears to break doc building. If not
+	# explicitly disabled, the flag will get auto-enabled if pandoc and
+	# graphviz are detected. pandoc has loads of dependencies anyway.
+
+	local myconf=(
+		--disable-ccache
+		--disable-precompiled-headers
+		--disable-warnings-as-errors
+		--enable-full-docs=no
+		--with-boot-jdk="${JDK_HOME}"
+		--with-extra-cflags="${CFLAGS}"
+		--with-extra-cxxflags="${CXXFLAGS}"
+		--with-extra-ldflags="${LDFLAGS}"
+		--with-freetype="${XPAK_BOOTSTRAP:-system}"
+		--with-giflib="${XPAK_BOOTSTRAP:-system}"
+		--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
+		--with-lcms="${XPAK_BOOTSTRAP:-system}"
+		--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
+		--with-libpng="${XPAK_BOOTSTRAP:-system}"
+		--with-native-debug-symbols=$(usex debug internal none)
+		--with-vendor-name="Gentoo"
+		--with-vendor-url="https://gentoo.org"
+		--with-vendor-bug-url="https://bugs.gentoo.org"
+		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+		--with-vendor-version-string="${PVR}"
+		--with-version-pre=""
+		--with-version-string="${PV%_p*}"
+		--with-version-build="${PV#*_p}"
+		--with-zlib="${XPAK_BOOTSTRAP:-system}"
+		--enable-jvm-feature-dtrace=$(usex systemtap yes no)
+		--enable-headless-only=$(usex headless-awt yes no)
+		$(tc-is-clang && echo "--with-toolchain-type=clang")
+	)
+
+	use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
+
+	# Werror=odr
+	# https://bugs.gentoo.org/916735
+	#
+	# Disable it for now.
+	#use lto && myconf+=( --with-jvm-features=link-time-opt )
+
+	if use javafx; then
+		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+		if [[ -r ${zip} ]]; then
+			myconf+=( --with-import-modules="${zip}" )
+		else
+			die "${zip} not found or not readable"
+		fi
+	fi
+
+	# Workaround for bug #938302
+	if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
+		myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
+	fi
+
+	if use !system-bootstrap ; then
+		addpredict /dev/random
+		addpredict /proc/self/coredump_filter
+	fi
+
+	(
+		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+		CFLAGS= CXXFLAGS= LDFLAGS= \
+		CONFIG_SITE=/dev/null \
+		econf "${myconf[@]}"
+	)
+}
+
+src_compile() {
+	# Too brittle - gets confused by e.g. -Oline
+	export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+	unset GNUMAKEFLAGS MAKEFLAGS
+
+	local myemakeargs=(
+		JOBS=$(makeopts_jobs)
+		LOG=debug
+		CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+		NICE= # Use PORTAGE_NICENESS, don't adjust further down
+		$(usex doc docs '')
+		$(usex jbootstrap bootcycle-images product-images)
+	)
+	emake "${myemakeargs[@]}" -j1
+}
+
+src_install() {
+	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+	local ddest="${ED}/${dest#/}"
+
+	cd "${S}"/build/*-release/images/jdk || die
+
+	# Create files used as storage for system preferences.
+	mkdir .systemPrefs || die
+	touch .systemPrefs/.system.lock || die
+	touch .systemPrefs/.systemRootModFile || die
+
+	# Oracle and IcedTea have libjsoundalsa.so depending on
+	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+	if ! use alsa ; then
+		rm -v lib/libjsound.* || die
+	fi
+
+	if ! use examples ; then
+		rm -vr demo/ || die
+	fi
+
+	if ! use source ; then
+		rm -v lib/src.zip || die
+	fi
+
+	rm -v lib/security/cacerts || die
+
+	dodir "${dest}"
+	cp -pPR * "${ddest}" || die
+
+	dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+	# must be done before running itself
+	java-vm_set-pax-markings "${ddest}"
+
+	einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+	"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+	java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+	java-vm_revdep-mask
+	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+	if use doc ; then
+		docinto html
+		dodoc -r "${S}"/build/*-release/images/docs/*
+		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+	fi
+}
+
+pkg_postinst() {
+	java-vm-2_pkg_postinst
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-10-01 10:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-17 20:31 [gentoo-commits] repo/gentoo:master commit in: dev-java/openjdk/, dev-java/openjdk/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-10-01 10:24 Miroslav Šulc
2023-01-22 23:13 Georgy Yakovlev
2021-10-16 17:50 Georgy Yakovlev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox