summaryrefslogtreecommitdiff
path: root/dev-java/openjdk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
commitfcc5224904648a8e6eb528d7603154160a20022f (patch)
tree3bfce096b38a9cea8eed13fc70c1526c456e9abd /dev-java/openjdk
parent2fd57282f0262ca084e05b0f2c63fbada395d02b (diff)
gentoo resync : 02.02.2022
Diffstat (limited to 'dev-java/openjdk')
-rw-r--r--dev-java/openjdk/Manifest13
-rw-r--r--dev-java/openjdk/metadata.xml1
-rw-r--r--dev-java/openjdk/openjdk-11.0.14_p9-r1.ebuild287
-rw-r--r--dev-java/openjdk/openjdk-17.0.2_p8.ebuild313
-rw-r--r--dev-java/openjdk/openjdk-8.322_p06.ebuild224
5 files changed, 837 insertions, 1 deletions
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 1730407d2db2..5418f46a332a 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -3,8 +3,11 @@ AUX openjdk-17.env.sh 537 BLAKE2B 64ef0f37bc0fb1f20d5f30751727e8f70a0460ad5917a9
AUX openjdk-8-insantiate-arrayallocator.patch 647 BLAKE2B b2403d842ace7198520a25bf7c2027e6d74b5d418b52321722b21cac866df883d47e53e4f5e040aed55a9cc4bf03b5a62d008a0877add6c649a41f6230d78a38 SHA512 4bf002ec25844f4e55b588d0516e658c548700d3bcae79be74bf75d9cf30cf9cd448767db36935924dd3b07f34d0cf087321cb35abb4943690353d11485ab0de
AUX openjdk-8.env.sh 792 BLAKE2B efabd83be56cdbd06419267361b82278bd52bfce8df8f369b7b9cadac74196ad90b9ab83e3abe8ae73e5ac51c49236d24d7762450832236414f98c1f6d13d6b2 SHA512 acdf229fff329c79e2263bd433c953dd18fc0945a0ffb6428c7004baf0bedbe3a9503c22ba1e777e7598412dfa2d2d9255c9007ecd14b4590c558e6a52c48a9f
DIST openjdk-11.0.13_p8.tar.gz 122738754 BLAKE2B 5a60bf4245bc1e3591f4ebdf83a441f95a97a50a72a774612e99792789cd81a9317471cdadf4541efbe9b1549c2738a3cd30d134d3ded8de6d58f8a67b2aebe6 SHA512 38bd1be54533e9eebe407e771b1ece86ead755d1f3f0199e425aa4ad3e8fe511b0024986b7ffc59c571faa3dad510956e98ab1a48cb184c9cf5353bb7512cb06
+DIST openjdk-11.0.14_p9.tar.gz 122803178 BLAKE2B 521d7829b34fa4f9a143c51d61c339c8c7455f12c4f04eda4fdd687dafa842f2a1b1adfe2e897fecdfa4e1c3ee484ec0e3aaf38ab9246f20cd24e7185db6ba25 SHA512 3285d13ba0fbbfd4f1a676b0f099b0742527ff556edfc3387913b59b64126bdfecd2697d7ac83634ed7160adf46edca3b5b2c33d94e9dca068752da5b9d70837
DIST openjdk-17.0.1_p12.tar.gz 104597561 BLAKE2B 9bae16c0c0b973017258076bf8597101538e7ef29cb16357b17b112ae1aa058b17d26f22057cf3d6638104dbd83f5c19b6bcd124f589fc100eae83f78dc1c269 SHA512 220d87a29e1a25b670d721c27069b601a48c833069cb252f81ee6de2ff65fef23fd76e689fc755940f7e457b2419ef93a15cbeca64db2a8798028729df876d25
+DIST openjdk-17.0.2_p8.tar.gz 104741920 BLAKE2B 749b1699f1b4b2bb6ee1139ceb704ba3b3f3789770176e5f0dc4b1d5ce5c2887514fc3c256a64f2ad9bb017339c20ef10110f35b523ee1edcd62924e41f44f03 SHA512 8eeb8b56410178179cc95aa02b0bf827fac3fbf6242a905502a6594763be809a727e55e87866ac65be56c22d6f78ec0c483bdaab9411f07d4b160c49b06921fa
DIST openjdk-8.312_p07.tar.bz2 460874 BLAKE2B 2230d45b74044c894d1c1d25e7354ab9cf3d4df82ef1f149c31e2a755220775f59c76178847f61b99fc0859522fef4106c696e807c70602f9138c5110bcd3ed2 SHA512 483503cf4a54b736a9cb17179246d0fc602450e15d7815d3897d2c5a056483187b96f09280f6bb0522044150eb6733777bbb3a9130e8e34b6f6c865cb306e5a8
+DIST openjdk-8.322_p06.tar.gz 88114268 BLAKE2B 206b8373bacd829682e9203d9fbb14240994b63b7ddb3675cd3380ee7a4ab9c9016cdcc278b63d3110652ad02587d3c7965bc9865fed6c9ddd720e79bb917c71 SHA512 877b56bb11daf7295bd08d2a310cb4dc0478ac7465d4e7f88ba9b9ab2715761b2e83d2e47fb03dc82ec1f1651c9c0772f048360e1f71c0f91a19bda4b46cbcfc
DIST openjdk-aarch64-shenandoah-8.312_p07.tar.bz2 467870 BLAKE2B 5ed4301b942fd2757644d82b1eb8f212d27ae6c39a225fa739b6a665deb42ba85ebb3e95d8563a8031cd08e3fed9ce2fa2aa675e2d348bcbd16d5b82bff74d43 SHA512 157f53f096f7cdf9bc4af2200cf1bc5dea566a839beb59e2d21a8001e0dd1c6596e409b7e21b9484832c9826dbaec97c00f5e980926142c89117650e390ec63e
DIST openjdk-aarch64-shenandoah-corba-8.312_p07.tar.bz2 1053490 BLAKE2B 47ee0c89deddb3aefef02d9a71a8d3bdfddd95977e57c70e2699a18c76bc1724b48609c106126527085bca8892a4b071d26d0d47c72cc0681757c8dacbb85c78 SHA512 49f27951b3b57c10ea996f2490a089e1eb28be4762d57962b6b2616020a3cca248ab61580c6f27842b9986eadcc1bcb208af543832fe839d6fd548a3f7a5a04a
DIST openjdk-aarch64-shenandoah-hotspot-8.312_p07.tar.bz2 8802379 BLAKE2B 53a8fa582f002c19a50d6dea07aa9d21374b59cc0fb973ca84429191060ba60da609ea115d6249d835f7a945279073c896abb534f1b59ed3b5811b70dd8a6503 SHA512 b0b19a9277af9ab0f395367ba010d4574ae4e7d5a0f9c9c44c3222545642ec6a4342bd2caaa8f8db3ade23f4680b8cbfbb74b4cf4526622ce9eb4d16a3190fa5
@@ -13,6 +16,11 @@ DIST openjdk-aarch64-shenandoah-jaxws-8.312_p07.tar.bz2 2559773 BLAKE2B b3c06549
DIST openjdk-aarch64-shenandoah-jdk-8.312_p07.tar.bz2 48837594 BLAKE2B 368caa0a628e3bd0d0343baf7ac6c8854f6998ea5b5f96594e99ac565293bfdbfe733acfdfd398964634ffaf4e0eef298dbed078b0a61626c97711764a45a0bb SHA512 8436daa785fba98ed2c23444673842dc28b18f114ebafd203bc01bd2295a9501c2391c2e51d0f589cd4112243eee2e18a8a71180b2aca3988c58a02f33d13d57
DIST openjdk-aarch64-shenandoah-langtools-8.312_p07.tar.bz2 2403116 BLAKE2B 10c1ca4e78dfad90bf9b8d6745cda41605d5985eddfd8e4c3bfbfcb6458c5b5115813e9aa7b4aec148c4d82f268ab02ca6cef9e68bb902f1944858b6bb6b36d4 SHA512 2c9fc95cb19b1c3a4e7b9c2e305d9a285f1dedb7954cce365738e683c3a52eb7f4e3f3485b947860aee2fd6059b7d2b18e196cc1c585427c6b4b8299f6fc3105
DIST openjdk-aarch64-shenandoah-nashorn-jdk8.312_p07.tar.bz2 2845057 BLAKE2B ff32686b27b767683ae0a670b2509291b6708d371b398cac854210132f555218b9189d3012cf9b45e0584f44425e09aefb8acbef95f1786787067f4d5275fdbe SHA512 71fad14ad6b7a75ee499bc0b3370e5beb22d5a7e32a02d54fc5dff1cf25ede51c3a8a04de6424947ddaa3b5d4a0d7f5a447ba073b62c5c86a49c0543cec3f374
+DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e
+DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f
+DIST openjdk-bootstrap-17.0.1_p12-ppc64.tar.xz 116557680 BLAKE2B d20e45a5a76e30ee60446993bf5dcf0fa10b8b668ebec637ea02b458a472c642f22740e18f28cbf9923ea4cceb17702115c038b13137442e5f0572477d37f12f SHA512 92e0343f493d094300911625a561f42c47402ca4cdbd2ac18414089e8ed8a50ca58f02ec1ef9a3dce017ab7af99a22ab465ddf732ab9e55728e2b146de56fba7
+DIST openjdk-bootstrap-17.0.1_p12-x86.tar.xz 111479904 BLAKE2B 17d33f8ee81c2846f417d8e7cd1429eb611e916a6b375c76127179dc6afc55b0254248360c892ce37a178fd553934d952ec8955ff5d0613eb66678b8ecefe917 SHA512 094bcc960801e5fd7e1c966c8101c195ac7fa5e222d9c8e79ca64f8a3e6812613c17a0356211e7dd831325fa11af88cc22ed56c434d65504f18dd4f4ceaedfdf
+DIST openjdk-bootstrap-17.0.2_p8-arm64-musl.tar.xz 115353932 BLAKE2B 0cc4ab078085f094bbcc65448458d98a0f521e3b754c5118b1b4f957cfa00c24e896c811c2a477822c469ffcfe0de1ad6a8d0b7db23b0b09ae3b459eaf8c4fc8 SHA512 e30acd6c64a0095f4203129ecf2cff4c6b4293bc017457465d3abb746d280a2f5d89028eed22f7f3d236890d047149c7aa257e3b49593d7a6ab4dd6b777a7c26
DIST openjdk-corba-8.312_p07.tar.bz2 1035097 BLAKE2B 38ae2cf2e61c44a42320b26f7bdea424066ee4568f2f3bbe6e7aa2d8b7aa927429d0b8c2cc757f580867df6c6e5dbe1270da5f91d9c52aa131e66c146a311caa SHA512 9035449c07e5fc9776b40e32de3e4f1c6efac482c14298671e5e719a1f9830fe9a20851dac3f9c6d6c0c8c387a7b44e40019570c1f054fd1d1f24e2f5cef5bfc
DIST openjdk-hotspot-8.312_p07.tar.bz2 8559682 BLAKE2B 776acb83bc065885da90b26c88f0083c3bb7bb1f6dfd0585e37e58f185b5612f6501f2b26e1eeb7533d30f82faea7ccedeeee21dcf454a4e8fe951aca0406a1d SHA512 0c501d284bb22867391de0f8da8b098ca9309173ab6f7415d591d056a2d8859757aaa3da4a9c294dcc434a41771928a9f1edd8a69dad38ef7a9bcad793deeaa8
DIST openjdk-jaxp-8.312_p07.tar.bz2 2686710 BLAKE2B acbfd2a7ebfdcfbfa1c4467dbc6778afbb2b8fab5c70381000b926645197c3bb5537a81574ed98960cae2fd0d70e50ca5976aabd0c49cf833c07f1f3b7935773 SHA512 da3fbd82ff05e48809cf6180d876f09764f5f97e4fc37c4352c7875ccd5bebe66cb51ff4565e6fcd67699ec5b5ae3eebc9c0a1510998697519cfc94d3d04df5f
@@ -21,6 +29,9 @@ DIST openjdk-jdk-8.312_p07.tar.bz2 48705905 BLAKE2B 0e9849a58a05e300441e63702846
DIST openjdk-langtools-8.312_p07.tar.bz2 2403774 BLAKE2B 2eaaf2d23b0d31d566b95075f1e00a8ec01617a48bd860b927fc56f56c0ec1e4232c1d2e316b9b13bf563b89ecc6464bf1e49a86eda1a31d998dbbc85e1fa542 SHA512 b77d8b1864e121a838023da424b0910903cc2b11cd9669e61c0ced84e1210d4902b2a0b97031e6646f26b01f1120d72b6f3382c6aee4d25fcd2d8e4605b8b4ff
DIST openjdk-nashorn-8.312_p07.tar.bz2 2848133 BLAKE2B 4e416ddb38aafb97796233adda615525fb6e583428cdf0b25fd285276b3bef81682d3a607122aa8724dd9ec2ef0890b889ef809aa8f72cb03ac5bc9bfce9192e SHA512 411ac87cf1e8c889330b3fc41ce8cd8ed70c553d079dd46349813b02b171a22c2421075cc6391e46a866ee802df874cf1a6ff3e7dfba20e73564380be24ae843
EBUILD openjdk-11.0.13_p8.ebuild 7470 BLAKE2B 51487f24150b411a085a022f83f539c11e2532b82afafc76f03a15a6ff96b3b04d3ce9078a3cde6b2c91ffcedf55dac2976eb00bdbb0ad4352c7a428df4d5956 SHA512 644cdae2f094d080eb27054a4f2b7fc3dfb6a540567a15e1c07d0cf0540dead5a97f7751747e2d4db2ed9e860611f19bd958eb4732c2db0d95c5119d61df8a34
+EBUILD openjdk-11.0.14_p9-r1.ebuild 7771 BLAKE2B 10a62c7c57432f86fedf3102c9ee278f2a4b55875fea4f199c727d09d9f51bec19871e01a5d0ac27b8435daecbe850be5c8cb42d5298eeeaa30973e667e71aff SHA512 ef6a23ca55993f0b4dfbf2dbe4c330fb82796cb250d10dd4fa85cf8e7e15db185d780c4f11f585dc50f43bdd6b208f9bcd8a19993bff6cbea8c3811d45a5a05e
EBUILD openjdk-17.0.1_p12.ebuild 7855 BLAKE2B cb7a7215afcd9382edd8053ea4182012d46743fdff5ba03ac4ff2f8750b454c352b25ec4ca04b0b3a5dcfeadf64cf24518ebf119a87cde7ca7f2c9a09bf39256 SHA512 5bc08b0e7707725dafd4165d8f7af2964981195d19fc95ae5465ab3f2907bd4c81d2ba2bfbf6eb42dd331dd8a9eb2c8c0584615146163669514a2c2773cf68df
+EBUILD openjdk-17.0.2_p8.ebuild 9144 BLAKE2B 13c56192cf50286fb2c7676b2781f96b9d48439b9dbfbca5c0427dabc74b249754a413cbbcf0360e7e1e6edcdb33c2dbceb30ebfa17f7a413bef3b08a93ae967 SHA512 2c959301483293c2232308c9b16984b17e44a0b037c924a5835fd56363df0a618aa629483d72bd1b363b8914637db8cbd0aaeef21a6dfad88bfb77f3be0375f9
EBUILD openjdk-8.312_p07.ebuild 7399 BLAKE2B b07477683dd271a5c1cf0830137f9c846df5375666ac0d3863f3647f9c0ca3db3bce0e68e4f3931124a071e9b0fb81434733d034194cbee3a764056cfa2721fe SHA512 467b1479f425e9d36be216c24d2f226a2c4a1aec9947fedc73d0b4703e1efaad727c36c427c3010a78576db997d2975623d0209d11ba6adbd65e360265173c10
-MISC metadata.xml 1433 BLAKE2B f1c32727711519e4f3ecbaf9f9be6c025b467d93e2423bb5e6d9f3644242ad8f356204e7a804b0fccb56a3df5b9283cce305e82b19659a1c39bffc6b65676316 SHA512 cee169279a8c13fd3bfbc89eb1e0ecdda9a34214d001cf941f08abf89516f224e1532e916bbdb6597c56bd6a1df18ede2c4bb18e54c5e4ad67be70250f836fb5
+EBUILD openjdk-8.322_p06.ebuild 5859 BLAKE2B fe046363d60b08ca2569669f74a2cc71552086c84fa24df81a937970c5b3d4521720472686caf043e9aa860020ecfaa55e652caacf9d4e02cd8bd88256387055 SHA512 99315a5ba5fa12b4b059cb4787928e8ae02f04cc83c5064597b510da35386408c469af700dc3c99c43cbac4221e23a10501ddb62cb5b1b192a1062b816bd5d66
+MISC metadata.xml 1506 BLAKE2B d56098f4ba9acb9bd5891247f5165beea69a802ae4fe57f6c0e4b54875efd73d3dafaa78f5c182e640028e31840aa6b9d16bafade717a469b4a43ccbe37cbef6 SHA512 84aa8b3bef355e93fea678612e9512ca2ce5df77efbf4f055589ff67387f0571e43eb5308b8c575eb09bf52b68e5fcc68fdd819a6781080755c3f6c24d6eb77d
diff --git a/dev-java/openjdk/metadata.xml b/dev-java/openjdk/metadata.xml
index a97614c63101..e4fe12d5b61f 100644
--- a/dev-java/openjdk/metadata.xml
+++ b/dev-java/openjdk/metadata.xml
@@ -24,6 +24,7 @@
<flag name="javafx" restrict="&gt;=dev-java/openjdk-11">Import OpenJFX modules at build time, via <pkg>dev-java/openjfx</pkg></flag>
<flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
<flag name="source">Install JVM sources</flag>
+ <flag name="system-bootstrap">Bootstrap using installed openjdk</flag>
<flag name="systemtap" restrict="&gt;=dev-java/openjdk-11">Enable SystemTAP/DTrace tracing</flag>
</use>
</pkgmetadata>
diff --git a/dev-java/openjdk/openjdk-11.0.14_p9-r1.ebuild b/dev-java/openjdk/openjdk-11.0.14_p9-r1.ebuild
new file mode 100644
index 000000000000..9b1ca168a49f
--- /dev/null
+++ b/dev-java/openjdk/openjdk-11.0.14_p9-r1.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing 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%%[.+]*}"
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball
+X86_XPAK="11.0.13_p8"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
+# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
+bootstrap_uri() {
+ local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+ local suff="tar.xz"
+ local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+ local ver="${2:?${FUNCNAME[0]}: version not specified}"
+ local cond="${3-}"
+
+ # here be dragons
+ echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })"
+}
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="
+ https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ $(bootstrap_uri x86 ${X86_XPAK})
+ )
+"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
+
+REQUIRED_USE="
+ javafx? ( alsa !headless-awt )
+ !system-bootstrap? ( jbootstrap )
+"
+
+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 )
+"
+
+# 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}= )
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
+ dev-java/openjdk:${SLOT}[gentoo-vm(+)]
+ )
+ )
+"
+
+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 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
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+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}"
+
+ if use system-bootstrap; then
+ 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
+ else
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ fi
+}
+
+src_prepare() {
+ default
+ chmod +x configure || die
+}
+
+src_configure() {
+ # Work around stack alignment issue, bug #647954.
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Work around -fno-common ( GCC10 default ), bug #713180
+ append-flags -fcommon
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # 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="${XPAK_BOOTSTRAP:-system}"
+ --with-giflib="${XPAK_BOOTSTRAP:-system}"
+ --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
+ --with-jvm-features=shenandoahgc
+ --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"
+ --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="${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")
+ )
+
+ if use javafx; then
+ # 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
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ if use !system-bootstrap ; then
+ addpredict /dev/random
+ addpredict /proc/self/coredump_filter
+ 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
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(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
+
+ dosym8 -r /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
+
+ 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/*
+ dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk/openjdk-17.0.2_p8.ebuild b/dev-java/openjdk/openjdk-17.0.2_p8.ebuild
new file mode 100644
index 000000000000..09fe2c1ba754
--- /dev/null
+++ b/dev-java/openjdk/openjdk-17.0.2_p8.ebuild
@@ -0,0 +1,313 @@
+# Copyright 1999-2022 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 toolchain-funcs
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+ARM64_XPAK="17.0.2_p8" # musl bootstrap install
+PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
+X86_XPAK="17.0.1_p12"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
+# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
+bootstrap_uri() {
+ local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+ local suff="tar.xz"
+ local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+ local ver="${2:?${FUNCNAME[0]}: version not specified}"
+ local cond="${3-}"
+ [[ ${cond} == elibc_musl* ]] && local musl=yes
+
+ # here be dragons
+ echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
+}
+
+MY_PV="${PV//_p/+}"
+SLOT="$(ver_cut 1)"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="
+ https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ $(bootstrap_uri x86 ${X86_XPAK})
+ )
+"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+IUSE="alsa big-endian cups debug doc examples gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
+
+REQUIRED_USE="
+ javafx? ( alsa !headless-awt )
+ !system-bootstrap? ( jbootstrap )
+"
+
+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 )
+"
+
+# 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}= )
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ )
+"
+
+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 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
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+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}
+ elif use !system-bootstrap ; then
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ 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
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # 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-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"
+ --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="${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")
+ )
+
+ if use javafx; then
+ local zip="${EPREFIX%/}/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
+
+ if use !system-bootstrap ; then
+ addpredict /dev/random
+ addpredict /proc/self/coredump_filter
+ 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
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(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-${SLOT}"
+ 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.322_p06.ebuild b/dev-java/openjdk/openjdk-8.322_p06.ebuild
new file mode 100644
index 000000000000..3d08d57546ea
--- /dev/null
+++ b/dev-java/openjdk/openjdk-8.322_p06.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+# we need latest -ga tag from git, 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)"
+SLOT="${PV%%[.+]*}"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap selinux source"
+
+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
+ virtual/pkgconfig
+ 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}
+ )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
+
+PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.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 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
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+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
+
+ # 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
+
+ chmod +x configure || 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
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ tc-export_build_env CC CXX PKG_CONFIG STRIP
+
+ local myconf=(
+ --disable-ccache
+ --disable-freetype-bundling
+ --disable-precompiled-headers
+ --enable-unlimited-crypto
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
+ --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
+ --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 '')
+ $(tc-is-clang && echo "--with-toolchain-type=clang")
+ )
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ CONFIG_SHELL="${EPREFIX}/bin/bash"
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(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
+
+ # 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 -r /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
+ einfo "JavaWebStart functionality provided by icedtea-web package"
+}