commit:     823327a6fb666c00777d57cd7e2d69ced9e5fd46
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 14:49:24 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Apr 25 15:06:41 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=823327a6

dev-java/openjdk: bump to 11.0.11_p9

Bug: https://bugs.gentoo.org/784611
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjdk/Manifest                  |   1 +
 dev-java/openjdk/openjdk-11.0.11_p9.ebuild | 272 +++++++++++++++++++++++++++++
 2 files changed, 273 insertions(+)

diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index ae7a714c3c9..0cf213bf2f1 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -1,4 +1,5 @@
 DIST openjdk-11.0.10_p9.tar.bz2 95141294 BLAKE2B 
f35cd0392b433210eb06b023bd92a168e17363635e27addcdcf1f1f9de7091a9f447a15b0fbbd1b0e3425377cb770de8dedf31c3a1cb1d7ecfc944175be4464d
 SHA512 
755d6b9789ddca274fefa1762a68892ec0597e581d16fa2a26cfce0e5c10232c73706f3beb99fcaf99e80a051d0db7365e3c5402e952c2dec4405626ac2a4ef7
+DIST openjdk-11.0.11_p9.tar.bz2 95298760 BLAKE2B 
7572d297fecffa9d38998c79dda00ea9361c1cf2f6c8bf51bac782da17cd3b6b272d08ab57fff96d523a1299f5514cb3788d05eeb37ef467ee7ad8bbb156d98e
 SHA512 
72deecf32b793fa331deb6a1c0294b1efc68b72af9aebc1ba0528189e0097ff6d226cd0c3947d3cdc35c3cf28b3450cc538d375be0b9d43dca379f244894d20e
 DIST openjdk-11.0.9_p11.tar.bz2 91638327 BLAKE2B 
a04b7fb5ebde3b6c024e5f3931a2efe796e08ad66c0190cddfa4268d5181f46f24685d9d51ae328547916e8ece723967bf653feeac87347ee14ecbe213ad657a
 SHA512 
a0a6726d5adbe95904b78d8b4319bc4386c594a563f80f63d59072cf72d00928b451163b91258b44193a80851400ce8b8d142fecfd2bd902ff7a5e47cb4a9976
 DIST openjdk-8.272_p10.tar.bz2 457222 BLAKE2B 
51e487d36c1922c5fc04d8922f1000a776e4872142517933ef5e8d5fd825f221fa02325bd755bf3f48f7f3221a2da3ca182301fb303675cb7d712d7b2f1c7751
 SHA512 
488b7fa0ed725936d483efd54242dbf4409752c685f29277023fb47c4375b5700b34e743d819d7d7c2406a2f8845d1c3d4fc548c156b6c7c30e43574c1b51527
 DIST openjdk-8.282_p08.tar.bz2 457358 BLAKE2B 
4451b2de340136ceb152615a32e33a3db60ff0f000d00e758d992f549af0110c4f64e3724abdd6ca7d679862e927557d475a2a36e923f0c3c5dd48fcb81b9b45
 SHA512 
40ccce0a25da6a6eef5cadfc0d6b208d0243ccd1fbc2a7aaef4c627802144122dbda96677c2d3ba45e05c5ac123a058ed37f59b8f035f0afcf34e832d50e8c35

diff --git a/dev-java/openjdk/openjdk-11.0.11_p9.ebuild 
b/dev-java/openjdk/openjdk-11.0.11_p9.ebuild
new file mode 100644
index 00000000000..ca908bb4c18
--- /dev/null
+++ b/dev-java/openjdk/openjdk-11.0.11_p9.ebuild
@@ -0,0 +1,272 @@
+# Copyright 1999-2021 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 
+pch selinux source systemtap"
+
+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}
+       )
+"
+
+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
+# 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}
+       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)
+               $(tc-is-clang && echo "--with-toolchain-type=clang")
+       )
+
+       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
+}

Reply via email to