summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-26 05:43:40 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-26 05:43:40 +0000
commit7c8526b96283211386f1d021eb880530e64609f3 (patch)
tree1f0eb9640979339f001de95879db323e83432ecc /dev-java
parent50759e048caa5add66cd277482b81e5b859dac9e (diff)
downloadbaldeagleos-repo-7c8526b96283211386f1d021eb880530e64609f3.tar.gz
baldeagleos-repo-7c8526b96283211386f1d021eb880530e64609f3.tar.xz
baldeagleos-repo-7c8526b96283211386f1d021eb880530e64609f3.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/openjdk-bin/Manifest6
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-8.422_p05.ebuild130
-rw-r--r--dev-java/openjdk/Manifest1
-rw-r--r--dev-java/openjdk/openjdk-8.422_p05.ebuild283
4 files changed, 420 insertions, 0 deletions
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
index 862f3746635b..01440f8fe234 100644
--- a/dev-java/openjdk-bin/Manifest
+++ b/dev-java/openjdk-bin/Manifest
@@ -36,8 +36,14 @@ DIST OpenJDK21U-jdk_riscv64_linux_hotspot_21.0.4_7.tar.gz 203854772 BLAKE2B acec
DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.4_7.tar.gz 208015131 BLAKE2B b143b83ff40affffd0be90cc19fec59777a80f783c6a4d9d1161d5205dee9a50f88d89fc21e402a14a1849d2dfefb780935acb47b7366b8fb07a3cd10f9ca65b SHA512 9cf65b7ea2cc4e7a21c5832c3522211c53b55fb6f0d4ec4deecb94744dafbf1412c17508ed1c21cb06b03c5bcf8212a0e5d6f2804663833735a1ac2f77dae7a2
DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.4_7.tar.gz 207789015 BLAKE2B da61c96f082f18bbb64e543b96972d0cf812cbd64ac970a45000506e41f9f54628453d4a24b4090271dc267e21bfe285a04173c106259e67dc72246c43edbe32 SHA512 7675079ac1ed0c0428f806908b21c58549df7fc18043d26c011e063b58772ddb1c1c9648a46ab7d5204d47c2af5d3f08eace30028113d64e09cadc69c4fd0def
DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u412b08.tar.gz 102116126 BLAKE2B 19f8deee04fe5521323ead5193ff7b383979afa32c4375bdef7ce53b868dd7cb317bcd208b94d373c353f5480433cb3a28beeacbb7f42b501058acdfe6917079 SHA512 e2c5e17eda6a25b8f12c8fe5a50b5c58a9b52bf9cdac7213e2b0eb7ea0c99ba0d3c31ecbaea834443fac12adacfe506ecbe3a487abd16846c6619678ac24c4ee
+DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u422b05.tar.gz 102132553 BLAKE2B b59a2d99f9999f86eac2ab15617ee7c58d179a7db2e3606b3296b4bee8bbfaaee2f3cd1f441d90b7462ef9a502f4f351bdb4acc8e723d6b16f208827b813e8a7 SHA512 3856d2e711fd0f93f5efb73ffe5dc115d03dbd0cd015e903b7c2d02b6a3940b10793243edd6a372d7f84306f10c7a41cf13d7b787a33d525f1e86e9975453d06
DIST OpenJDK8U-jdk_arm_linux_hotspot_8u412b08.tar.gz 98318417 BLAKE2B 11ec1cb2e793da8252511dee62ad193b67b3bc5c8aa91dbd6b1e8aa2d2f7e2e342528d145e0eb9e26b17b7e81c9ff17586f068b4d146f6789b157026aff67099 SHA512 84eab7b032fb55e02870013f9a87d0898ece12c52c560c0600d8d2ecb4901cc64e6e5cd44375ec6785a5c8f139263e8b6b32d348149e22200c962438fabea9fe
+DIST OpenJDK8U-jdk_arm_linux_hotspot_8u422b05.tar.gz 98342561 BLAKE2B e34d6c959a2100b7c1817ad0fa213331e1cca75229edccf68ed4fcbd3b9bdeb0852dfdf59dac3e9cdae0179af38edc64ff7329af9f44fadcfaa7cf301f8f4e13 SHA512 a667d531b3318e7f75d3d4d9a32248c5c9ae7c1d4bd9bfcbcb5f11418016c1faa179ed748c3eae09c8693885a9401a80de8f3530891883b9f6e9de0b50002ed5
DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u412b08.tar.gz 100529230 BLAKE2B 1498ff1c4d89f65a41a565cf3d6949f715bc8783a33b70e6cf7b44e513ddf7ade1242e2a0a95b582813ab212fb2367a5f17f794f54b5e458f0e23dd22e74123d SHA512 cf80eb66063559d4fbe062d8a198490468e4936c9e0b27ffe04912b4468a2d1f4d12fffe5df5fede38b44870b65a7f0cd85545f7031957b12a7d1a368a7770c6
+DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u422b05.tar.gz 100533202 BLAKE2B b83b926e5bf0fe45bce9a79489422b96c6ab321227a56d8b3c683a26e5b71cbf9ec80a4dc2706aa4853095a4ee3174591cba8725b9e1b645f4c275137a97abee SHA512 e345de1325f9807d1cc3e4b043d650d655ad8a3672edec304023af54c7dd1d8fea0e671781ed46e6d7459909afedb2458c1b45966b55957389ec62449aec6469
DIST OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u412b08.tar.gz 100923084 BLAKE2B 9c9b0d7f95983a44f040efa83c69100163b1450d04102000d4f75361e9164024697380c055fdb31bac2ef4dabc05df592bbf342e716d8f438954b89236ff0986 SHA512 07b721e57225165d3dbc51c1d8f79f269e75fa3fe946ab76e933d1d3645dd19b3e7e8ea924d4f510382b5bcebbf073e262010c0e4655e0282379cce9d411eeab
+DIST OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u422b05.tar.gz 100948020 BLAKE2B db92e2d9ef5bd15816d2fb3cd6a6dc0accd250fa16ec9b3eea9b23a72e73a32be43527d8f520f39aea1b7a84723e07d24e3de136b6888b869d8e75e446fc04cd SHA512 20b47a527c1b19d6f2779e619507a250316ee3d95d7ad7b5fa45c86e26e90515cace468a0ec6fd37be108f473f92d70eadd0a61ee901594ff0309272af4f61e5
DIST OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz 103005511 BLAKE2B f3df80c160d723df67700363ed6f40f3308a7625635b5afcb1656c77c9f78cc2796c5878aac0bda6cbde8d6551371ed15223de6aa8e75c01ba3e4848285a88eb SHA512 6f7df3fbb34c5971b7bbc4bafbe0179983abfa0aee212cc810e2656697cf0a7f4736cbbf6755cc88cc885d7beb5c15482a21d5287c52bae560988cf80908ca05
+DIST OpenJDK8U-jdk_x64_linux_hotspot_8u422b05.tar.gz 103022651 BLAKE2B e144aee88326b4ed539324d8dfa35db461a3595c23a3bfdf0af557b4402ac4dd65d9000fa875b6570d7475ca7fef90d2e7021938f04918d40a04c04029e2e1bf SHA512 d44bdb72e616771d6b465abb66228f08968afdc0e8e40f73e892ea5c5c441f554d793f1e1643f1f682e0c0f4e25d24ee3f9ddec8c6191c43e77a3820c9f3d2a1
DIST OpenJDK8U-jdk_x64_mac_hotspot_8u412b08.tar.gz 109506799 BLAKE2B bdf043df0df0f0fe100e80a464a0fe8c60e7c80ab7ca5e7481c8f7458b793a24b0f2d93ec482b5f0de7a65b3d068322b7b3a9e9c9ec5c5b61342cb85232db847 SHA512 4d774c3f0794d7403dfbf953e7e9d635b71c463bb193ffb4cc98e98455ff7a448f0bbf290a28c9290e3d9affc7390eeb4be88ad48cbfb60d9f605e57158f5058
+DIST OpenJDK8U-jdk_x64_mac_hotspot_8u422b05.tar.gz 109522911 BLAKE2B 37472be9a5f061ade8e27318ef2a7782f0fd4aa38362c2d19eae47cf18ac0d4085a84aab4630b97e0162d6b8288e3bcce2b1fb1a8f1bc25e8a129137f5407657 SHA512 e6718c635d42d2662a404ac71f5c4cae45714f7e1e7f92af28191dfb5f01ac3c4c9c5335073386a7cf7a0c628d9dd0ae211fc4e9c0bc953e3827362f1fc39344
diff --git a/dev-java/openjdk-bin/openjdk-bin-8.422_p05.ebuild b/dev-java/openjdk-bin/openjdk-bin-8.422_p05.ebuild
new file mode 100644
index 000000000000..f362abc652e7
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-8.422_p05.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+ local baseuri="https://github.com/adoptium/temurin$(ver_cut 1)-binaries/releases/download/jdk${MY_PV}"
+ local musl=
+ local os=linux
+
+ case ${2} in
+ *-macos) os=mac ;;
+ *-solaris) os=solaris ;;
+ esac
+
+ if [[ ${3} == musl ]]; then
+ os=alpine-linux
+ musl=true
+ fi
+
+ echo "${2-$1}? (
+ ${musl:+ elibc_musl? ( }
+ ${baseuri}/OpenJDK$(ver_cut 1)U-jdk_${1}_${os}_hotspot_${MY_PV//-/}.tar.gz
+ ${musl:+ ) } )"
+}
+
+MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri arm)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 amd64 musl)
+ $(abi_uri x64 x64-macos)
+"
+S="${WORKDIR}/jdk${MY_PV}"
+
+LICENSE="GPL-2-with-classpath-exception"
+SLOT=$(ver_cut 1)
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
+
+IUSE="alsa cups examples headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ arm? ( dev-libs/libffi-compat:6 )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )
+"
+
+RESTRICT="preserve-libs strip"
+QA_PREBUILT="*"
+
+src_unpack() {
+ default
+ # 753575
+ if use arm; then
+ mv -v "${S}"* "${S}" || die
+ elif [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # this does not exist on arm64 hence -f
+ rm -fv jre/lib/*/libfreetype.so* || die
+
+ if ! use alsa ; then
+ rm -v jre/lib/*/libjsoundalsa.so* || die
+ fi
+
+ if ! use examples ; then
+ rm -vr sample || die
+ fi
+
+ if use headless-awt ; then
+ rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
+ {,jre/}bin/policytool bin/appletviewer || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v src.zip || die
+ fi
+
+ rm -v jre/lib/security/cacerts || die
+ dosym ../../../../../etc/ssl/certs/java/cacerts \
+ "${dest}"/jre/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ 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
+}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index b93422f7ddfd..8a000540d5c9 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -5,6 +5,7 @@ DIST openjdk-17.0.11_p9.tar.gz 106574173 BLAKE2B 3db4763527d1acb83a2d492c3e94dc5
DIST openjdk-17.0.12_p7.tar.gz 106597045 BLAKE2B f0e9baec472ecefbf28359abfc10757dc7cb2a6ddf8428086a6565831f1c13ee1a7cdb87b67d6b3840860ddbf2c74e80ece55f09238fddc2cb8fa77208695b9b SHA512 cc99e9742123f7d8ac7ad78abab0fbe5cff37999b9c06ad14851009a95c9868968e97dd0f3e4dea8bfa8578f8f903fccaa37134466a778375cdf24344138f1fc
DIST openjdk-21.0.4_p7.tar.gz 112506384 BLAKE2B d58636bc9221d56afcf118a91e41326d2e086c9fe22675429ec50d0b62fefd9e2040140a9d99682547e8bf0d40fa4ca2cbcdf8be55b9a0556b95c90fc0a08d56 SHA512 507524d842fb7c371cf7d3163cdce87e9266d613998b797f2828178b35c087354ae30941384d5afd1d6e3982eddf5c9067553bc2b918a9e223b93893f7f27e76
DIST openjdk-8.412_p08.tar.gz 93003614 BLAKE2B 71a3825bf69bb196ae219f5125e8452f634be2ff7b9f42a4829f6581f0a143bfec95013971c6f6b8f402c11efa34443f55a7f89d4133eac0b05a6d1cd6e0324d SHA512 d198f26474a4bd0b5e09c3c3aa53fbf77f217b8cd23499f7e661224048e925e0e020b28264b6ce7401baf83f8ffd8e3247788e2f5e7188509dea8b06f9fa0572
+DIST openjdk-8.422_p05.tar.gz 93034877 BLAKE2B 2489fea62fbc5a7e3735055656ae89c67caf63e5bc6d5385ee811d0707d056bc3d10dd83f7eae5a5a86b7f57b8da47a9c1a77405f127b6f506bbf3b310ecd2ae SHA512 706db67f9be7509380e96ae2187bdb928e40c4382fd7073dd310da2981eeff324a5871702b087d4466911dbbea8376d5f9fed7029562ca62c9a1a193d931833e
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-11.0.14_p9-riscv.tar.xz 104601676 BLAKE2B 5f976e8a626a829fae70ad6c007f10bfeff79e29c85d6c75fb2f5ff8984fd2a2bd44ee6e07958dbbdaaed761c6839d375e1b5ba6cffc63b02ad9e2c9178310db SHA512 580dec81626553fe3e7afd0f6385a733ba80a0502cf0f9e8bdc973048887290c9ab6171267d61d8838c4ece4de58c9ca8b78540bd52b1757495a27175057ec64
diff --git a/dev-java/openjdk/openjdk-8.422_p05.ebuild b/dev-java/openjdk/openjdk-8.422_p05.ebuild
new file mode 100644
index 000000000000..6280651782d6
--- /dev/null
+++ b/dev-java/openjdk/openjdk-8.422_p05.ebuild
@@ -0,0 +1,283 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+X86_XPAK="8.402_p06"
+PPC64_XPAK="8.402_p06"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri x86 8.402_p06)
+# Output: ppc64? ( big-endian? ( https://...8.402_p06-x86.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.org"
+SRC_URI="
+ https://github.com/openjdk/jdk8u/archive/jdk${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri x86 ${X86_XPAK})
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ )
+"
+S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
+
+LICENSE="GPL-2-with-classpath-exception"
+SLOT="${PV%%[.+]*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="alsa big-endian debug cups doc examples headless-awt javafx +jbootstrap selinux system-bootstrap 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
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
+
+PATCHES=(
+ "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0004-Fix-misc.-warnings.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-vm-2_pkg_setup
+
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+
+ 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 ${BROOT}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+ fi
+}
+
+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() {
+ if ! use system-bootstrap; then
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ fi
+
+ # general build info found here:
+ # https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
+
+ # -Wregister use (bug #918655)
+ append-cxxflags -std=gnu++14
+
+ # Work around stack alignment issue, bug #647954.
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # Strip lto related flags, no support in this version.
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
+ 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="${XPAK_BOOTSTRAP:-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="${XPAK_BOOTSTRAP:-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="${BROOT}/bin/bash"
+ econf "${myconf[@]}"
+ )
+}
+
+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
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images images)
+ )
+ emake "${myemakeargs[@]}" -j1
+}
+
+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"
+}