mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-04 04:57:07 -08:00
dev-java/openjdk: bump to 11.0.6
Package-Manager: Portage-2.3.84, Repoman-2.3.16 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
DIST jdk-11.0.3+7.tar.bz2 90300528 BLAKE2B db566140028ddbf9f6e10eaaac018ddf3ad13a954500c73abde8aec5c673c375f2cf0e56bc75c410a4ff90e6cb8e9c4580bb5719786e34865f00a92bd3ea8431 SHA512 46c1c13165e7d5ef480052810ccdc1b5d55f6b2b542e10303d3940536df7f17bf3d8a0cf774e73dc25af7cd69432790656a03c66d2df9efaf71cb9e44c2da684
|
||||
DIST jdk-11.0.4+11.tar.bz2 90420043 BLAKE2B 28e7ea146a14ed4629a42c69721a9d53a1c7d6a0346d96bedf15c7f3472d39b0b1d303ceb0c80dd226ba21236588a3c1222446bf98492235f9c18ca870eae26a SHA512 5211aa3d8b1215574b75137a6645ec1a3dd833a9815065f04cefa00c26d2aa6028074076645a22af2a6ffc1bd39cfa1e5e92d9ee3f24af32f9de914cf36b8056
|
||||
DIST jdk-11.0.5+10.tar.bz2 90613232 BLAKE2B 0a3cba851ac967d84f97ae1e7972d3ab593dbc76fb20664c4e7950380ad91acee7e263a2989930b45346cd170da71c500db9d8a0a6ac88982d77607089b95513 SHA512 0d52c78e217b79756be0fc6b3f9204bae254ec7b9ae10b6c3114463a9c028143807f4422711f0c02b81a034ae6e88fa2efc6bed85022720807344230a8aa12a6
|
||||
DIST openjdk-11.0.6.tar.bz2 90755968 BLAKE2B 5bf23cc107ffae4cfc82be4f9b4b17de57575ee13e8fd461027e319a441c89c65fc852affb89f98a54307fa865ed5cdfb216809c6196866b31dfaa7011ad3d57 SHA512 d2296556c947c46883c16df3c1b7d809e6987dd6fd1a2667333e1245049560f3da744f6a51609a918cd9c509316b01160de2c080d5b9d3ed1af0b312dcbc575e
|
||||
DIST openjdk-8.222_p10.tar.bz2 452194 BLAKE2B aa5a19245e9b5f79da217ef4e8ff87acaf6b4c7b930a6cd1c7a00d2c6d50bb3168c41da1b18e8beb072a84bca7f3956e939edd9f5fd88899d2cc3fe754ff19f8 SHA512 08f92327732fb54df847fe0b3e49460bcdd25fe2aef7bc9545d75ab6504ab92452f8f5daede6040d28fd9b8347f49d658dc7bf88abc90235d6cf4a72cb44fbba
|
||||
DIST openjdk-8.232_p09.tar.bz2 453185 BLAKE2B 9f78dc3a482f42937c9f4ed30492cf8348c903c6a419a7f2644251f853f92e2e112f72c16848adcc7102f41e8f1249e35d7019bf0b5c5fd823e4f068650f36fd SHA512 31fbaf8334b3a40f491ae87aeec5698ebac334b8425147b8f8fa1a397e64f5bf7025d22dd5ecf7c7029c07ca40424f07ae139aa5d9737b20a6eeec2e9a1d835d
|
||||
DIST openjdk-8.242.tar.bz2 452896 BLAKE2B 73176533ad62942f9a9547378aa5547a5f064076d24be527d0fb8b13c30a48680957bca731ee54771cae66e78f8800995426431ec266f0c61330a573efaacc23 SHA512 2a98dcead63b8e5dc6db841416b16c12a84f557c8efa6272bc4dc125333de1e20ab83050d1ee441a77f78b47b2c52dbc7d29810ce562218129eff29a5c79daca
|
||||
|
||||
@@ -0,0 +1,269 @@
|
||||
# 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
|
||||
|
||||
MY_PV="${PV}-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}"
|
||||
|
||||
# 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
|
||||
|
||||
# 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="${PV}"
|
||||
--with-version-pre=""
|
||||
--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)
|
||||
)
|
||||
|
||||
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 "${EPREFIX}"/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 "${EPREFIX}"/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
|
||||
}
|
||||
Reference in New Issue
Block a user