commit:     44ef18c4c947e53bd6dfe88eaed14c89cf0ba07f
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Feb 11 17:25:07 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 11 17:55:45 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44ef18c4

dev-java/openjdk: drop 21.0.9_p10, 25.0.1_p8-r1

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/45760
Closes: https://github.com/gentoo/gentoo/pull/45760
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-java/openjdk/Manifest                    |   2 -
 dev-java/openjdk/openjdk-21.0.9_p10.ebuild   | 334 -------------------------
 dev-java/openjdk/openjdk-25.0.1_p8-r1.ebuild | 352 ---------------------------
 3 files changed, 688 deletions(-)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 410410559dd6..7aee7db6c235 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -4,8 +4,6 @@ DIST openjdk-11.0.30_p7.tar.gz 116663374 BLAKE2B 
a1dfae617361f851097239ec43eb24e
 DIST openjdk-17.0.17_p10.tar.gz 107966134 BLAKE2B 
638ddbcab4a958c54b9aab4bb2d1deabd313bf0f2c9944465ed8b5d5c9b0e890af04ada7180c0a3608d21604cda67b5568e79fb1d840b4b91e905b79893c601a
 SHA512 
ddb409fe2c8714af081e1174df2b1febcb05097dd83eed60abe9cdaf6b9cfb9a960626480ff4f8719e8890480274ca5ce2abb449317aeb617d9bfe964b33ad29
 DIST openjdk-17.0.18_p8.tar.gz 108121730 BLAKE2B 
a16c67ad0ad9e88b89d55cd45fe8c781e4810423f6d3fb83c6f35c5efa41868c8cb5a6bea93e84de63277808b6c51c1d079ab7fc0f6bcfd1a1d12580e1863afb
 SHA512 
d828e4e6cb730c9452eb1085c752d8bb03c66f2edc9d177fc6c8eaa15e316f71b63545f1fcc5a628a5a40d280155da059a913c976a1af257df4d657ed940c5b8
 DIST openjdk-21.0.10_p7.tar.gz 113953324 BLAKE2B 
57e9a55fbdf70d0a9d1994cc02a9e17d1e3c4552e04408e8b0390989763938bcd85d7eb65cb59de1f6f5a167e85a666bb6b2c5fda0ddd4f964fada4e14265410
 SHA512 
3b956c32bd5079f787be0a84d0b85f7c93eeb65565b9456d9dfd16f97e85c6fa92263e9077b8b8326296bb5f777cf39646a0c25b2a52d3e0a5b98131cbc70155
-DIST openjdk-21.0.9_p10.tar.gz 113806114 BLAKE2B 
b6511bd023d022bbc21a11acc173257ec8b015e89ee148be94dad9a7bd71e711f576b74d4e94dac8e06bc19c54745b134d7b0da4284e4de424a1e1489c071ae6
 SHA512 
f209839c830e5db7080613b5d5e7c33ccd6a55cb72a2e6237bb26646569691a34a7b93349c9fa219a3496e111e156c2d24abda3b389056b16625668e8756aed0
-DIST openjdk-25.0.1_p8.tar.gz 119363842 BLAKE2B 
24fcb7607cf7847c743cc5f538b1ae11f8fd551e5c75777ae68a58efb7bcba67a02ef0b02b0123c715a5dabe0d68c9dd49e51678b73e3fe232009bc6a834b4b5
 SHA512 
002ca3cbd9b581bed8c01e2bbda7647845b88d165f638460870aee510feffcc014588b6c5315e77467458682b049e7d2bb1c6be8728f8cf5067539f5d8233352
 DIST openjdk-25.0.2_p10.tar.gz 119406560 BLAKE2B 
e3461d09ab68b15aab06645df1cb6dfd1090ed46cbe9c14c2cbc39c06468f483de9d79815817c6c6fc521e37d422e007d4a5e80c7d42ec9d1b6b943ceeb5c807
 SHA512 
a1435cf8493c9498abfa98ac4ef4c5dc67892b95010c167cbda03b7ceb154f466d84ea3daf4242102f71b74233930e880f422768660a30f48658321255483907
 DIST openjdk-26_beta34.tar.gz 121542931 BLAKE2B 
032df70d36096de84c46e1d9020bb9eb0d82fa5330a841245e6a7cf3907b1b0b99c5076514a15561487e57dcd361e01ca01642e9b43341c019a2bb3105201cfb
 SHA512 
caf0eabcfe5ac75f5132c05bb63778a7b79ea573da9a6a61c1a7ec232dacf75b5499e1e0b718871a2ab4fd03df841f98e1e39b789843e4f59677c183e7bae88f
 DIST openjdk-27_alpha8.tar.gz 121836345 BLAKE2B 
