diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest index fff1626..572e3e6 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -74,6 +74,7 @@ AUX patches/9/fix-no-such-field-ipv6-error.patch 309 BLAKE2B aa76a8cf41bc902dd91 AUX patches/9/jdk-currency-timebomb.patch 467 BLAKE2B e543e95b184504e54c99eedde0e84e565968b416b810d748f72777cf69b0943e0c2eb96badd89bd4b3ac49b8ddfe5b6e4dc92f3927f5aba138e910b8f1312460 SHA512 b6aff66b2486b94f64607fac86bd33cb85add9b047afeee49a8641e39e6c21f4d28fd5cf6dba33f9db2e41a5cd2c59b4ca4d3ab119d216f655431644d2c3f6ac AUX patches/9/make-4.3.patch 740 BLAKE2B c155e808f69221c6720841c6ce9bb2fb58b413ad2864fd5b5b3e661e57796d75ac5740d2873d9222174045015c8ad96e6b3b966b3361a3a7cd164ad0968552e0 SHA512 8460dde4d40d57254f14e995090bc4255ee7662d18c19f127d56a1d12d53ec56731574a784ed5d68e89aef1133da760f30ae0982389cf1512ccab1d5f62c4b75 AUX patches/9/pointer-comparison.patch 1162 BLAKE2B 048b67bfe50d658bb0e4756b66a307fb680d0e1c6f18458eff3a666334f5d94425138ba343907247b284402f47d78a6fc85df5aa6381ad78b3d7a7e116d822c7 SHA512 8d92d8be4a3a0227d602b99e581f05a16f54ad633111abf3355bd933db344c726e22e285b33f936d6e70c7da9087bc113477aba78554f37b273a70e784aaca5a +DIST java17-riscv64.patch 2253475 BLAKE2B a10a257f0b8bf590cdc011cf0c5af4854d49d6bbdf68dd74b2f996b70e0ecdd2b87bc4a02394f67ded5e664efb41f8dd03bb312fbfcffd84c289afdcbf7868de SHA512 06230b121e1f28189877025a4eab99e6d8cba176a17c88f073498fec6c73ab26130ce1500ea4f83235cc6abbc1742e47b227d60b5ff77465740048abdc52d165 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 @@ -82,7 +83,7 @@ DIST openjdk-13.0.4_p01.tar.gz 108833418 BLAKE2B fbe756d5b3f6b3e4fa6aede34015e38 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 +DIST openjdk-17.0.8.1_p1.tar.gz 105878760 BLAKE2B e4d752dc87717855bfe4bd84c97056f0d93b554c67bdbb3e750e20479e2156628c85aea7b404577ea6ff40d49669d5f53aab06d0c4cf9aa926b060a0cd93cd03 SHA512 0d8e9e54173be855c15d121d4d6cd36996700e1e2fb194ad93ba8ad794a342c87b7d2f81a32d0bb215e45f1dc1f4efdfe1be5e8de99395730902d443ac773813 DIST openjdk-18.0.2_p05.tar.gz 105481285 BLAKE2B afa72940dd0a90b4c71465f540b94d3409d3f1f4b6b1b98f1c0afb9f196b327bdbe780348276b8dd381bb9edf9fe6b3cf2edaac3c364f981e181e145a9789132 SHA512 2ceac9ed85a65725615caa769e92eea89a12e52e424b3aae45d6b4a152126296f7746d43a9185ced69c9c9ec1e1528c306f26a057b430640bdfdafe423a8c842 DIST openjdk-19.0.2_p07.tar.gz 108190694 BLAKE2B e45ab5339240ae965f780b931895473020f10d86f76bbb65897df9c24a49b75da3de552adecb7d82440931cc2e0a300e49003d57082bc643fad0717eb9256b9b SHA512 55a9c421ddc676a870effd2ea691057af8b2a9dcaed63c350f8ec59bbe403b0a7ebe303aca876666560050875a15f6cdb51bb144daf5bb441fad935ef4ee8cda DIST openjdk-20.0.2_p09.tar.gz 109625812 BLAKE2B ea3e9e306c2a5e1593977095db7c775d2925b5daa088e940cb2cdfb6c386878f0004cb7c2cd63ee0097286c19abbf3041ff8e70af526f9389217379aa397509a SHA512 77b46f43318288c7923cc63522410872df5b191af1ecd65d9fe0cb587be18bfdb370c7859476356f2e4ed5ed6d9c099542d7dca3fb948bed3a9674f95ba63237 @@ -90,13 +91,13 @@ DIST openjdk-21.0.0_p35.tar.gz 112178860 BLAKE2B 03a81df4c2e16194c66299109e70a61 DIST openjdk-8.272_p10.tar.gz 87119338 BLAKE2B 71ba8cc5c76d71047a555357e51789defaab7a316185aadb05a4666e64dc780cfe193aa754176891ce63c05fd64885d654c8328389822b5e7de82027b0b9a88e SHA512 e0d16cde4668dc006aaf9bdc6e7dfdc1685e3c4d6e0b8e07dc01300dd953251b84e8cc4fe96116ea26f2acae0166c65bf9944c689a34f4c268e7e15836023755 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-11.0.20.1_p1.ebuild 7508 BLAKE2B 396ab6eb130d65161676f1efaf38ffd609911f1c172f5edc58603a64a430f1f9809aec54b9f38f4234028748b9952225420d9f402dc12d87394141b1f9a8bfba SHA512 b72497858a0b913013c5361fa9bc519d60b6395afd2559e379bf0473cd12e1b772da28b594753bb25c5bacc71ce33cd76767b57b84ccdb78065274a400dcc0d0 EBUILD openjdk-12.0.2_p01.ebuild 7965 BLAKE2B 99233fd3334fddfac2db7bc69da0a340b48b188ed48f095107ad35d987af657cba52e3e82674b881cede439eee9afff6ef486fb5f92a223718dc24f3cf8173df SHA512 ef16302b26ccc4931808c53cc2acf100c7f2cc9c61910b97897497b698e07006cb469fbdaf89daf19eb3d6eca8d83855bfa04b96c1558fffdcab5a861525b143 EBUILD openjdk-13.0.4_p01.ebuild 7809 BLAKE2B a9f4c1ab2535cada4ef40d2ad846dc0f73374be6dbed25c0435730fedace7e5fd669baf0da9d6fe07ff520e9780e0b416072ab19981ecfc6b3bc33b360a1aeb6 SHA512 90f91a8b23fd51fbcc0083f8a297b4904aed4d6508f2866b81b7c69f5dadb8f6d75e98afcc0b3b014ac9d68d845a3c5182f1042814e7acafecf87a3f27335086 EBUILD openjdk-14.0.2_p01.ebuild 7809 BLAKE2B a9f4c1ab2535cada4ef40d2ad846dc0f73374be6dbed25c0435730fedace7e5fd669baf0da9d6fe07ff520e9780e0b416072ab19981ecfc6b3bc33b360a1aeb6 SHA512 90f91a8b23fd51fbcc0083f8a297b4904aed4d6508f2866b81b7c69f5dadb8f6d75e98afcc0b3b014ac9d68d845a3c5182f1042814e7acafecf87a3f27335086 EBUILD openjdk-15.0.0_p36.ebuild 7548 BLAKE2B eb9c422ad17ede9206a728efdd892f49fd305aa8a584ff8d8a00c7b1cf86fff9976c9b81023690e916cdf3c7e373f96061f28ab49324df9b63685b5de63bf5e0 SHA512 ba62cd8691c2561ebf1b1d1e597052f123ec21b88e2f36ad0c5ca707720ff4b0a30751cd871947d8d23c6febe2f3a297695227a1c28a9c5936317114c3a0fb56 EBUILD openjdk-16.0.0_p36.ebuild 7021 BLAKE2B 75858939c91bbb9e5b32a900752d8850fbf6aede50347fa1f82d1775dffe7614e601c6dbce172d470bb7ee074f031fa8a82c5b4094d3f7bae54113d2ef22198a SHA512 82c46f8f9bacad7f4d9144cf5cfef55a335aa6cb9c857042f5587ca2aefabf7ff4305416279f4bb6ec9827acfe595537e5dfe3f1ba327f02c94215f937447e9b -EBUILD openjdk-17.0.0_p35.ebuild 8350 BLAKE2B 7dd8c922cb389cfd95aafe140692cb267cfca39b3a3634058605cc9bacd822fb4ba8d4bf1242c18de311d9d310e544d074db821ecfc8e3a5335082e3be083228 SHA512 36ebe391d81a1cb9abe0ba2dcc8645d808bb18745e316857dbd219aee3533a7c7b2d69785686907cc9ffae6725ced7adac81eca8f43aa907c54605cdb3007403 +EBUILD openjdk-17.0.8.1_p1.ebuild 7920 BLAKE2B a459a2310c6d57f12339b1f6188c9193e179e1f80add29e6970ea4ca2c357eccada1ecdac10d961554a7d1d88e66c8de93b1c60ba33e3d5d7ec94a3e05887984 SHA512 36d245a72892177ac34cc5ad8f7622ad5c2bdda5df466ae76530e39507601a012c80b05843285dcd9931489505612e235cb54db9d35d9b9ba04f7df5e545143c EBUILD openjdk-18.0.2_p05.ebuild 8349 BLAKE2B 40c766352be5104b3448a5ea506b9f236cf36dbbdf825bc93578c7830c3d340f83eb5dade233d4a0c3892a83d3d1ce0ec925c73e82241d5006544f51597f5624 SHA512 1c9641916ce24dfa6ece0908e971504f53e2f9eb6147bc6279b4e03c19857036063e2b9c61550c6cf010bf447ed2b4819cde170f9abb1ed38c691d625f285a2d EBUILD openjdk-19.0.2_p07.ebuild 8349 BLAKE2B 40c766352be5104b3448a5ea506b9f236cf36dbbdf825bc93578c7830c3d340f83eb5dade233d4a0c3892a83d3d1ce0ec925c73e82241d5006544f51597f5624 SHA512 1c9641916ce24dfa6ece0908e971504f53e2f9eb6147bc6279b4e03c19857036063e2b9c61550c6cf010bf447ed2b4819cde170f9abb1ed38c691d625f285a2d EBUILD openjdk-20.0.2_p09.ebuild 8349 BLAKE2B 40c766352be5104b3448a5ea506b9f236cf36dbbdf825bc93578c7830c3d340f83eb5dade233d4a0c3892a83d3d1ce0ec925c73e82241d5006544f51597f5624 SHA512 1c9641916ce24dfa6ece0908e971504f53e2f9eb6147bc6279b4e03c19857036063e2b9c61550c6cf010bf447ed2b4819cde170f9abb1ed38c691d625f285a2d diff --git a/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild b/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild index fd04dd8..9d2e159 100644 --- a/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild +++ b/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild @@ -16,11 +16,6 @@ inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing MY_PV="${PV%_p*}-ga" SLOT="${MY_PV%%[.+]*}" -# variable name format: _XPAK -PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball -RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball -X86_XPAK="11.0.13_p8" - DESCRIPTION="Open source implementation of the Java programming language" HOMEPAGE="https://openjdk.org" SRC_URI=" diff --git a/dev-java/openjdk/openjdk-17.0.0_p35.ebuild b/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild similarity index 61% rename from dev-java/openjdk/openjdk-17.0.0_p35.ebuild rename to dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild index a7a81a3..a470e5a 100644 --- a/dev-java/openjdk/openjdk-17.0.0_p35.ebuild +++ b/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild @@ -1,39 +1,47 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 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 eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs -MY_PV="${PV/_p/+}" -FULL_VERSION="${PV%_p*}" -SLOT=$(get_major_version) -# First release of major jdk releases do not contain u at end jdk. -# so 15.0.0 would fetch jdk-15-ga.tar.gz from jdk15, 15.0.1 jdk-15.0.1-ga.tar.gz from jdk15u -if [ $(get_after_major_version $FULL_VERSION) = "0.0" ]; then - SRC_URI="https://github.com/openjdk/jdk${SLOT}/archive/jdk-${SLOT}-ga.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/jdk${SLOT}-jdk-${SLOT}-ga" -else - SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/jdk-${FULL_VERSION}-ga.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/jdk${SLOT}u-jdk-${FULL_VERSION}-ga" -fi +# 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" +SLOT="${MY_PV%%[.+]*}" DESCRIPTION="Open source implementation of the Java programming language" -HOMEPAGE="https://openjdk.java.net" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch ) +" +# riscv patch origin: +# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch -LICENSE="GPL-2" -KEYWORDS="amd64 ~arm arm64 ~ppc64" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86" -IUSE="alsa cups debug doc examples gentoo-vm headless-awt javafx pch selinux source systemtap" +IUSE="alsa big-endian cups debug doc examples headless-awt javafx lto selinux source systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) +" COMMON_DEPEND=" media-libs/freetype:2= media-libs/giflib:0/7 + media-libs/harfbuzz:= media-libs/libpng:0= media-libs/lcms:2= sys-libs/zlib - virtual/jpeg:0= - systemtap? ( dev-util/systemtap ) + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) " # Many libs are required to build, but not to run, make is possible to remove @@ -70,14 +78,12 @@ 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)) + dev-java/openjdk:${SLOT} ) " -REQUIRED_USE="javafx? ( alsa !headless-awt )" +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" # The space required to build varies wildly depending on USE flags, # ranging from 2GB to 16GB. This function is certainly not exact but @@ -94,7 +100,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 } @@ -102,7 +108,9 @@ 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))" + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-$((SLOT-1))" JAVA_PKG_WANT_SOURCE="${SLOT}" JAVA_PKG_WANT_TARGET="${SLOT}" @@ -116,36 +124,16 @@ pkg_setup() { local vm for vm in ${JAVA_PKG_WANT_BUILD_VM}; do - if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then + if [[ -d ${BROOT}/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() { + use riscv && eapply "${DISTDIR}"/java17-riscv64.patch default - - if use elibc_musl ; then - eapply "${FILESDIR}/patches/${SLOT}/1001_ppc64le.patch" - - # this needs libthread_db which is only provided by glibc - # haven't found any way to disable this module so just remove it. - rm -rf "${S}"/src/jdk.hotspot.agent || die "failed to remove HotSpot agent" - fi - chmod +x configure || die } @@ -156,21 +144,34 @@ src_configure() { # Work around -fno-common ( GCC10 default ), bug #713180 append-flags -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 # graphviz are detected. pandoc has loads of dependencies anyway. local 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-giflib=system - --with-lcms=system - --with-libjpeg=system - --with-libpng=system + --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-native-debug-symbols=$(usex debug internal none) --with-vendor-name="Gentoo" --with-vendor-url="https://gentoo.org" @@ -180,15 +181,18 @@ src_configure() { --with-version-pre="" --with-version-string="${PV%_p*}" --with-version-build="${PV#*_p}" - --with-zlib=system - --disable-warnings-as-errors - --enable-dtrace=$(usex systemtap yes no) + --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" ) + + use lto && myconf+=( --with-jvm-features=link-time-opt ) + if use javafx; then - local zip="${EPREFIX%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" if [[ -r ${zip} ]]; then myconf+=( --with-import-modules="${zip}" ) else @@ -196,13 +200,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= \ @@ -212,19 +209,23 @@ 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 - ALL_NAMED_TESTS= # Build error + NICE= # Use PORTAGE_NICENESS, don't adjust further down $(usex doc docs '') - product-images + $(usex jbootstrap bootcycle-images product-images) ) emake "${myemakeargs[@]}" -j1 #nowarn } src_install() { local dest="/usr/$(get_libdir)/${PN}-${SLOT}" - local ddest="${ED}${dest#/}" + local ddest="${ED}/${dest#/}" cd "${S}"/build/*-release/images/jdk || die @@ -252,7 +253,7 @@ src_install() { dodir "${dest}" cp -pPR * "${ddest}" || die - dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts # must be done before running itself java-vm_set-pax-markings "${ddest}" @@ -260,7 +261,7 @@ 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}.env.sh java-vm_revdep-mask java-vm_sandbox-predict /dev/random /proc/self/coredump_filter @@ -273,16 +274,4 @@ src_install() { 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 }