commit:     28b6c1a4935260de2b7d1b4270264a3f2b2c96ce
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Jul 16 04:12:34 2025 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Jul 17 09:03:48 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28b6c1a4

dev-java/openjdk: add 8.462_p08

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/42444
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 dev-java/openjdk/Manifest                 |   1 +
 dev-java/openjdk/openjdk-8.462_p08.ebuild | 302 ++++++++++++++++++++++++++++++
 2 files changed, 303 insertions(+)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index d1f37b4fa6a9..354a64677246 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -5,6 +5,7 @@ DIST openjdk-21.0.7_p6.tar.gz 113314595 BLAKE2B 
5bc9962c2f1fac243fdd06cae7703a33
 DIST openjdk-25_p31.tar.gz 119343874 BLAKE2B 
80477d71433895f9baabcc3659764e2fe7e4e9a56514a8678bc3da1e567320e3a7af57e16ea01ad5861d9c5a2f2028ad087d4de416d87ad12150b784dad877c6
 SHA512 
008c5a1b5d60b95afd8d56441733a77287be208e7b32dd58c35b11e4b731a1d5bcc59c3a79ea3baf9ecea90bb6a42b32ee187bce41665c461483b5e3478a2a61
 DIST openjdk-26_p6.tar.gz 119435939 BLAKE2B 
7928a217245d1453d366d90c8c8f64ded5ef12f54d7ad95e8c5a37d8ca6710ccdc7bfd1ca9d8c182f2bf70add792e51eecf930e441c0dab08029c23270b86deb
 SHA512 
ecea219c619f4033c3fd4629304ff96bfe827db96378a596ab4df257b044e51d67993f802577274a8c26b2545f31bf0dd77c165894271f947979a73f03920b8c
 DIST openjdk-8.452_p09.tar.gz 92802152 BLAKE2B 
9fab8fc7bdc8a9cce5a7b8ea808e6b20729f70cf628b2403a41701ddd353526bffd8df35076e039845145f730a8fdc394279dba3a79cd194e60c798355c9b876
 SHA512 
b38a833fa53976443c1d412fee16a154d4933b0d9774ab3e01a10b9d3978d3f330184f60227799e160daa857ab20a4dc53764e9cfe6df4055245a1dfc57e7e86
+DIST openjdk-8.462_p08.tar.gz 92819223 BLAKE2B 
4ff02b05348b963799a230756cc7e00eb86bc0c7037da55e38f2b3ef9864e9be6bb38b8f86674741153cbe7e2213de9e5b945231def57dce92a69f8e5ca586fe
 SHA512 
e444fb52190c1464a5707615e2f3046bad5e5273c553a1b04cf93450b32e9bfdd49f06fbbe5d91217b6d22c6398db35c9bcb91010dfb237c760a95de02f6073e
 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
 DIST openjdk-bootstrap-11.0.14_p9-riscv.tar.xz 104601676 BLAKE2B 
5f976e8a626a829fae70ad6c007f10bfeff79e29c85d6c75fb2f5ff8984fd2a2bd44ee6e07958dbbdaaed761c6839d375e1b5ba6cffc63b02ad9e2c9178310db
 SHA512 
580dec81626553fe3e7afd0f6385a733ba80a0502cf0f9e8bdc973048887290c9ab6171267d61d8838c4ece4de58c9ca8b78540bd52b1757495a27175057ec64

