dev-java/openjdk: add 8.502_p07

Bug: https://bugs.gentoo.org/979647
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1443
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Volkmar W. Pogatzki
2026-07-21 22:48:30 +02:00
committed by Sam James
parent 8c48bd07cd
commit 5923bdb558
2 changed files with 299 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ DIST openjdk-25.0.4_beta4.tar.gz 119641816 BLAKE2B b6f49ea719fb4d03022d92657b067
DIST openjdk-27_beta31.tar.gz 121480809 BLAKE2B d253a741233680314b923a0fe42b8c514185c48ef4460008ebb8faef1688901b1e9c6c9963c8b9a9d057ad53dc2a99baccadd4965a7dba19c3e6936d2c704dcd SHA512 52fc20cee140dc0229df56e5495154dccdc28800a816e7572f150d9958b93e59c8c50cb1162dc7e36ee1964f8d28f73d17680b9c9df10cf3d8ecff229763179e
DIST openjdk-28_alpha7.tar.gz 121816659 BLAKE2B 3d0d214c7bee8a8ab89f46494d1da036164c9173b91439fdb9083b61152a6ad9624208b79a0a3884a6151718b5b40b86125a13e39e652e80500f09a58c571eb5 SHA512 71f55e86fa069a663f6586125de01518b67c208b60d13ddae1849ec31c83865f213396eabdcc6f8e807ca301b7ee3ed6e3251dafeb3a9d36982c2b5da8d34d02
DIST openjdk-8.492_p09.tar.gz 93934156 BLAKE2B 7b0236327d911139b4d8995c3807f115c8ea2ce2807c7026413d6eebe4bf86575868ceb727af754ca19bfaa84e7d9c82453ca2a0c7c80d367ceedf393d02d94d SHA512 9abde3b53581e41cc47d9a70a768be02aeb4942e03e9a3797f034188f4d99cdc7475305583ec72176011ac8b02a9a2e879df15977ae6a0c8b691409acb8a4e51
DIST openjdk-8.502_p07.tar.gz 93987454 BLAKE2B 4118c050e590f7058ec47e4988eee66708be04c652dfa38b17273e83ff176c893e635202eef1db690f8a6ed322fe63000258e4c69006901a766098c1203990ad SHA512 fdcb0cc19cba5bb8cabfc3c6439ae5d1ce33d5fa500b1fe2a7b8152bedaacdda11e58fd2eb0357a815dfc1a44423023a9149409c0cdaac931fe0958e91bca343
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

View File

@@ -0,0 +1,298 @@
# Copyright 1999-2026 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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="$(ver_cut 1)"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="alsa big-endian debug cups doc examples headless-awt +jbootstrap selinux system-bootstrap source"
COMMON_DEPEND="
media-libs/freetype:2=
media-libs/giflib:0/7
virtual/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:*
"
PATCHES=(
"${FILESDIR}/openjdk-8-insantiate-arrayallocator.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() {
local myconf=()
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, we rely on --with-jvm-features=link-time-opt
# in newer JDKs. See bug #833097 and bug #833098.
filter-lto
filter-flags -fdevirtualize-at-ltrans
# bug #954888
append-cflags -std=gnu17
tc-export_build_env CC CXX PKG_CONFIG STRIP
myconf+=(
--disable-ccache
--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=system
--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"
}