Switch openjdk:13 sources to github.

This commit is contained in:
Andrius Štikonas 2024-03-02 13:34:24 +00:00
parent 91ef0c93c3
commit 9007d665cc
4 changed files with 59 additions and 71 deletions

View File

@ -1,7 +1,7 @@
## Bootstrapping OpenJDK 8
```sh
sudo emerge -a1 =dev-java/openjdk-8.272_p10::gentoo-bootstrap
sudo emerge -a1 dev-java/openjdk:8::gentoo-bootstrap
sudo emerge -av dev-java/openjdk:8
sudo emerge -a --depclean # Remove old software that was used for bootstrapping
```
@ -9,14 +9,14 @@ sudo emerge -a --depclean # Remove old software that was used for bootstrapping
Notes:
1. you need to do it in two steps as currently ant-core:bootstrap is not co-installable
with ant-core:0 from the Gentoo tree.
2. Last tested on GCC 12. New versions of GCC are known to occasionally break builds
2. Last tested on GCC 13. New versions of GCC are known to occasionally break builds
and might need additional patches.
## Bootstrapping OpenJDK 17
```sh
sudo emerge -a1v =dev-java/openjdk-17.0.0_p35
sudo emerge -a1v dev-java/openjdk:17::gentoo-bootstrap
```
At this point you can remove this overlay and install OpenJDK from main tree:
```sh
@ -43,7 +43,7 @@ and subsequent OpenJDK versions.
We use `mrustc` to build rustc-1.54 and then we build each subsequent rustc version until
we reach up to date rustc.
mrustc is ocasionally broken on some versions of GCC. Last tested with GCC 12.2.1.
mrustc is ocasionally broken on some versions of GCC. Last tested with GCC 13.
## Bootstrapping go

View File

@ -78,7 +78,7 @@ DIST openjdk-10.0.2_p13.tar.gz 111178953 BLAKE2B c5572768ce068048afb106ab17e23d8
DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45
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 107539608 BLAKE2B b6887819aa2cb7c90be019fa0a7b11c6e65f2f307e36062ef95f38ec85b279ad55bdfd398343405b834ce59e56249bf2653856265752c3e00fdb94fa230c02a9 SHA512 c5c1a961be02f9cd5eac8b7ce0d28024e6b7aa55ec45fb9bb2b62d8b4c2eec874098e74dbb4d19fb8525b097900f91eb900e5309bebeb4297f168f92321a0918
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-15.0.0_p36.tar.gz 101812870 BLAKE2B 1028ab04825941452b603998f05e2a7e419931979a19855f6ea6c1578c331704ac19ae77043a4f44b2f5d9d481b9a9eaad6c3e3eec9154789d54980ba0295bb7 SHA512 c08d2818de06569278b67954556221ed7c6ab6848ffc57823b789f370ebdd332d2803979a5a254e8f9f669ea161bb479f66ad4e1490b37889d38233b6cca4357
DIST openjdk-16.0.0_p36.tar.gz 104327489 BLAKE2B 7d20f72000155829cf5c36c430bde5ce7d22000b363583da25de9bc7b070b601141ad49b11f3505a344baea36ea846936e148e80c1fadf6e4ace53582f92480c SHA512 082d8a7fdc3f096fdc843869af7d43aa1eb9ac6b0538fbb5f8a0f4d942051a90e49932b30f3d2c3620845fb98373097e509a8432d16f1d44742f44286dccb46d
@ -91,8 +91,8 @@ DIST openjdk-8.272_p10.tar.gz 87119338 BLAKE2B 71ba8cc5c76d71047a555357e51789def
DIST openjdk-9.0.4_p12.tar.gz 110286927 BLAKE2B 50bfd023b11d2af6b3a0282e861c55d6b355134e3091e3f019beeff0b943f8894b8f0a173ea6c17a54b38efe409c786371c17d1073576d3e04d3919ccd2f6987 SHA512 999e7b726941db7ecbefb9d1d7b113fe39bd3b62e71b4250031bb24c056bc8cdb39ab30e930c8d8977c871ec1faaf6e489d61ceecf44ecc1245040f663400b22
EBUILD openjdk-10.0.2_p13.ebuild 8787 BLAKE2B a2f498ff8bbe49267980dd55df4249df869c04b9fec4156c15d924ead43fb53f541ed39677db8aab68efcd9b43cc3e7adbe0a84e682a693d3d645c2bd2b19b10 SHA512 77bcd7cce94ee747f13d1774d5f8f696a1cc9af9c35f4c1b62bbae300e33b6c29324da6808e170526b71bf22fc838c59d3798386333b589a6960bd2e7bdb04a7
EBUILD openjdk-11.0.20.1_p1.ebuild 7685 BLAKE2B 8a20baa3fd625ee50d83e7906708ec64473d71896c6579e7031d2f6a3dfc988e252fc7fa89b06d9a5378000a873c7b24a2e2cd6f23f43163f494762697982407 SHA512 8bfc8559c014fb519632f2130f5f0ae0563df0df8c8c6a0d27ebdbc5284ed2f1a3561b291a06d23a15395aa56c7c40e5636851ecf7d690e614408f1341186880
EBUILD openjdk-12.0.2_p01.ebuild 8043 BLAKE2B 9819975f03a038fe59f1ec1cbe904d79f8a3e523d7770104889dd78f1d164141a554d23f99f8093a9788aaf1b173b6915e9aba0481cebc5cfe363267e0746bfd SHA512 2ef60bef07beefefb529cc4f049bfacf3bbbbaf9f77a5837495c9a50c54c2cb3450940bb69ef41eeb2e4fd9e28c37e94a8ed519370cf86bd7f5efe4fce0ce060
EBUILD openjdk-13.0.4_p01.ebuild 8296 BLAKE2B 1c1eeda18af3408cb18bdd8854aadba35c248d9ebcc8a3b6a8f84e31cc20d57bd6d4944070050d7ff5b5753c5bcb82d5f6dc9ce2221ec66f4405dcbec200a3fb SHA512 42a2ecc5d0abf65b848029e421af0fd11f82c878d86bc5c592cc28cf5ac90d7d3d0594c46564513333aac0f57021a21a5042cfc7707a777ef383df8eedd5875f
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-15.0.0_p36.ebuild 8530 BLAKE2B 87603ce71c6074b1037066ce698fb28e2f8052641c895c72c321e65c7809ba9e969fa79794b3cb2d0fba959d1e9c57d03b54cd4c34fc062cbc6965233e1a14d9 SHA512 ad08ad88bf287d94f2617fd2f73e5dbc678791a67b273532155c181393dffa587e48cfcdaef95c99b7f5c6d82e7dc4cc64c123771dee4d2daa3554dc9b55c86f
EBUILD openjdk-16.0.0_p36.ebuild 8348 BLAKE2B 9bb4fbde967017709c252ccae3bab0d308f4189456218e29960f3b0e2b31fb7e3569915f5c932f6c294417bc08aed64ca9f7de9fb3f6bb97c92541d4962e1148 SHA512 544c2b996b79aee0c08fa4a985076f7965d803f1ebf3de95e295c1c35c6c0c707a4d5152559b838696321809e270c65a4a8d78a813c9ea99dc52b75bf3f56e17

View File

@ -71,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))
)
"

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.gz -> ${P}.tar.gz"
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
}