commit:     09ea07daf3e6e80d9e15c79885f576b565e94b9f
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Jan 22 03:34:45 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Jan 26 08:20:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09ea07da

dev-java/openjdk: add 8.442_p06

Bug: https://bugs.gentoo.org/948666
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/40253
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/openjdk/Manifest                 |   1 +
 dev-java/openjdk/openjdk-8.442_p06.ebuild | 283 ++++++++++++++++++++++++++++++
 2 files changed, 284 insertions(+)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 5d9e53268504..7d3393c439a4 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -7,6 +7,7 @@ DIST openjdk-21.0.5_p11.tar.gz 112679148 BLAKE2B 
6cfb2ab73e1bcc5d74c28f56e163778
 DIST openjdk-21.0.6_p7.tar.gz 113221815 BLAKE2B 
2b3d240037baa2b306a1064f260b7ed57a4f4dafe97626bf6e1de3e54357d8a7652c1798f6946d58aba30ca0be334d9a1f918b25381ab370d515f829abea4952
 SHA512 
fb03362608a35b0f6e131eaa974a52e6ff8a96f90d3bdaeccd2e1268f46db65c72387ed7bba1c8b0d9457c56950eae607fba29e102a338b009259262e1024726
 DIST openjdk-25_p7.tar.gz 122614923 BLAKE2B 
bbb55949df77054efebe53819b1a7f1f0379f08f4aba385679aff10a54bf02fdf249b3aa02a26ffc44fb1d8f7760d6d701dc95c0546bae57c5b2515702388e6a
 SHA512 
ac3812a1de94e20b1ac7e0890b565ab4e3d7d5236e4edbd4e53b5c78d57a887af228a0a50c77e41d7adfbf0f0d92d7a156022f1f81fc5cca4c2ac7538f52ae75
 DIST openjdk-8.432_p06.tar.gz 92765730 BLAKE2B 
9c3823ed0394730cdbf306a92062656a793dd7b57a333319282a6aa01a8150927227d3e91ee2ee975108b8c3aa2b0b87669af2971dfc27a6400fb7c4ef22d246
 SHA512 
263642d56915e0533c154ab51148b0f6a9860b243dddf5bbb70f49174d07dd505393fa6e257bfa34eca6e95ecd4f271737fa48fee8db93e624e8336fe488eb83
+DIST openjdk-8.442_p06.tar.gz 92775643 BLAKE2B 
dfcac25f30d8178b9c9d9b2f90e06b7c8cd417dc43c00954d2e9a748f979c596b1b77f989a7137e022868dfc8d12a148f9281cf9a387ff91e9d4b505d416128b
 SHA512 
6c0fe0b7aaf5ff887c720cced4203231c7ea6490817a5cb10196dabe0f3941833ddcc8024d2fe04f3a84502b6fe08277a6ff2f84ce605f4209a3494b9f0a80b7
 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.442_p06.ebuild 
b/dev-java/openjdk/openjdk-8.442_p06.ebuild
new file mode 100644
index 000000000000..c85e0700422d
--- /dev/null
+++ b/dev-java/openjdk/openjdk-8.442_p06.ebuild
@@ -0,0 +1,283 @@
+# Copyright 1999-2025 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
+
+# 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
+"
+
+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
+}
+
+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
+
+       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#/}"
+
+       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