commit:     fe8eba2c445f8c2c0b6d1a618c578b5285dfa17d
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu May  9 21:24:59 2019 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu May  9 23:04:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe8eba2c

dev-java/openjdk: revbump :11, use system-wide ca-certificates

Bug: https://bugs.gentoo.org/682308

Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjdk/openjdk-11.0.3_p7-r1.ebuild | 222 +++++++++++++++++++++++++++
 1 file changed, 222 insertions(+)

diff --git a/dev-java/openjdk/openjdk-11.0.3_p7-r1.ebuild 
b/dev-java/openjdk/openjdk-11.0.3_p7-r1.ebuild
new file mode 100644
index 00000000000..6a58e00b1fa
--- /dev/null
+++ b/dev-java/openjdk/openjdk-11.0.3_p7-r1.ebuild
@@ -0,0 +1,222 @@
+# Copyright 1999-2019 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
+
+MY_PV=${PV/_p/+}
+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";
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+IUSE="alsa cups debug doc examples gentoo-vm headless-awt +jbootstrap nsplugin 
+pch selinux source systemtap +webstart"
+
+CDEPEND="
+       media-libs/freetype:2=
+       >=sys-apps/baselayout-java-0.1.0-r1
+       sys-libs/zlib
+       systemtap? ( dev-util/systemtap )
+       !headless-awt? (
+               x11-libs/libX11
+               x11-libs/libXext
+               x11-libs/libXi
+               x11-libs/libXrender
+               x11-libs/libXt
+               x11-libs/libXtst
+       )
+"
+
+# cups and alsa required to build, but not to run, make is possible to remove
+RDEPEND="
+       ${CDEPEND}
+       alsa? ( media-libs/alsa-lib )
+       cups? ( net-print/cups )
+       selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+       ${CDEPEND}
+       app-arch/zip
+       media-libs/alsa-lib
+       net-print/cups
+       !headless-awt? (
+               x11-base/xorg-proto
+       )
+       || (
+               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] )"
+
+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
+       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
+               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
+}
+
+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
+
+       # 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.
+       # currently it still bundles lcms libpng giflib and libjpeg.
+
+       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-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="${PV}"
+               --with-version-pre=gentoo
+               --with-version-string=${MY_PV%+*}
+               --with-version-build=${MY_PV#*+}
+               --with-zlib=system
+               --enable-dtrace=$(usex systemtap yes no)
+               --enable-headless-only=$(usex headless-awt yes no)
+       )
+
+       # 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 JAVAC XARGS
+               CFLAGS= CXXFLAGS= LDFLAGS= \
+               CONFIG_SITE=/dev/null \
+               econf "${myconf[@]}"
+       )
+}
+
+src_compile() {
+       emake -j1 \
+               $(usex jbootstrap bootcycle-images product-images) $(usex doc 
docs '') \
+               JOBS=$(makeopts_jobs) LOG=debug CFLAGS_WARNINGS_ARE_ERRORS= # 
No -Werror
+}
+
+src_install() {
+       local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+       local ddest="${ED}${dest#/}"
+
+       cd "${S}"/build/*-release/images/jdk || 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
+
+       mv lib/security/cacerts lib/security/cacerts.orig || die
+
+       dodir "${dest}"
+       cp -pPR * "${ddest}" || die
+
+       dosym "${EPREFIX}"/etc/ssl/certs/java/cacerts 
"${dest}"/lib/security/cacerts
+
+       use gentoo-vm && 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
+               insinto /usr/share/doc/${PF}/html
+               doins -r "${S}"/build/*-release/images/docs/*
+       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 things."
+       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