Switch openjdk:14 sources to github.

This commit is contained in:
Andrius Štikonas 2024-03-02 13:43:39 +00:00
parent 9007d665cc
commit d837d5b461
2 changed files with 54 additions and 64 deletions

View File

@ -79,7 +79,7 @@ DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f
DIST openjdk-11.0.20.1_p1.tar.gz 116165519 BLAKE2B 3f3627d6535770c6654226ca2c188ac4aa0f332c7f66d79ab1991274e019ee4aee5194b285bace03175593543017a2ec75494e8e50b5488df82c7d437bf31398 SHA512 765f90a24629e5db5afb23b09edc38a3d460ba27d1de53980942e711783fe9fdf1c4ef29a75d2ffd6d93864611ffce60d515e032180917cd053967a0d4ecfc69
DIST openjdk-12.0.2_p01.tar.gz 110340376 BLAKE2B 75f19cecc0ffbc40ea708f91380c11fa04c75b1453d759c0c3babe4ca4d700c1e22ef24717903f76976d6157f62f582fe8d1eba92ef0315c423bfbd6b323b416 SHA512 370e3d8378fcdf929df7325ac988ffcb4565c3fbb7cd1831554e0977769f1beaef0185ac8c7df40b5d74ca88acb27f657fb617279f58a8f78cf2adac10b95882
DIST openjdk-13.0.4_p01.tar.gz 108833418 BLAKE2B fbe756d5b3f6b3e4fa6aede34015e38d548fba2537d55195c2377eac80aa72094f44b855a21a2011a375b769169bbe2ccf92f0fe9baad28c7dd08d992e034080 SHA512 d29820da13b45fe64ff20ff277142a3dd73301145b9b7c03b387950928aae99564b7ecb0c1a25d29737de896e06b94f8618c6e141130788a6e87dc23e97a023e
DIST openjdk-14.0.2_p01.tar.bz2 83827689 BLAKE2B acd8a61156800941781a2f4c2d3acc61d7124254ec573b6e4eb45e0e031b4b4403475bec617c4130715b5764982a0d2bf990c07e8593817524093ed7fc86a2c8 SHA512 fb129d2e0f3b007d249073c6a0f20fe9c2917eafbae1c4a6c51126180a70e5debb348c3770a785b54576f2a338cb10fdfbd1fca5879e49f80a4fa5c190338fa9
DIST openjdk-14.0.2_p01.tar.gz 109297285 BLAKE2B be60397242955b3479bfee9cc1b43e2c5ddc404c20e310ece294fa9cbd3b9cb32e198bd4d241c3731efc92cb17e36efbd8b30fa618bd4cbec9ec139283e82518 SHA512 e76b7908e7b1375029564d39386c86b640fcb61c7152bdda7249a6455516792830f17e987c98790ae5983087b928be6f5d572b8b10f3e2318d2d993f5f22ed62
DIST openjdk-15.0.0_p36.tar.gz 101812870 BLAKE2B 1028ab04825941452b603998f05e2a7e419931979a19855f6ea6c1578c331704ac19ae77043a4f44b2f5d9d481b9a9eaad6c3e3eec9154789d54980ba0295bb7 SHA512 c08d2818de06569278b67954556221ed7c6ab6848ffc57823b789f370ebdd332d2803979a5a254e8f9f669ea161bb479f66ad4e1490b37889d38233b6cca4357
DIST openjdk-16.0.0_p36.tar.gz 104327489 BLAKE2B 7d20f72000155829cf5c36c430bde5ce7d22000b363583da25de9bc7b070b601141ad49b11f3505a344baea36ea846936e148e80c1fadf6e4ace53582f92480c SHA512 082d8a7fdc3f096fdc843869af7d43aa1eb9ac6b0538fbb5f8a0f4d942051a90e49932b30f3d2c3620845fb98373097e509a8432d16f1d44742f44286dccb46d
DIST openjdk-17.0.0_p35.tar.gz 104595247 BLAKE2B e5cefa2d5f00757ca2ff88fe8ebfa268d8bfd74c9046349b6298c5a73bd98212ff7c38157d23b1c83dd2ef86fdc8a297425a2fe66b3f88f6081c6464e4085465 SHA512 0323909edbddc8e889a0daa226e184a6f8474ecd6917f97eadf0752475b99f15cbdca75220f96fd1d4b98b31660d7b5bb518c8a91efed15bdfba4faacd4e74ca
@ -93,7 +93,7 @@ EBUILD openjdk-10.0.2_p13.ebuild 8787 BLAKE2B a2f498ff8bbe49267980dd55df4249df86
EBUILD openjdk-11.0.20.1_p1.ebuild 7685 BLAKE2B 8a20baa3fd625ee50d83e7906708ec64473d71896c6579e7031d2f6a3dfc988e252fc7fa89b06d9a5378000a873c7b24a2e2cd6f23f43163f494762697982407 SHA512 8bfc8559c014fb519632f2130f5f0ae0563df0df8c8c6a0d27ebdbc5284ed2f1a3561b291a06d23a15395aa56c7c40e5636851ecf7d690e614408f1341186880
EBUILD openjdk-12.0.2_p01.ebuild 7977 BLAKE2B 475a85f31222335554e85dad2585a47cba3c4cf15c88eaa1e7491704b220f9cb4449e4c51f7eba11113b37e8ba4edac90c8150a588be05df0bdd35e5f8054940 SHA512 03edacd97dca7caafec2fa05a3f590bc2dcf152f3f5cd8a4dd83bd295183bca2e6f9c9d65c3872768404ea9e97bae57351b76d881a235f1ef7ef0cc3414ec63b
EBUILD openjdk-13.0.4_p01.ebuild 7821 BLAKE2B b1c3bb3d149db239e9f2bd8c30a8dafeae343ba5775d826db63949458c1c4099abcf38976bd5f66bec11a460f2720efe8c39d4d7c60399b70541678f2ee1ddb9 SHA512 b8217a7dd1308e68716ccf42cc1c1ba325e0390be22dc062eeddba06315c58d081f770df7afe10764e05242fc07313ab2939214094a9225c0ae9995c84803807
EBUILD openjdk-14.0.2_p01.ebuild 8298 BLAKE2B 50baebff02087e9572ba0f9b66c7063276f987d911e5f4a6e971132303d776f2070a37b718bd3167f0f93ffff6630a4429d0af10097e5f5c368a554c126a4076 SHA512 d65621ab03b6b1854528b8abfe185f5a2d658d9abe19b22bb61a0e9507a6a82a1a0046b4e803d03a30191bde8d6cd5994e36bed8d11d5c0a23cf966d14353c20
EBUILD openjdk-14.0.2_p01.ebuild 7821 BLAKE2B b1c3bb3d149db239e9f2bd8c30a8dafeae343ba5775d826db63949458c1c4099abcf38976bd5f66bec11a460f2720efe8c39d4d7c60399b70541678f2ee1ddb9 SHA512 b8217a7dd1308e68716ccf42cc1c1ba325e0390be22dc062eeddba06315c58d081f770df7afe10764e05242fc07313ab2939214094a9225c0ae9995c84803807
EBUILD openjdk-15.0.0_p36.ebuild 8530 BLAKE2B 87603ce71c6074b1037066ce698fb28e2f8052641c895c72c321e65c7809ba9e969fa79794b3cb2d0fba959d1e9c57d03b54cd4c34fc062cbc6965233e1a14d9 SHA512 ad08ad88bf287d94f2617fd2f73e5dbc678791a67b273532155c181393dffa587e48cfcdaef95c99b7f5c6d82e7dc4cc64c123771dee4d2daa3554dc9b55c86f
EBUILD openjdk-16.0.0_p36.ebuild 8348 BLAKE2B 9bb4fbde967017709c252ccae3bab0d308f4189456218e29960f3b0e2b31fb7e3569915f5c932f6c294417bc08aed64ca9f7de9fb3f6bb97c92541d4962e1148 SHA512 544c2b996b79aee0c08fa4a985076f7965d803f1ebf3de95e295c1c35c6c0c707a4d5152559b838696321809e270c65a4a8d78a813c9ea99dc52b75bf3f56e17
EBUILD openjdk-17.0.0_p35.ebuild 8350 BLAKE2B 7dd8c922cb389cfd95aafe140692cb267cfca39b3a3634058605cc9bacd822fb4ba8d4bf1242c18de311d9d310e544d074db821ecfc8e3a5335082e3be083228 SHA512 36ebe391d81a1cb9abe0ba2dcc8645d808bb18745e316857dbd219aee3533a7c7b2d69785686907cc9ffae6725ced7adac81eca8f43aa907c54605cdb3007403

