From 91ef0c93c3e42eed88f0df08d848f7b24f038755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 2 Mar 2024 11:31:46 +0000 Subject: [PATCH] Switch openjdk:12 sources to github. --- dev-java/openjdk/Manifest | 4 +- dev-java/openjdk/openjdk-12.0.2_p01.ebuild | 96 +++++++++------------- 2 files changed, 41 insertions(+), 59 deletions(-) diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest index ab3a1e2..1b52133 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -77,7 +77,7 @@ AUX patches/9/pointer-comparison.patch 1162 BLAKE2B 048b67bfe50d658bb0e4756b66a3 DIST openjdk-10.0.2_p13.tar.gz 111178953 BLAKE2B c5572768ce068048afb106ab17e23d8f90bbca1a1d06b71fc1ace7e209088b37df5372b977648716464363c5500af749830a37e647c217f1d6270fd8b6d4a849 SHA512 8d8e47006308d9a794090f1051a4f1fad1eabe609736e9039f29a60a9593d6c415759d607ee4557cceb18d6ce76b30d6d186b9453525fd4a2e6d158848cfd30c 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.bz2 83912905 BLAKE2B cf81872dc9a68758bd46a0c486893321461323872d204028b84c36fdd8f9de54c88bb70d4f0c50b7370f589a424852e74a383dea71e17c227ac740283dd933e4 SHA512 53c66ae9bdc6aa47b05f57845d696edf55c5e5eeb6c7dd6cd46b9a0cfad9864db846ac88e00aefbc86ff9ffa77ab9bcf9cf3c73b7f3b797ad68d9e8609438dd9 +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-14.0.2_p01.tar.bz2 83827689 BLAKE2B acd8a61156800941781a2f4c2d3acc61d7124254ec573b6e4eb45e0e031b4b4403475bec617c4130715b5764982a0d2bf990c07e8593817524093ed7fc86a2c8 SHA512 fb129d2e0f3b007d249073c6a0f20fe9c2917eafbae1c4a6c51126180a70e5debb348c3770a785b54576f2a338cb10fdfbd1fca5879e49f80a4fa5c190338fa9 DIST openjdk-15.0.0_p36.tar.gz 101812870 BLAKE2B 1028ab04825941452b603998f05e2a7e419931979a19855f6ea6c1578c331704ac19ae77043a4f44b2f5d9d481b9a9eaad6c3e3eec9154789d54980ba0295bb7 SHA512 c08d2818de06569278b67954556221ed7c6ab6848ffc57823b789f370ebdd332d2803979a5a254e8f9f669ea161bb479f66ad4e1490b37889d38233b6cca4357 @@ -91,7 +91,7 @@ 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 8827 BLAKE2B 108c522f5b57698485914945e6b4e17e689cb6944441d0e54aef5abfaef897f9b36338cd4af026d6f31b2316bcdc0cc8e70c48ee0e49d86ee779cfdbdfb5615f SHA512 56cec08b9625453c4a7e7c34203a35aa09efe9c146c9dda16fe0f8b02a8133b2b47eeb71dc1a30666b67181982719d69cee99780d201c65bea6770bb0db964a0 +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-14.0.2_p01.ebuild 8298 BLAKE2B 50baebff02087e9572ba0f9b66c7063276f987d911e5f4a6e971132303d776f2070a37b718bd3167f0f93ffff6630a4429d0af10097e5f5c368a554c126a4076 SHA512 d65621ab03b6b1854528b8abfe185f5a2d658d9abe19b22bb61a0e9507a6a82a1a0046b4e803d03a30191bde8d6cd5994e36bed8d11d5c0a23cf966d14353c20 EBUILD openjdk-15.0.0_p36.ebuild 8530 BLAKE2B 87603ce71c6074b1037066ce698fb28e2f8052641c895c72c321e65c7809ba9e969fa79794b3cb2d0fba959d1e9c57d03b54cd4c34fc062cbc6965233e1a14d9 SHA512 ad08ad88bf287d94f2617fd2f73e5dbc678791a67b273532155c181393dffa587e48cfcdaef95c99b7f5c6d82e7dc4cc64c123771dee4d2daa3554dc9b55c86f diff --git a/dev-java/openjdk/openjdk-12.0.2_p01.ebuild b/dev-java/openjdk/openjdk-12.0.2_p01.ebuild index 4e4c204..17190fd 100644 --- a/dev-java/openjdk/openjdk-12.0.2_p01.ebuild +++ b/dev-java/openjdk/openjdk-12.0.2_p01.ebuild @@ -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= @@ -97,37 +105,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() { @@ -166,22 +153,29 @@ src_configure() { # 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 # graphviz are detected. pandoc has loads of dependencies anyway. 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-freetype=system - --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" @@ -191,13 +185,14 @@ 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 # this is not useful for users, just for upstream developers # build system compares mesa version in md file @@ -212,13 +207,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= \ @@ -228,9 +216,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 @@ -240,7 +234,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 @@ -268,7 +262,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}" @@ -276,29 +270,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 }