dev-java/openjdk: add 8.452_p09

Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
Volkmar W. Pogatzki
2025-04-16 22:55:24 +02:00
committed by Miroslav Šulc
parent f7d56f247a
commit 45e38efed6
2 changed files with 294 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ DIST openjdk-17.0.14_p7.tar.gz 107408032 BLAKE2B 006be4d75d3d9ef3a40b1853dded3cc
DIST openjdk-21.0.6_p7.tar.gz 113221815 BLAKE2B 2b3d240037baa2b306a1064f260b7ed57a4f4dafe97626bf6e1de3e54357d8a7652c1798f6946d58aba30ca0be334d9a1f918b25381ab370d515f829abea4952 SHA512 fb03362608a35b0f6e131eaa974a52e6ff8a96f90d3bdaeccd2e1268f46db65c72387ed7bba1c8b0d9457c56950eae607fba29e102a338b009259262e1024726
DIST openjdk-25_p13.tar.gz 120956985 BLAKE2B 039e569707d6803cc42a3fdb29fdb6f4fc9c6af0f207e894c6237e73ee087b3025b386e1b5afcd2a03675e39638608d45cd49915008e9812ff1aeb28f611e328 SHA512 35769b7318eea53b4d079dfe2a33fb28c11c48fd448c036ffba350147398927e5078bf53e67246d4adf6ca93fc81e99944cbcee14800c57824b49f0d4ccc55d3
DIST openjdk-8.442_p06.tar.gz 92775643 BLAKE2B dfcac25f30d8178b9c9d9b2f90e06b7c8cd417dc43c00954d2e9a748f979c596b1b77f989a7137e022868dfc8d12a148f9281cf9a387ff91e9d4b505d416128b SHA512 6c0fe0b7aaf5ff887c720cced4203231c7ea6490817a5cb10196dabe0f3941833ddcc8024d2fe04f3a84502b6fe08277a6ff2f84ce605f4209a3494b9f0a80b7
DIST openjdk-8.452_p09.tar.gz 92802152 BLAKE2B 9fab8fc7bdc8a9cce5a7b8ea808e6b20729f70cf628b2403a41701ddd353526bffd8df35076e039845145f730a8fdc394279dba3a79cd194e60c798355c9b876 SHA512 b38a833fa53976443c1d412fee16a154d4933b0d9774ab3e01a10b9d3978d3f330184f60227799e160daa857ab20a4dc53764e9cfe6df4055245a1dfc57e7e86
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,293 @@
# 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
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
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"
}