summaryrefslogtreecommitdiff
path: root/dev-java/openjdk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
commit38423c67c8a23f6a1bc42038193182e2da3116eb (patch)
tree04e2cf4bd43601b77daa79fe654e409187093c5e /dev-java/openjdk
parent623ee73d661e5ed8475cb264511f683407d87365 (diff)
gentoo resync : 25.04.2020
Diffstat (limited to 'dev-java/openjdk')
-rw-r--r--dev-java/openjdk/Manifest12
-rw-r--r--dev-java/openjdk/files/openjdk-11.0.7_p10-sigsegv.patch55
-rw-r--r--dev-java/openjdk/openjdk-11.0.7_p10.ebuild278
-rw-r--r--dev-java/openjdk/openjdk-8.252_p09.ebuild224
4 files changed, 569 insertions, 0 deletions
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index d01db0888f96..427554fa4c03 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -1,16 +1,28 @@
AUX generate-cacerts.pl 11051 BLAKE2B e6d54319153735bd4b445581dfbd2b78e2e27a19f3b8a78d2fe6912efa207d133fa550652295648bc0bd1370956f71374d4b42de71776fa253f44d4e9dff2527 SHA512 22d1be675362c09ed61af4dc3ece14cab81e9514937d588ff5d324e61b7eba7d3dd99b26bc5ec0953365de56d099f708b2afdb13cca37bc4ff07fd8ce31fbe97
AUX openjdk-11-make43.patch 595 BLAKE2B b33a6e4979b8a37451ca2bcf09dc11bdc180d480a43ab4b3aa1f649bf1b90395cdb089fbcbc586f8b72127c9df8999f75a118e19444f7ed8c95990f8b7ed5410 SHA512 b4ca872d9f304c6f794a326d9cce387e08352e47923fcae7a9a8328d095d24822bbf6e2811a19c5e5c83d1981687eb7da1b11c791710350f396af0493f140318
+AUX openjdk-11.0.7_p10-sigsegv.patch 2639 BLAKE2B 70750a312fbacabc7e7131d135347864fc1807f397278e614427d1ef7c401c8020aa762bfea996307f24137fab09b44c6d2478e8e4bd548401bc9856a2e74859 SHA512 94babc6fd566f366ad3531b18512c06b6d79003d3692490158f9c2a3f9ed83dfe2ffd472999a3a4f00044ce1c4fa0c950bfb147ede7b9edce758c013820835bc
AUX openjdk-11.env.sh 537 BLAKE2B 404aeaf3d4df54b66193b8e09521ad2e55a23dc0603beea9911e4c91ab96e30c0f4aa4a0e96b1982874e055af3b9923689657b58dc02b37f91163659343ed2f9 SHA512 f4a41891b0187048a21b1af43053375e62de249e3ba210c3cfd59178c9f4c667ff83f10ee85f9ae37db097e862ff7233f5136569d0cb1399dbf48cea075cfc6e
AUX openjdk-8.env.sh 746 BLAKE2B b8a18bb5e2dd3c4722b78531428d4291236a6295973fdcd65c64469b3a49a520686ff8d884c0b3d5dd9017ff4027d2fc1d78d57f062a4cf8910e0bab3ed444cc SHA512 2c65d1875406deabbfadb798501de15850775a4a049f073cdfda684ca1bff4b531b93596ee91a7caf77ff6c377457093f72c7bde4b995bce9ffbc4a8fcceb6dd
DIST openjdk-11.0.6.tar.bz2 90755968 BLAKE2B 5bf23cc107ffae4cfc82be4f9b4b17de57575ee13e8fd461027e319a441c89c65fc852affb89f98a54307fa865ed5cdfb216809c6196866b31dfaa7011ad3d57 SHA512 d2296556c947c46883c16df3c1b7d809e6987dd6fd1a2667333e1245049560f3da744f6a51609a918cd9c509316b01160de2c080d5b9d3ed1af0b312dcbc575e
+DIST openjdk-11.0.7_p10.tar.bz2 91317054 BLAKE2B 113f6d0b1ea97aa6c3a619a3f4183b72f5e0448422d17b6ffc4d778ce50eee68e4495d610845d1f3aace2e5660703dad96583203c6d12b5528e0f33f78df7cec SHA512 c6776bd05e2cbb42134ccf5cd522e4b73d1662e3cf136a8718c5d302b9c44e76b74a554b81aa14c5deda20bee76abc80a144f5c2e1941b70c9503579c325aa12
DIST openjdk-8.242.tar.bz2 452896 BLAKE2B 73176533ad62942f9a9547378aa5547a5f064076d24be527d0fb8b13c30a48680957bca731ee54771cae66e78f8800995426431ec266f0c61330a573efaacc23 SHA512 2a98dcead63b8e5dc6db841416b16c12a84f557c8efa6272bc4dc125333de1e20ab83050d1ee441a77f78b47b2c52dbc7d29810ce562218129eff29a5c79daca
+DIST openjdk-8.252_p09.tar.bz2 454656 BLAKE2B 7132af72a09da9ded1759ccf92da6237a24e3fd15209b8d5aecb7011b890cd3484b4724f6b6a144e4bc5cb41931076985f75a9089c178938be62ac1a1d2a7f07 SHA512 0f03f1549dea1577cb01895d4e34721d16443977c5e7b3f0744af9cf2c0b09e60cb6d91b35a5e474c593d518d5610fb4c14fc4b9a907a7e13bb2351cea51bd06
DIST openjdk-corba-8.242.tar.bz2 1033721 BLAKE2B 5e0cee4d5b8faa0e940ed096f807ef231ce7c10b180ac89d5faf9ae276bab1044ca1ae6e826490e9d66f17ebd55026c17e7675a62dd4bf633cecfa3390944f97 SHA512 cf2cefcb590b7a1c637b709ce9f59c56a5354f90a3095726c3168962f4808ccb27a82909234343f510ad90dda56b83c934fa9ccb788ddf0f66e60c65b06d8e84
+DIST openjdk-corba-8.252_p09.tar.bz2 1034367 BLAKE2B d281a0b2e092c637adae4a206ac4b3f7beeb65f0fce5862f996ac71a814c5c3ee3261dd1145660cb50fde0398e42ca1e8c86d6aad07e43b44aa1f903c204b21c SHA512 08f348849eeadefee3dce9658b519091a14b9f972a1ee1dc51c37a3cd766e5265faed1931b967410ebff2132dd18cedf8840277d804b402ee43a862e37575ab1
DIST openjdk-hotspot-8.242.tar.bz2 7953409 BLAKE2B 84ddc5bc00bca06c821219189ef19cd88cf0c5e9e43301b0fc654e1a31c68af0d7cab32d5ffedeb10b5593c3e8a846fc308076ffdc3292e0622a504650dfad56 SHA512 c67c7dd81e37b7e5ed43b0a720240ae55ebf7c31e58ebc1fc20cebb1bbecc91cda575a508ebe907d6ad21bad149596bcd913a24108c50fe2c26767910b5fe570
+DIST openjdk-hotspot-8.252_p09.tar.bz2 7954548 BLAKE2B a791d3c3385be3c8543bea1fc8d5bee9b3de873122ec850c3ad0082430083ec9dff2aa7c0cae33e628047a18a76fca8146b68aa52f32845cf7a61a45fdc8d9eb SHA512 53079cc255f75f246a67937bdf2b7715882f9baf8bcbc46ab2963c259359b1008642aeeae7ba7705c39f7a04e69ba286421a83b90294e81071f8e630db48ba7c
DIST openjdk-jaxp-8.242.tar.bz2 2735931 BLAKE2B b8106b903000ef0b920b3a1228eda06bfaeb073138a2d0a5193f8258f285d0f7044b93d2ef3c7e9c28bb9a39c964475f8dfcbe012d49d4c2b7a1a7c5d6fb4906 SHA512 2c2148aba457c7fe6f2cdba444ef730d7d6bb91604327bf6c465f549acb768a711e4482d79db1848f9495c84ac650f42c48989bee47537c1be065e3204115896
+DIST openjdk-jaxp-8.252_p09.tar.bz2 2736174 BLAKE2B c198f144be7d0e7439e2184768db8649973f9e6869e67d3a950abd4872584160f4aaec1f4bec727f0d38830d34a4be7bd2f3e897b8ca10c758212262fa1672c3 SHA512 8027676e2928087a7d396c4f1edd3366336aaf8e3f201e2006cb7ddf91e518c9258d7ab6cc1c4fcc27e3e87bcecd96c55b2550d49f28b98beabf7553ea54ba3f
DIST openjdk-jaxws-8.242.tar.bz2 2541712 BLAKE2B 020f47e5e9f9fed3d3dd506703ccc58bf04f696a093013e3e9eecf6e8a842ffe51d24188d204c9a84bc32157094e8ed2701beab8bfa2e6cad100ee093fa15107 SHA512 b0cce73a84887d35906a73006f36ef0913bcaf1fc27dc58e8873c95ee3b125b5bd977c23619f0a4f2489493776d4818d380ad1f126c62f325e2b155f6fc10dbf
+DIST openjdk-jaxws-8.252_p09.tar.bz2 2542417 BLAKE2B cf898e0c56269ea1f468c6b9e6cfbdf552caea562f833ade234d207f05be6f39f86d9d6794cc8b365ed3fde4bac5df41949e76cbaef61553f5557ec86dd593e6 SHA512 cadeec8825073db1fea13f1d83903ba2799324cfa8e25012c5dc98ec31976bd91b22526f98fc871d0ee01156943f4fc4ec115f7a81feb10e9f7d96f3f39a9313
DIST openjdk-jdk-8.242.tar.bz2 47256764 BLAKE2B b4fadc09640ce2267d461052bb8e42a7872022675fd8193b4f45ef23d69ab33b0ab95745d01e723a10bb4359055caa94d5113b3c77b97a8ff14191677c5c49c8 SHA512 3796599041134924bb673f06390c7c2fe9c76842ec799338dd02b183a3578f46c93095591f39f60a0c9e106659d6b0abba1ec1a647610b45a0f337f71afa28b8
+DIST openjdk-jdk-8.252_p09.tar.bz2 47507382 BLAKE2B 4638256df52aa48a1ccace15fe65b284cb2a1e3a3c45f32ae69a807ae4bd9b9ce3cf9f464a9b8a87d07c49f2d7c48c8516b43d9d4372f578ad1cd4dfa17abb80 SHA512 96188acc8078c312c7118abfbc39874429f71e63c2e282fef2da9df29731ee13396bda28a8a1041b17b50da4bb00b1fe88404d682b0a850e5db10e59e39994f2
DIST openjdk-langtools-8.242.tar.bz2 2397745 BLAKE2B 94748fa5304217a6354b4de29e80f3642e935a1d6259d11dd23d007e5d7022643a8ffabdf5e12c7c7915a33e7edb263704eb60653dc2253e10aee6ca183fc84e SHA512 820e5828ae74c868f4c548e23ea1e7625e74d3b52fe951afe5a583910405658cd14d3d40b7b5f4bbb87d71439cafb77590ee2fe111fb9ad2f7c8f972d0380e53
+DIST openjdk-langtools-8.252_p09.tar.bz2 2399354 BLAKE2B aa3f0cb647986490612b9574fb0c78955f5ffb8969dbd06dfae5406436d6fecdbbb09896bdb0acc18d56f51bcd4ad1eadb19cc544185762ad623a47fde2e4a85 SHA512 d84ff97294ac612cd4e49deb2d7470026a564208c0e1fa23d5692db45efaaf564483966921ce642506a97aa90a2a8593617f944ebc6d18c9db5a808fd3946864
DIST openjdk-nashorn-8.242.tar.bz2 2856246 BLAKE2B 87343677e79b13baa0181b988f248f1dc1ccd265117e407e5be8d848813322a0e7cc53f5ea50bd7796b06b9c0b07320ca1b0ad8623f690c5bda3a4519656b6d6 SHA512 3f5fb2917fc65c85f007aea7842d0f1fef6c20050ef66a593d7ae25ced38a9eb5f1a4bb3c3d6b9757832a7d450d1cde06f98e383523707d93046e34ee70814c6
+DIST openjdk-nashorn-8.252_p09.tar.bz2 2852104 BLAKE2B 570fbe605ed27c4b3a5db5f6e9dbb4269ad2c895654a989d366a4a6f238ea06fec398140563ca2700303856dfa795ae40dbf9485dd9e9a46ef438f5418fd8b8b SHA512 996e7068d8c6f8ca192e6037eaf7f98ff94188c02670caadf1042e4e0909a3d51835a8cd2250d1f0a8bbdedb107f3713b614466ba4d2915b955e19fdcc2cbb91
EBUILD openjdk-11.0.6.ebuild 7589 BLAKE2B 0365c2bc2a5d6be6c392ff949132deb2fbcbee7b863f2d14c8766f0033a000c090982320e497e2bf63b4b9d6530f25c0a31ea457f1d32c0ad04032849441810c SHA512 f2bed942d39cdb53fc7b982672f00268cf129b489f175548a06b308abf6d7579f56d1ed6815e07f1824aacd4f4a3bce2df401a89690ab66d243db67e71b26d2d
+EBUILD openjdk-11.0.7_p10.ebuild 7787 BLAKE2B 00dddb1c19882b4c8a26313f8ac68691bceb74acc4b004c6e76d3303a92bbc3caf8d61631696162f574ea0d29557b9fa60e123cc81d3158bb9e52d9824e83a2a SHA512 372d046eda1b883fe581ff0cb65763fb31c2b9fea62cdfa609d2375ceff402827f521fbf51835e487bd2d809955572af190866bf9f58da46e300a1d8c27bd9d6
EBUILD openjdk-8.242.ebuild 5793 BLAKE2B e9a48c08b300431ab0d06e82bc9ca723c879e97360885205f4b568034abb86047bf76364095ba494cc1032cbc2e6e8379570141fc64a3d8187411f188c8e81b7 SHA512 a2b4e27fbfb38b175471e9e2b46658953b16a2484cea7b376502c1641bfc1abe0ec1a5be402a9821c160a023d0672284dbd75c6ec27935395ea411bac79c05e8
+EBUILD openjdk-8.252_p09.ebuild 6002 BLAKE2B 15eace8ca5ebd03f01d32074a4530eefa70f00010d1fb8064a153246962e701a4d183ee52db11257d1562e47a2ec02fffe416b98fe42da3e4a19f2b1521f93ee SHA512 853adc5de00ff484cddabcfa52ab7381b513f0472b597041b336bb3b4dca3e165915e0acde6a2b76e64bbedb55cd87a48e366e281c9c2990d9a6f20ed5c46d89
MISC metadata.xml 1398 BLAKE2B 7b99e080f6dc261c94314c7f7a0314ee25b48752ca494dd23d1534c5e8e3f930601262a0316ed674786c5fd960dfbc25dd6c6768cd06325ef45c0b41f920eafc SHA512 1747f484c6f784cb551f0969aab9ca1e6c42509c06b6187b72f3e16861ce3e2e71e131deb1ae6ebe2eda1c768276794cd5a0db7918eb419b9502a3c45bf78959
diff --git a/dev-java/openjdk/files/openjdk-11.0.7_p10-sigsegv.patch b/dev-java/openjdk/files/openjdk-11.0.7_p10-sigsegv.patch
new file mode 100644
index 000000000000..04c61c06589e
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-11.0.7_p10-sigsegv.patch
@@ -0,0 +1,55 @@
+
+# HG changeset patch
+# User ccheung
+# Date 1564075552 25200
+# Node ID f1332f6025515e4fc9e42fbf79f983d782abaaf0
+# Parent 966fc6d784a737ec25cd0b1be48109a4a3fa02ad
+8228407: JVM crashes with shared archive file mismatch
+Summary: Stop processing other header fields if initial header check has failed.
+Reviewed-by: dholmes, jiangli
+
+diff -r 966fc6d784a7 -r f1332f602551 src/hotspot/share/memory/filemap.cpp
+--- a/src/hotspot/share/memory/filemap.cpp Mon Mar 02 12:30:59 2020 +0100
++++ b/src/hotspot/share/memory/filemap.cpp Thu Jul 25 10:25:52 2019 -0700
+@@ -1287,7 +1287,9 @@
+ }
+
+ init_from_file(_fd);
+- if (!validate_header()) {
++ // UseSharedSpaces could be disabled if the checking of some of the header fields in
++ // init_from_file has failed.
++ if (!UseSharedSpaces || !validate_header()) {
+ return false;
+ }
+ return true;
+diff -r 966fc6d784a7 -r f1332f602551 test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java
+--- a/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java Mon Mar 02 12:30:59 2020 +0100
++++ b/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java Thu Jul 25 10:25:52 2019 -0700
+@@ -385,8 +385,16 @@
+ output.shouldNotContain("Checksum verification failed");
+
+ copyFile(orgJsaFile, jsa);
++ // modify _jvm_ident and run with -Xshare:auto
++ System.out.println("\n2b. Corrupt _jvm_ident run with -Xshare:auto\n");
++ modifyJvmIdent();
++ output = TestCommon.execAuto(execArgs);
++ output.shouldContain("The shared archive file was created by a different version or build of HotSpot");
++ output.shouldContain("Hello World");
++
++ copyFile(orgJsaFile, jsa);
+ // modify _magic and _paths_misc_info_size, test should fail
+- System.out.println("\n2b. Corrupt _magic and _paths_misc_info_size, should fail\n");
++ System.out.println("\n2c. Corrupt _magic and _paths_misc_info_size, should fail\n");
+ modifyHeaderIntField(offset_magic, 0x00000000);
+ modifyHeaderIntField(offset_paths_misc_info_size, Integer.MAX_VALUE);
+ output = TestCommon.execCommon(execArgs);
+@@ -395,7 +403,7 @@
+
+ copyFile(orgJsaFile, jsa);
+ // modify _version and _paths_misc_info_size, test should fail
+- System.out.println("\n2c. Corrupt _version and _paths_misc_info_size, should fail\n");
++ System.out.println("\n2d. Corrupt _version and _paths_misc_info_size, should fail\n");
+ modifyHeaderIntField(offset_version, 0x00000000);
+ modifyHeaderIntField(offset_paths_misc_info_size, Integer.MAX_VALUE);
+ output = TestCommon.execCommon(execArgs);
+
diff --git a/dev-java/openjdk/openjdk-11.0.7_p10.ebuild b/dev-java/openjdk/openjdk-11.0.7_p10.ebuild
new file mode 100644
index 000000000000..76d41a4eb082
--- /dev/null
+++ b/dev-java/openjdk/openjdk-11.0.7_p10.ebuild
@@ -0,0 +1,278 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
+
+# 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"
+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"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+
+IUSE="alsa cups debug doc examples gentoo-vm headless-awt javafx +jbootstrap nsplugin +pch selinux source systemtap webstart"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ virtual/jpeg:0=
+ systemtap? ( dev-util/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}= )
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+"
+
+PDEPEND="
+ webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )
+"
+
+REQUIRED_USE="javafx? ( alsa !headless-awt )"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-sigsegv.patch"
+)
+
+# 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
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}"
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ 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 ${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() {
+ default
+ chmod +x configure || die
+}
+
+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
+
+ # 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
+ --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-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=system
+ --enable-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ )
+
+ if use javafx; then
+ local zip="${EROOT%/}/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
+
+ # 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= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}${dest#/}"
+
+ 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 ../../../../../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
+
+ use gentoo-vm && 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}"
+ 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
+}
diff --git a/dev-java/openjdk/openjdk-8.252_p09.ebuild b/dev-java/openjdk/openjdk-8.252_p09.ebuild
new file mode 100644
index 000000000000..1651145e6c0b
--- /dev/null
+++ b/dev-java/openjdk/openjdk-8.252_p09.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs eapi7-ver flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
+
+# we need latest -ga tag from hg, but want to keep build number as well
+# as _p component of the gentoo version string.
+
+MY_PV=$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)
+
+BASE_URI="https://hg.${PN}.java.net/jdk8u/jdk8u"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="
+ ${BASE_URI}/archive/jdk${MY_PV}.tar.bz2 -> ${P}.tar.bz2
+ ${BASE_URI}/corba/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-corba-${PV}.tar.bz2
+ ${BASE_URI}/hotspot/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-hotspot-${PV}.tar.bz2
+ ${BASE_URI}/jaxp/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-jaxp-${PV}.tar.bz2
+ ${BASE_URI}/jaxws/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-jaxws-${PV}.tar.bz2
+ ${BASE_URI}/jdk/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-jdk-${PV}.tar.bz2
+ ${BASE_URI}/langtools/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-langtools-${PV}.tar.bz2
+ ${BASE_URI}/nashorn/archive/jdk${MY_PV}.tar.bz2 -> ${PN}-nashorn-${PV}.tar.bz2
+"
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="alsa debug cups doc examples headless-awt +jbootstrap nsplugin +pch selinux source webstart"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ sys-libs/zlib
+"
+# 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/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/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/icedtea-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ dev-java/icedtea:${SLOT}
+ )
+"
+
+PDEPEND="
+ webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )
+"
+
+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
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex jbootstrap 2 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
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}"
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ java-vm-2_pkg_setup
+ java-pkg-2_pkg_setup
+}
+
+src_prepare() {
+ default
+ chmod +x configure || die
+ local repo
+ for repo in corba hotspot jdk jaxp jaxws langtools nashorn; do
+ ln -s ../"${repo}-jdk${MY_PV}" "${repo}" || die
+ done
+ # new warnings in new gcc https://bugs.gentoo.org/685426
+ sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
+ hotspot/make/linux/makefiles/gcc.make || die
+}
+
+src_configure() {
+ # general build info found here:
+ #https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
+
+ # Work around stack alignment issue, bug #647954.
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Work around -fno-common ( GCC10 default ), bug #706638
+ append-flags -fcommon
+
+ local myconf=(
+ --disable-ccache
+ --enable-unlimited-crypto
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-giflib=system
+ --with-jtreg=no
+ --with-jobs=1
+ --with-num-cores=1
+ --with-update-version="$(ver_cut 2)"
+ --with-build-number="b$(ver_cut 4)"
+ --with-milestone="fcs" # magic variable that means "release version"
+ --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-zlib=system
+ --with-native-debug-symbols=$(usex debug internal none)
+ $(usex headless-awt --disable-headful '')
+ )
+
+ # 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= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images images)
+ )
+ emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED%/}/${dest#/}"
+
+ cd "${S}"/build/*-release/images/j2sdk-image || die
+
+ if ! use alsa; then
+ rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
+ fi
+
+ # stupid build system does not remove that
+ if use headless-awt ; then
+ rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
+ {,jre/}bin/policytool bin/appletviewer || die
+ fi
+
+ if ! use examples ; then
+ rm -vr demo/ || die
+ fi
+
+ if ! use source ; then
+ rm -v src.zip || die
+ fi
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym ../../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
+
+ java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ 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/docs/*
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}