bc23396f072b60f8f1d97ff472c7609575e298cf592e43b063c1b2a2e664ed697313648da93737c5a9b1fbc3e6391ee87c3cc7685fe53b2757421ca93a214ea3
 SHA512 
4cf88d8dc4518e720b567d3970e423657bb58f57a0fd7d88b6832163c21924dcbfaea3ae89c4c1f0dbc9c0c7be479f2b5c41ae00baa69176cd98027ea602f08c

diff --git a/dev-java/openjdk/openjdk-21.0.9_p10.ebuild 
b/dev-java/openjdk/openjdk-21.0.9_p10.ebuild
deleted file mode 100644
index 54bc09433932..000000000000
--- a/dev-java/openjdk/openjdk-21.0.9_p10.ebuild
+++ /dev/null
@@ -1,334 +0,0 @@
-# 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
-
-# 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}/jdk21u/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="$(ver_cut 1)"
-KEYWORDS="amd64 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 )
-       !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=
-       virtual/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}
-               )
-       )
-"
-
-# 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() {
-       local myconf=()
-
-       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 --with-jvm-features=link-time-opt
-       # See bug #833097 and bug #833098.
-       #
-       # .. but because of -Werror=odr (bug #916735), we disable it
-       # entirely for now.
-       #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
-       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.
-
-       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-stdc++lib=dynamic
-               --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" )
-
-       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#/}"
-
-       # https://bugs.gentoo.org/922741
-       docompress "${dest}/man"
-
-       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
-}

diff --git a/dev-java/openjdk/openjdk-25.0.1_p8-r1.ebuild 
b/dev-java/openjdk/openjdk-25.0.1_p8-r1.ebuild
deleted file mode 100644
index 1e5e0f14f2ef..000000000000
--- a/dev-java/openjdk/openjdk-25.0.1_p8-r1.ebuild
+++ /dev/null
@@ -1,352 +0,0 @@
-# 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
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="25_p36" # big-endian bootstrap tarball
-
-# 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"
-
-# Upstream starts new major versions usually in https://github.com/openjdk/jdk.
-# In ebuilds for those early versions, use '_alpha' in the version string.
-# Exapmle: openjdk-26_alpha10.ebuild
-# Later, upstream creates the versioned repository like e.g.
-# https://github.com/openjdk/jdk25u.
-# In ebuilds for those later versions, use '_beta' in the version string.
-# Example: openjdk-25_beta35.ebuild
-if [[ "${PV%_alpha*}" != "${PV}" ]]; then # version string contains "_alpha"
-       MY_PV="${PV/_alpha/+}"
-       JDK_REPO="jdk"
-       MY_VERSION_STRING="${PV%_alpha*}"
-       MY_VERSION_BUILD="${PV#*_alpha}"
-elif [[ "${PV%_beta*}" != "${PV}" ]]; then # version string contains "_beta"
-       MY_PV="${PV/_beta/+}"
-       JDK_REPO="jdk$(ver_cut 1)u"
-       MY_VERSION_STRING="${PV%_beta*}"
-       MY_VERSION_BUILD="${PV#*_beta}"
-else
-       MY_PV="${PV%_p*}-ga"
-       JDK_REPO="jdk$(ver_cut 1)u"
-       MY_VERSION_STRING="${PV%_p*}"
-       MY_VERSION_BUILD="${PV#*_p}"
-fi
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org";
-SRC_URI="
-       https://github.com/${PN}/${JDK_REPO}/archive/jdk-${MY_PV}.tar.gz
-               -> ${P}.tar.gz
-       !system-bootstrap? (
-               $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
-       )
-"
-S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ppc64 ~riscv"
-
-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 )
-"
-
-COMMON_DEPEND="
-       media-libs/freetype:2=
-       media-libs/giflib:0/7
-       media-libs/harfbuzz:=
-       media-libs/libpng:0=
-       media-libs/lcms:2=
-       virtual/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}
-               )
-       )
-"
-
-# 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() {
-       local myconf=()
-
-       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
-
-       # 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 --with-jvm-features=link-time-opt
-       # See bug #833097 and bug #833098.
-       #
-       # .. but because of -Werror=odr (bug #916735), we disable it
-       # entirely for now.
-       #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
-       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.
-
-       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-stdc++lib=dynamic
-               --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="${MY_VERSION_STRING}"
-               --with-version-build="${MY_VERSION_BUILD}"
-               --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" )
-
-       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#/}"
-
-       # https://bugs.gentoo.org/922741
-       docompress "${dest}/man"
-
-       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/*
-       fi
-}
-
-pkg_postinst() {
-       java-vm-2_pkg_postinst
-}

Reply via email to