diff --git a/dev-java/openjdk/openjdk-8.462_p08.ebuild 
b/dev-java/openjdk/openjdk-8.462_p08.ebuild
new file mode 100644
index 000000000000..c229bd230c76
--- /dev/null
+++ b/dev-java/openjdk/openjdk-8.462_p08.ebuild
@@ -0,0 +1,302 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Avoid circular dependency
+JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
+
+inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing 
toolchain-funcs
+
+# 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.
+# we need -ga tag to fetch tarball and unpack it, but exact number everywhere 
else to
+# set build version properly
+MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+X86_XPAK="8.402_p06"
+PPC64_XPAK="8.402_p06"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri x86 8.402_p06)
+# Output: ppc64? ( big-endian? ( https://...8.402_p06-x86.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-}"
+
+       # here be dragons
+       echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} 
${cond:+) })"
+}
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org";
+SRC_URI="
+       https://github.com/openjdk/jdk8u/archive/jdk${MY_PV}.tar.gz
+               -> ${P}.tar.gz
+       !system-bootstrap? (
+               $(bootstrap_uri x86 ${X86_XPAK})
+               $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+       )
+"
+S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
+
+LICENSE="GPL-2-with-classpath-exception"
+SLOT="${PV%%[.+]*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="alsa big-endian debug cups doc examples headless-awt javafx +jbootstrap 
selinux system-bootstrap source"
+
+COMMON_DEPEND="
+       media-libs/freetype:2=
+       media-libs/giflib:0/7
+       sys-libs/zlib
+"
+# 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/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
+       virtual/pkgconfig
+       x11-base/xorg-proto
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXi
+       x11-libs/libXrender
+       x11-libs/libXt
+       x11-libs/libXtst
+       system-bootstrap? (
+               || (
+                       dev-java/openjdk-bin:${SLOT}
+                       dev-java/openjdk:${SLOT}
+               )
+       )
+"
+
+BDEPEND="
+       virtual/pkgconfig
+       sys-devel/gcc:*
+"
+
+PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
+
+PATCHES=(
+       "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch"
+       "${FILESDIR}/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch"
+       
"${FILESDIR}/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch"
+       "${FILESDIR}/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch"
+       "${FILESDIR}/openjdk-8.402_p06-0004-Fix-misc.-warnings.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 debug 3 1) * $M ))
+       M=$(( $(usex jbootstrap 2 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}"
+
+       if use system-bootstrap; then
+               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
+       fi
+}
+
+src_prepare() {
+       default
+
+       # new warnings in new gcc https://bugs.gentoo.org/685426
+       sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
+               hotspot/make/linux/makefiles/gcc.make || die
+
+       chmod +x configure || die
+
+       # Force gcc because build failed with modern clang, #918655
+       if ! tc-is-gcc; then
+                       ewarn "openjdk/8 can be built with gcc only."
+                       ewarn "Ignoring CC=$(tc-getCC) and forcing ${CHOST}-gcc"
+                       export CC=${CHOST}-gcc
+                       export CXX=${CHOST}-g++
+                       tc-is-gcc || die "tc-is-gcc failed in spite of CC=${CC}"
+       fi
+}
+
+src_configure() {
+       if ! use system-bootstrap; then
+               local xpakvar="${ARCH^^}_XPAK"
+               export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+       fi
+
+       # general build info found here:
+       # https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
+
+       # -Wregister use (bug #918655)
+       append-cxxflags -std=gnu++14
+
+       # Work around stack alignment issue, bug #647954.
+       use x86 && append-flags -mincoming-stack-boundary=2
+
+       # Strip some flags users may set, but should not. #818502
+       filter-flags -fexceptions
+
+       # Strip lto related flags, no support in this version.
+       # https://bugs.gentoo.org/833097
+       # https://bugs.gentoo.org/833098
+       filter-lto
+       filter-flags -fdevirtualize-at-ltrans
+
+       # bug #954888
+       append-cflags -std=gnu17
+
+       tc-export_build_env CC CXX PKG_CONFIG STRIP
+
+       local myconf=(
+                       --disable-ccache
+                       --disable-freetype-bundling
+                       --disable-precompiled-headers
+                       --enable-unlimited-crypto
+                       --with-boot-jdk="${JDK_HOME}"
+                       --with-extra-cflags="${CFLAGS}"
+                       --with-extra-cxxflags="${CXXFLAGS}"
+                       --with-extra-ldflags="${LDFLAGS}"
+                       --with-freetype-lib="$( $(tc-getPKG_CONFIG) 
--variable=libdir freetype2 )"
+                       --with-freetype-include="$( $(tc-getPKG_CONFIG) 
--variable=includedir freetype2)/freetype2"
+                       --with-giflib="${XPAK_BOOTSTRAP:-system}"
+                       --with-jtreg=no
+                       --with-jobs=1
+                       --with-num-cores=1
+                       --with-update-version="$(ver_cut 2)"
+                       --with-build-number="b$(ver_cut 4)"
+                       --with-milestone="fcs" # magic variable that means 
"release version"
+                       --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-zlib="${XPAK_BOOTSTRAP:-system}"
+                       --with-native-debug-symbols=$(usex debug internal none)
+                       $(usex headless-awt --disable-headful '')
+                       $(tc-is-clang && echo "--with-toolchain-type=clang")
+               )
+
+       (
+               unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
+               CFLAGS= CXXFLAGS= LDFLAGS= \
+               CONFIG_SITE=/dev/null \
+               CONFIG_SHELL="${BROOT}/bin/bash"
+               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 images)
+       )
+       emake "${myemakeargs[@]}" -j1
+}
+
+src_install() {
+       local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+       local ddest="${ED}/${dest#/}"
+
+       # https://bugs.gentoo.org/922741
+       docompress "${dest}/man"
+
+       cd "${S}"/build/*-release/images/j2sdk-image || die
+
+       if ! use alsa; then
+               rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
+       fi
+
+       # build system does not remove that
+       if use headless-awt ; then
+               rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
+               {,jre/}bin/policytool bin/appletviewer || die
+       fi
+
+       if ! use examples ; then
+               rm -vr demo/ || die
+       fi
+
+       if ! use source ; then
+               rm -v src.zip || die
+       fi
+
+       dodir "${dest}"
+       cp -pPR * "${ddest}" || die
+
+       dosym -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
+
+       java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+       java-vm_set-pax-markings "${ddest}"
+       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/docs/*
+       fi
+}
+
+pkg_postinst() {
+       java-vm-2_pkg_postinst
+       einfo "JavaWebStart functionality provided by icedtea-web package"
+}

Reply via email to