Merge updates from master

This commit is contained in:
Repository mirror & CI
2026-01-24 08:31:04 +00:00
4 changed files with 336 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45
DIST openjdk-11.0.29_p7.tar.gz 116622259 BLAKE2B 9b4b2abe361914e4e9c44ff27b53dbcf321f0fb380cc6729403a63ac9c4c93707f4199c2657353d349e4fc06ef341970c5df8ce5bb1a6cdc64f001baa58b6109 SHA512 85cdccee7e359e6b51aee7ebb23bff75c26dd2fa6054a853b23b3bfa3b13bcad3c195fea91ffe5d4078c05ebb7fd9db6cf276451f2029073108f406ca362f611
DIST openjdk-17.0.17_p10.tar.gz 107966134 BLAKE2B 638ddbcab4a958c54b9aab4bb2d1deabd313bf0f2c9944465ed8b5d5c9b0e890af04ada7180c0a3608d21604cda67b5568e79fb1d840b4b91e905b79893c601a SHA512 ddb409fe2c8714af081e1174df2b1febcb05097dd83eed60abe9cdaf6b9cfb9a960626480ff4f8719e8890480274ca5ce2abb449317aeb617d9bfe964b33ad29
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

View File

@@ -0,0 +1,333 @@
# 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
# 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/*
fi
}
pkg_postinst() {
java-vm-2_pkg_postinst
}

View File

@@ -1,4 +1,4 @@
DIST libjcat-0.2.3.tar.xz 66188 BLAKE2B 200cac29d355cce54a4d722bcdd5dcd88e2aea59c31fb43a37cf4a7272cd7d996acafa3e4e70e15fdd59174be158b9c5134acef6a722504f97835095f63eb274 SHA512 ff4627c3917b10eb5acce0c0c2f583f6cebe8d9c7501ff3cbb9a8b419db62761d6b82674786cbfa00fe66d30a7699bc87c37e76648e45884a97523d68ac6ae15
DIST libjcat-0.2.5-skip-pq-gnutls.patch 3936 BLAKE2B 45bd003ee8c734f392c61775a995e0ca3d68e2f2cdc63628a69eb2603dab2c9dd16cdf29e67c8489fd34118489cebc2624166cfc7a244979b478e6242860201b SHA512 6df9c21232886f66144d3ef5074a32004db941317df96e66cf14e4f9cdcf8b6fd8dc01470ba7b57646994140828e2520a98b8f532a1a858c02fdf107ac4f057d
DIST libjcat-0.2.5-skip-pq-gnutls.patch.xz 3936 BLAKE2B 45bd003ee8c734f392c61775a995e0ca3d68e2f2cdc63628a69eb2603dab2c9dd16cdf29e67c8489fd34118489cebc2624166cfc7a244979b478e6242860201b SHA512 6df9c21232886f66144d3ef5074a32004db941317df96e66cf14e4f9cdcf8b6fd8dc01470ba7b57646994140828e2520a98b8f532a1a858c02fdf107ac4f057d
DIST libjcat-0.2.5.tar.xz 71852 BLAKE2B adeaecd337dbd7e854700ff78c24c422bd3f0abe8cbd2d04611223023921b51c0ef21e3a3475ac189b7c20c41db22208ab3db9d1b7cd47c4c6448a7bb3a9772b SHA512 84b4111d80a2d9e6dccc39b120b97b7128a9aef716cce2426acc5b36199472d6d6acd291affeffcd48156ed07189c09a04559282772ab8e1dd8f321446141407
DIST libjcat-0.2.5.tar.xz.asc 488 BLAKE2B 321a014ccdc289ad21e2d782cec85d744b8fcedd7b62126165ec0565ef427d5c25aa0d721f567c148f7cdca8192da2eb6ea559cf3b7479224a690b27a01f5df2 SHA512 ab2e4364587e4457cdbc256f4768047e73754f47ac8f11d9fd9328d06f3154565e7a51313d98009162e68dabd9825ea5683ea5134870f345bc239d2277f7cdeb

View File

@@ -13,6 +13,7 @@ HOMEPAGE="https://github.com/hughsie/libjcat"
SRC_URI="
https://github.com/hughsie/libjcat/releases/download/${PV}/${P}.tar.xz
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-skip-pq-gnutls.patch
-> ${P}-skip-pq-gnutls.patch.xz
verify-sig? ( https://github.com/hughsie/libjcat/releases/download/${PV}/${P}.tar.xz.asc )
"