View File

@ -1,10 +1,16 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit autotools check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
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="${PV%_p*}-ga"
@ -12,12 +18,14 @@ SLOT="${MY_PV%%[.+]*}"
DESCRIPTION="Open source implementation of the Java programming language"
HOMEPAGE="https://openjdk.java.net"
SRC_URI="https://hg.${PN}.java.net/jdk-updates/jdk${SLOT}u/archive/jdk-${MY_PV}.tar.bz2 -> ${P}.tar.bz2"
SRC_URI="
https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-> ${P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="amd64 ~arm arm64 ~ppc64"
IUSE="alsa cups debug doc examples gentoo-vm headless-awt javafx pch selinux source systemtap"
IUSE="alsa cups debug doc examples headless-awt javafx lto selinux source systemtap"
COMMON_DEPEND="
media-libs/freetype:2=
@ -63,9 +71,7 @@ DEPEND="
x11-libs/libXtst
javafx? ( dev-java/openjfx:${SLOT}= )
|| (
dev-java/openjdk-bin:${SLOT}
dev-java/openjdk:${SLOT}
dev-java/openjdk-bin:$((SLOT-1))
dev-java/openjdk:$((SLOT-1))
)
"
@ -89,7 +95,7 @@ openjdk_check_requirements() {
pkg_pretend() {
openjdk_check_requirements
if [[ ${MERGE_TYPE} != binary ]]; then
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}"
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
fi
}
@ -97,37 +103,16 @@ pkg_setup() {
openjdk_check_requirements
java-vm-2_pkg_setup
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} openjdk-$((SLOT-1)) openjdk-bin-$((SLOT-1))"
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-$((SLOT-1))"
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 ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
java-pkg-2_pkg_setup
return
fi
done
if has_version --host-root dev-java/openjdk:${SLOT}; then
export JDK_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
else
if [[ ${MERGE_TYPE} != "binary" ]]; then
JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
JDK_HOME=${JDK_HOME#*/}
JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
export JDK_HOME
fi
fi
}
src_prepare() {
@ -156,8 +141,17 @@ src_configure() {
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
# Work around -fno-common ( GCC10 default ), bug #713180
append-flags -fcommon
# GCC 10 fixes
append-flags -fno-delete-null-pointer-checks -fno-lifetime-dse -fcommon
# Strip some flags users may set, but should not. #818502
filter-flags -fexceptions
# Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
# https://bugs.gentoo.org/833097
# https://bugs.gentoo.org/833098
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
@ -165,15 +159,17 @@ src_configure() {
local myconf=(
--disable-ccache
--disable-precompiled-headers
--enable-full-docs=no
--with-boot-jdk="${JDK_HOME}"
--with-extra-cflags="${CFLAGS}"
--with-extra-cxxflags="${CXXFLAGS}"
--with-extra-ldflags="${LDFLAGS}"
--with-giflib=system
--with-lcms=system
--with-libjpeg=system
--with-libpng=system
--with-freetype="${XPAK_BOOTSTRAP:-system}"
--with-giflib="${XPAK_BOOTSTRAP:-system}"
--with-lcms="${XPAK_BOOTSTRAP:-system}"
--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
--with-libpng="${XPAK_BOOTSTRAP:-system}"
--with-native-debug-symbols=$(usex debug internal none)
--with-vendor-name="Gentoo"
--with-vendor-url="https://gentoo.org"
@ -183,14 +179,21 @@ src_configure() {
--with-version-pre=""
--with-version-string="${PV%_p*}"
--with-version-build="${PV#*_p}"
--with-zlib=system
--disable-warnings-as-errors
--with-zlib="${XPAK_BOOTSTRAP:-system}"
--enable-dtrace=$(usex systemtap yes no)
--enable-headless-only=$(usex headless-awt yes no)
$(tc-is-clang && echo "--with-toolchain-type=clang")
)
use lto && myconf+=( --with-jvm-features=link-time-opt )
if use javafx; then
local zip="${EROOT%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
# this is not useful for users, just for upstream developers
# build system compares mesa version in md file
# https://bugs.gentoo.org/822612
export LEGAL_EXCLUDES=mesa3d.md
local zip="${EPREFIX%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
myconf+=( --with-import-modules="${zip}" )
else
@ -198,13 +201,6 @@ src_configure() {
fi
fi
# PaX breaks pch, bug #601016
if use pch && ! host-is-pax; then
myconf+=( --enable-precompiled-headers )
else
myconf+=( --disable-precompiled-headers )
fi
(
unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
CFLAGS= CXXFLAGS= LDFLAGS= \
@ -214,9 +210,15 @@ src_configure() {
}
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
ALL_NAMED_TESTS= # Build error
$(usex doc docs '')
product-images
@ -226,7 +228,7 @@ src_compile() {
src_install() {
local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
local ddest="${ED}${dest#/}"
local ddest="${ED}/${dest#/}"
cd "${S}"/build/*-release/images/jdk || die
@ -254,7 +256,7 @@ src_install() {
dodir "${dest}"
cp -pPR * "${ddest}" || die
dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
dosym8 ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
# must be done before running itself
java-vm_set-pax-markings "${ddest}"
@ -262,29 +264,17 @@ src_install() {
einfo "Creating the Class Data Sharing archives and disabling usage tracking"
"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.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}"
dosym8 ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
pkg_postinst() {
java-vm-2_pkg_postinst
if use gentoo-vm ; then
ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
ewarn "recognised by the system. This will almost certainly break"
ewarn "many java ebuilds as they are not ready for openjdk-11"
else
ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
ewarn "will not be recognised by the system. For example, simply calling"
ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
ewarn "fully supports Java ${SLOT}. This JDK must therefore be invoked using its"
ewarn "absolute location under ${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}."
fi
}