* [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