summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2017-04-25 22:05:39 +0100
committerJames Le Cuirot <chewi@gentoo.org>2017-04-25 22:13:32 +0100
commitc53f26571102e58731e5c47be86b57d2a357c1dc (patch)
tree7aac3a21e462923c141d5c9c230bd750fca5651c /dev-java
parentprofiles: Mask dev-java/oracle-jdk-bin[visualvm] on arm and arm64 (diff)
downloadgentoo-c53f26571102e58731e5c47be86b57d2a357c1dc.tar.gz
gentoo-c53f26571102e58731e5c47be86b57d2a357c1dc.tar.bz2
gentoo-c53f26571102e58731e5c47be86b57d2a357c1dc.zip
dev-java/oracle-jdk-bin: Bump to 1.8.0.131 wrt security bug #616050
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/oracle-jdk-bin/Manifest14
-rw-r--r--dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.131.ebuild355
2 files changed, 369 insertions, 0 deletions
diff --git a/dev-java/oracle-jdk-bin/Manifest b/dev-java/oracle-jdk-bin/Manifest
index 8e2b20807b7c..8b76b46b7e73 100644
--- a/dev-java/oracle-jdk-bin/Manifest
+++ b/dev-java/oracle-jdk-bin/Manifest
@@ -13,3 +13,17 @@ DIST jdk-8u121-solaris-sparcv9-demos.tar.gz 9779387 SHA256 8b60ace2690b27c1316b7
DIST jdk-8u121-solaris-sparcv9.tar.gz 103886687 SHA256 6c9ff068e2c6e0c0d41cc18b7ac5ec88a4e45285aa2eed3158287df017aecf81 SHA512 da9e4ef64c7721e1e666f54639d6efc0437239cae9ff80ddce59d01030e0421910e143c29d8e81e3e96c6248afd2e0d714f359ccf7862432ad3794287f3aad9e WHIRLPOOL dec5ef0806a518b756a975ec5b008eae571797d50141f5076c4d0ac8b88cd29368adccf51a5d55fdcde6b734732f890de15ec97a94b97fda420113ce1409182e
DIST jdk-8u121-solaris-x64-demos.tar.gz 9757042 SHA256 e4ebca2fb3166c1b2eeaa55803ce9c68a35e89e5f3bc056aa3f5e8e02c94b4c0 SHA512 4ed348c6b14445fd099b3df153a6df85a2d07bb194fde81ad25253b745c9d86e966b60c6faeff4808bb5e3ab7f4fe1a82f2f7119ecd7b7252fe5c27a31896b03 WHIRLPOOL 5cefbb8cf34f84726ce7bf48bf1875ecd326c29e6e2e693e921189757d512461df79842081700053ad773e7472ca4ffb0f9ca80bcc6738189cb9626f3d23f370
DIST jdk-8u121-solaris-x64.tar.gz 101604840 SHA256 eb5d6f7d7804b3e8bc6dc46676a017368e402724f9a5747b6145e1e305c9ffa6 SHA512 14983383f94b62396948269a10d662b8adca851706558076c000be3d8352c7c66d3172f9e656e2de230c511d77117944a0cf3114fa467e072ce2f25ad1b7e9fa WHIRLPOOL 70e1a907fa4811db58fed40d42a37121b8700a408e2dc750911aa769fe61647758c1c231b913c131af152581588b0c38098fc10fcbc13c006ea5a7da3dab1f85
+DIST jdk-8u131-linux-arm32-vfp-hflt-demos.tar.gz 10419472 SHA256 fd1b71b8a03404e13003cedda1d3750b08b305ef33e3ebdb62e1b085ab9f55ed SHA512 eee7fe48412a9f3fb82ebd064e95311b9c2d1220818d7d1f1aa46b82b52e134d315385a9a3d32fa5f7747967a30e1bc6c7b74f1e996c4e609d94cce13fd8493b WHIRLPOOL 3d99dbc11edbe66d0393a516f9b1f160da6fc3213b6380c3c9d23e9562657f58ec3286281437bb88c3de30176cde8d7dbc658682742e0873d6fc4e8982ee96c4
+DIST jdk-8u131-linux-arm32-vfp-hflt.tar.gz 81648626 SHA256 4d2677261715e9f0e44972517cf22ae40c69ad4dd1e4c34c88127462b13d4949 SHA512 6b3b7ebd0429baf77c31a883be683b664c35172147c782b955c2e7172454386317388fa9096d9b36796b294bef074b7e5e634b318fdcae0c72597cc218fc1cd0 WHIRLPOOL 303d3efcfaf1ebec808ede7b7cf0167953e5b5512b41862711a8da35d0168852ff8ba9994ccf13a59c0c9a723b1e66102263b3b2fada8f44710e16e25d4419b2
+DIST jdk-8u131-linux-arm64-vfp-hflt-demos.tar.gz 10450160 SHA256 4e12d686dcb607a221fc29f7f775d085ebe2e760f606c6a7bfe0dd233bda3c37 SHA512 1c0dc9b4963a32bf2460249b51dd842820e504c56b015d8f7df1ff4a0bc3610ccbbd0d41ba3a4bf2fe8bacca37c6c4c2f419d4435f08941bc2383ca2f11daa01 WHIRLPOOL 8dd95c1506b319f4e8aa6743d48aeaacb98c0050c6922750c061136d097abc7ec73f761c6d5a21ac281d1d0bfb179ab5287de45131d3102e09f41671d11c82e3
+DIST jdk-8u131-linux-arm64-vfp-hflt.tar.gz 78446325 SHA256 8f1d59e35cbea789219f9908d666027ab9015abd8f43999d28d21b43d84c77c2 SHA512 e24671cfded186800eec63c1e92901d2d8348f528c31f5878d28e03b936912ada05f8789a98cbe41cd3f8206a52b1c693175e7cfd421a65048924ae6908805f7 WHIRLPOOL 99b9e5f5928817353f671aa10719e1f379876cf6662a3f496f6621bc16575626270c1034636ac5dac4cb5a44e58aba8d958d1bd80118c51d62b729a7f5329b16
+DIST jdk-8u131-linux-i586-demos.tar.gz 55065450 SHA256 e75eff66cc8f0fbec43bc18c3392eac39b8f7fc3db19367fa214091f61c00ad2 SHA512 63d8ca948d544cd0c02cfc839a171635831d1fdcfde1a68c259baa22b092d350280c2cfed0f375f4d718df54cb54237ad8eb57db9831e802b316dbfd05c4eccc WHIRLPOOL fe8cc6df716a6686a10b1d732baa01e7f16a4fecdc4c2f7175d1b17e84c4af4875447793a003901e5a5a7fe27f3721fbdc561c5724f2435cbea4a2b5801a671a
+DIST jdk-8u131-linux-i586.tar.gz 188105480 SHA256 0069a2b1b1cddbefa45f1ff12933fca3b114b6544d536ec0e2d4861a830d7154 SHA512 5f5428ad9a0bcd20533cafc7c28bd260064da2f00719c3b5dc4a970771ffae11b1b9a18bfef39476c448d63d3efb829641a6c22ffb8faa3bbb7b5b3670487d80 WHIRLPOOL 48c0846ae8ccb4f945fcd7c2ee9235054b4e5899fe4e2359a9d26f407ca2c487d94639f3352f3cce616c073602071d3246bf7a0a18e73179a9c24a3e785c209a
+DIST jdk-8u131-linux-x64-demos.tar.gz 55129858 SHA256 3e2c493c69d49a5cba74c3bb0f0455246f6f49b849b63fca58f4f78f0e17a2bc SHA512 ce428a6d580d4975dbcb0c5beba313db451647aa53b715235f77d5f6dd12475241f51a69d0c4d33fb1518bb7d414b2d142a6cf8607a0ea3fed0c3f810fae2250 WHIRLPOOL a456057b696ca5c6f242412029e6cb25f8fc4fdada52fcfb432f094d92ce3d9f88fd6000eb2d5720ef856e260cc7b3408bfef7137fc275ee3c1245cea44d751f
+DIST jdk-8u131-linux-x64.tar.gz 185540433 SHA256 62b215bdfb48bace523723cdbb2157c665e6a25429c73828a32f00e587301236 SHA512 92c90f19f0184dfd78ac2b98d8ba0cbddcac3b9fb318ca9eeb6f8c1ce62b5b286cae836edb04689ec62fc9ad6ebbfc0c48d0b107b716c24afe44a3ba41fb66f4 WHIRLPOOL b1df7fa8f678858cb5cd746902042c5aaf079847db290a801cd67fb7f51d53afefa3c1e79c49c089a6cddb91a867cce40d0e554ec08546f492a88c9e1c3f7c3c
+DIST jdk-8u131-macosx-x64.dmg 237576493 SHA256 642aca454e10bea70a36a36f54cc5bac22267de78bf85c2d019b1fefbc023c43 SHA512 74255428f6a2ba63c8f90868b49f991d46b210506e0164d16adb6c3891141f026eab8df32e606bb2ba5ffec03e69c685004494507757c4fc5a3b195ffa11ed6c WHIRLPOOL 52f439f28f29045f1a06610354ad09992fd54d6419a54ef47798a160cd10f75c2db600c1715a6dc181535e5f5e46b85530fae0000293203e72d162ca3ac4d09e
+DIST jdk-8u131-macosx-x86_64-demos.zip 55666857 SHA256 77d1b624390ea9b98b6e00a099ec9826637bebf96a07639260a3938d21e464cf SHA512 0d4a895776df43ecf0c2ca940f6f0d1de1a9157dccfb617950f60d4544555904988bf8e2e537f85058bf9c114861398b0762197002610f438ccc9747816d4bdd WHIRLPOOL 0bf58bcdc999b7bae0f6b6afeb8c031f37c416c9ef7a5a3ef66b52f110c55544e4c61a164d66a9762ce71a1f46fd8b025ba0837d0123892b8bdc4e5d38a38e4f
+DIST jdk-8u131-solaris-sparcv9-demos.tar.gz 9785755 SHA256 9198b026b1fcfc2bb43b51bb2e137faed29e89b79f00ec56697a24116bd262c6 SHA512 63c5f5a4989f1b92a105ce40af0ecd878d3ec18715870ed906d8a21a23f549ee75a731300b1f4ecc19a0510aef799edfb3e7e87ebf31fc4daecd38719bc5d1ef WHIRLPOOL 43f55da49f3eafcaee75969c17e4f542afe2c3783bb7a4a32841c8a7bb84ce860348c4fef77e19efcdac154b020e5b067d925ba4199d778cb7f238c64003ffdd
+DIST jdk-8u131-solaris-sparcv9.tar.gz 103941880 SHA256 0ba4992ba599dd9aab801f574b8d9a27499900b60b11d4f0399dbaca93daeb1c SHA512 bc056223094e5a38f66c0d5eba69543757b6a27c4cb766496b3c826d22967a50b24fb31bd44da4421ba3092cf041ad75f12a9a8258b0c596e9042581ffffb151 WHIRLPOOL 7a507fd9eccadc8a64e6ee1ef164940b3b10b02553cc513a2c60e04906c0eb1c6920abf9933205c7ca17893cf507515ca2aefad579f3a2bb54711f096c741fdb
+DIST jdk-8u131-solaris-x64-demos.tar.gz 9740151 SHA256 51b92279dda2d1011420e4922abdedba77a6c6ca666a6c6fdd5d7a4b415da31b SHA512 862dfe11fb2a8ecf6c31c9e62be42c459e91c8fc3b3b9c284d460f0aceb3921dfe1423440ed0054d914ca72218155621caa816963193f462f1b7c1cdc76d44cd WHIRLPOOL 1810b4e63c3b64b7e753f46b021a04f1f017a2a6bcdd03f44477d9199815bafccb567fd822464b9f9fddf8187196c52c395d81ccca2af2942519a2a976fdc1e4
+DIST jdk-8u131-solaris-x64.tar.gz 101664768 SHA256 258d44bf6c6554bbf059f1e702eb5372caac1d8becf52cd6d55f5976e4d83002 SHA512 7718cc3ff3fec17c289873354f478c15527dee09c2de8e04f5f79a95e9dd2f019d4deb4cf4bafa3b47bffce8b788d64dd94239b22f161b329f18bf176b039402 WHIRLPOOL 7291f2fd4b89c5ab1bc793ab2b9eb14b56b89695ec91a06d384fa674726a162702e71edb6bbc99a07456955f5b8ed2e0ee5a86df029430e1ac834020d8e3aed6
diff --git a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.131.ebuild b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.131.ebuild
new file mode 100644
index 000000000000..319645de7f43
--- /dev/null
+++ b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.131.ebuild
@@ -0,0 +1,355 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils java-vm-2 prefix versionator
+
+# This URIs need to be updated when bumping!
+JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html"
+JCE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html"
+
+# This is a list of archs supported by this update.
+# Currently arm comes and goes.
+AT_AVAILABLE=( amd64 arm arm64 x86 x64-solaris sparc64-solaris x64-macos )
+
+# Sometimes some or all of the demos are missing, this is to not have to rewrite half
+# the ebuild when it happens.
+DEMOS_AVAILABLE=( amd64 arm arm64 x86 x64-solaris sparc64-solaris x64-macos )
+
+if [[ "$(get_version_component_range 4)" == 0 ]] ; then
+ S_PV="$(get_version_component_range 1-3)"
+else
+ MY_PV_EXT="u$(get_version_component_range 4)"
+ S_PV="$(get_version_component_range 1-4)"
+fi
+
+MY_PV="$(get_version_component_range 2)${MY_PV_EXT}"
+
+AT_amd64="jdk-${MY_PV}-linux-x64.tar.gz"
+AT_arm="jdk-${MY_PV}-linux-arm32-vfp-hflt.tar.gz"
+AT_arm64="jdk-${MY_PV}-linux-arm64-vfp-hflt.tar.gz"
+AT_x86="jdk-${MY_PV}-linux-i586.tar.gz"
+AT_x64_solaris="jdk-${MY_PV}-solaris-x64.tar.gz"
+AT_sparc64_solaris="${AT_sparc_solaris} jdk-${MY_PV}-solaris-sparcv9.tar.gz"
+AT_x64_macos="jdk-${MY_PV}-macosx-x64.dmg"
+
+DEMOS_amd64="jdk-${MY_PV}-linux-x64-demos.tar.gz"
+DEMOS_arm="jdk-${MY_PV}-linux-arm32-vfp-hflt-demos.tar.gz"
+DEMOS_arm64="jdk-${MY_PV}-linux-arm64-vfp-hflt-demos.tar.gz"
+DEMOS_x86="jdk-${MY_PV}-linux-i586-demos.tar.gz"
+DEMOS_x64_solaris="jdk-${MY_PV}-solaris-x64-demos.tar.gz"
+DEMOS_sparc64_solaris="jdk-${MY_PV}-solaris-sparcv9-demos.tar.gz"
+DEMOS_x64_macos="jdk-${MY_PV}-macosx-x86_64-demos.zip"
+
+JCE_DIR="UnlimitedJCEPolicyJDK8"
+JCE_FILE="jce_policy-8.zip"
+
+DESCRIPTION="Oracle's Java SE Development Kit"
+HOMEPAGE="http://www.oracle.com/technetwork/java/javase/"
+for d in "${AT_AVAILABLE[@]}"; do
+ SRC_URI+=" ${d}? ( $(eval "echo \${$(echo AT_${d/-/_})}")"
+ if has ${d} "${DEMOS_AVAILABLE[@]}"; then
+ SRC_URI+=" examples? ( $(eval "echo \${$(echo DEMOS_${d/-/_})}") )"
+ fi
+ SRC_URI+=" )"
+done
+unset d
+SRC_URI+=" jce? ( ${JCE_FILE} )"
+
+LICENSE="Oracle-BCLA-JavaSE examples? ( BSD )"
+SLOT="1.8"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc64-solaris ~x64-solaris"
+IUSE="alsa commercial cups derby doc examples +fontconfig headless-awt javafx jce nsplugin selinux source"
+REQUIRED_USE="javafx? ( alsa fontconfig )"
+
+RESTRICT="fetch preserve-libs strip"
+QA_PREBUILT="*"
+
+# NOTES:
+#
+# * cups is dlopened.
+#
+# * libpng is also dlopened but only by libsplashscreen, which isn't
+# important, so we can exclude that.
+#
+# * We still need to work out the exact AWT and JavaFX dependencies
+# under MacOS. It doesn't appear to use many, if any, of the
+# dependencies below.
+#
+RDEPEND="!x64-macos? (
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ javafx? (
+ dev-libs/glib:2
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ media-libs/freetype:2
+ x11-libs/cairo
+ x11-libs/gtk+:2
+ x11-libs/libX11
+ x11-libs/libXtst
+ x11-libs/libXxf86vm
+ x11-libs/pango
+ virtual/opengl
+ )
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ doc? ( dev-java/java-sdk-docs:${SLOT} )
+ fontconfig? ( media-libs/fontconfig:1.0 )
+ !prefix? ( sys-libs/glibc:* )
+ selinux? ( sec-policy/selinux-java )"
+
+DEPEND="app-arch/zip
+ jce? ( app-arch/unzip )
+ examples? ( x64-macos? ( app-arch/unzip ) )"
+
+S="${WORKDIR}/jdk"
+
+check_tarballs_available() {
+ local uri=$1; shift
+ local dl= unavailable=
+ for dl in "${@}" ; do
+ [[ ! -f "${DISTDIR}/${dl}" ]] && unavailable+=" ${dl}"
+ done
+
+ if [[ -n "${unavailable}" ]] ; then
+ if [[ -z ${_check_tarballs_available_once} ]] ; then
+ einfo
+ einfo "Oracle requires you to download the needed files manually after"
+ einfo "accepting their license through a javascript capable web browser."
+ einfo
+ _check_tarballs_available_once=1
+ fi
+ einfo "Download the following files:"
+ for dl in ${unavailable}; do
+ einfo " ${dl}"
+ done
+ einfo "at '${uri}'"
+ einfo "and move them to '${DISTDIR}'"
+ einfo
+ einfo "If the above mentioned urls do not point to the correct version anymore,"
+ einfo "please download the files from Oracle's java download archive:"
+ einfo
+ einfo " http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-${MY_PV}-oth-JPR"
+ einfo
+ fi
+}
+
+pkg_nofetch() {
+ local distfiles=( $(eval "echo \${$(echo AT_${ARCH/-/_})}") )
+ if use examples && has ${ARCH} "${DEMOS_AVAILABLE[@]}"; then
+ distfiles+=( $(eval "echo \${$(echo DEMOS_${ARCH/-/_})}") )
+ fi
+ check_tarballs_available "${JDK_URI}" "${distfiles[@]}"
+ use jce && check_tarballs_available "${JCE_URI}" "${JCE_FILE}"
+}
+
+src_unpack() {
+ if use x64-macos ; then
+ pushd "${T}" > /dev/null || die
+ mkdir dmgmount || die
+ hdiutil attach "${DISTDIR}"/jdk-${MY_PV}-macosx-x64.dmg \
+ -mountpoint "${T}"/dmgmount || die
+ printf -v update "%02d" $(get_version_component_range 4) || die
+ xar -xf dmgmount/JDK\ $(get_version_component_range 2)\ Update\ ${update}.pkg || die
+ hdiutil detach "${T}"/dmgmount || die
+ zcat jdk1${MY_PV%u*}0${update}.pkg/Payload | cpio -idv || die
+ mv Contents/Home "${WORKDIR}"/jdk${MY_PV} || die
+ popd > /dev/null || die
+ use jce && unpack "${JCE_FILE}"
+ else
+ default
+ fi
+
+ # Upstream is changing their versioning scheme every release around 1.8.0.*;
+ # to stop having to change it over and over again, just wildcard match and
+ # live a happy life instead of trying to get this new jdk1.8.0_05 to work.
+ mv "${WORKDIR}"/jdk* "${S}" || die
+}
+
+src_prepare() {
+ if use jce ; then
+ mv "${WORKDIR}"/${JCE_DIR} jre/lib/security/ || die
+ fi
+
+ default
+
+ if [[ -n ${JAVA_PKG_STRICT} ]] ; then
+ # Mark this binary early to run it now.
+ pax-mark m ./bin/javap
+
+ eqawarn "Ensure that this only calls trackJavaUsage(). If not, see bug #559936."
+ eqawarn
+ eqawarn "$(./bin/javap -J-Duser.home=${T} -c sun.misc.PostVMInitHook || die)"
+ fi
+
+ # Remove the hook that calls Oracle's evil usage tracker. Not just
+ # because it's evil but because it breaks the sandbox during builds
+ # and we can't find any other feasible way to disable it or make it
+ # write somewhere else. See bug #559936 for details.
+ zip -d jre/lib/rt.jar sun/misc/PostVMInitHook.class || die
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}${dest#/}"
+
+ # Create files used as storage for system preferences.
+ mkdir jre/.systemPrefs || die
+ touch jre/.systemPrefs/.system.lock || die
+ touch jre/.systemPrefs/.systemRootModFile || die
+
+ if ! use alsa ; then
+ rm -vf jre/lib/*/libjsoundalsa.* || die
+ fi
+
+ if ! use commercial; then
+ rm -vfr lib/missioncontrol jre/lib/jfr* || die
+ fi
+
+ if use headless-awt ; then
+ rm -vf {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
+ {,jre/}bin/{javaws,policytool} \
+ bin/appletviewer || die
+ fi
+
+ if ! use javafx ; then
+ rm -vf jre/lib/*/lib*{decora,fx,glass,prism}* \
+ jre/lib/*/libgstreamer-lite.* {,jre/}lib/{,ext/}*fx* \
+ bin/*javafx* bin/javapackager || die
+ fi
+
+ if ! use nsplugin ; then
+ rm -vf jre/lib/*/libnpjp2.* || die
+ else
+ local nsplugin=$(echo jre/lib/*/libnpjp2.*)
+ fi
+
+ # Even though plugins linked against multiple ffmpeg versions are
+ # provided, they generally lag behind what Gentoo has available.
+ rm -vf jre/lib/*/libavplugin* || die
+
+ # We package this as dev-util/visualvm.
+ rm -vfr lib/visualvm || die
+
+ dodoc COPYRIGHT
+ dodir "${dest}"
+ cp -pPR bin include jre lib man "${ddest}" || die
+
+ if use derby ; then
+ cp -pPR db "${ddest}" || die
+ fi
+
+ if use examples && has ${ARCH} "${DEMOS_AVAILABLE[@]}" ; then
+ cp -pPR demo sample "${ddest}" || die
+ fi
+
+ if use jce ; then
+ dodir "${dest}"/jre/lib/security/strong-jce
+ mv "${ddest}"/jre/lib/security/US_export_policy.jar \
+ "${ddest}"/jre/lib/security/strong-jce || die
+ mv "${ddest}"/jre/lib/security/local_policy.jar \
+ "${ddest}"/jre/lib/security/strong-jce || die
+ dosym "${dest}"/jre/lib/security/${JCE_DIR}/US_export_policy.jar \
+ "${dest}"/jre/lib/security/US_export_policy.jar
+ dosym "${dest}"/jre/lib/security/${JCE_DIR}/local_policy.jar \
+ "${dest}"/jre/lib/security/local_policy.jar
+ fi
+
+ if use nsplugin ; then
+ local nsplugin_link=${nsplugin##*/}
+ nsplugin_link=${nsplugin_link/./-${PN}-${SLOT}.}
+ dosym "${dest}/${nsplugin}" "/usr/$(get_libdir)/nsbrowser/plugins/${nsplugin_link}"
+ fi
+
+ if use source ; then
+ cp -v src.zip "${ddest}" || die
+
+ if use javafx ; then
+ cp -v javafx-src.zip "${ddest}" || die
+ fi
+ fi
+
+ if [[ -d jre/lib/desktop ]] ; then
+ # Install desktop file for the Java Control Panel.
+ # Using ${PN}-${SLOT} to prevent file collision with jre and or
+ # other slots. make_desktop_entry can't be used as ${P} would
+ # end up in filename.
+ newicon jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png \
+ sun-jcontrol-${PN}-${SLOT}.png || die
+ sed -e "s#Name=.*#Name=Java Control Panel for Oracle JDK ${SLOT}#" \
+ -e "s#Exec=.*#Exec=/opt/${P}/jre/bin/jcontrol#" \
+ -e "s#Icon=.*#Icon=sun-jcontrol-${PN}-${SLOT}#" \
+ -e "s#Application;##" \
+ -e "/Encoding/d" \
+ jre/lib/desktop/applications/sun_java.desktop \
+ > "${T}"/jcontrol-${PN}-${SLOT}.desktop || die
+ domenu "${T}"/jcontrol-${PN}-${SLOT}.desktop
+ fi
+
+ # Prune all fontconfig files so libfontconfig will be used and only install
+ # a Gentoo specific one if fontconfig is disabled.
+ # http://docs.oracle.com/javase/8/docs/technotes/guides/intl/fontconfig.html
+ rm "${ddest}"/jre/lib/fontconfig.* || die
+ if ! use fontconfig ; then
+ cp "${FILESDIR}"/fontconfig.Gentoo.properties "${T}"/fontconfig.properties || die
+ eprefixify "${T}"/fontconfig.properties
+ insinto "${dest}"/jre/lib/
+ doins "${T}"/fontconfig.properties
+ fi
+
+ # This needs to be done before CDS - #215225
+ java-vm_set-pax-markings "${ddest}"
+
+ # see bug #207282
+ einfo "Creating the Class Data Sharing archives"
+ case ${ARCH} in
+ arm|ia64)
+ ${ddest}/bin/java -client -Xshare:dump || die
+ ;;
+ x86)
+ ${ddest}/bin/java -client -Xshare:dump || die
+ # limit heap size for large memory on x86 #467518
+ # this is a workaround and shouldn't be needed.
+ ${ddest}/bin/java -server -Xms64m -Xmx64m -Xshare:dump || die
+ ;;
+ *)
+ ${ddest}/bin/java -server -Xshare:dump || die
+ ;;
+ esac
+
+ # Remove empty dirs we might have copied.
+ find "${D}" -type d -empty -exec rmdir -v {} + || die
+
+ if use x64-macos ; then
+ # Fix miscellaneous install_name issues.
+ local lib
+ for lib in decora_sse glass prism_{common,es2,sw} ; do
+ lib=lib${lib}.dylib
+ einfo "Fixing self-reference of ${lib}"
+ install_name_tool \
+ -id "${EPREFIX}${dest}/jre/lib/${lib}" \
+ "${ddest}"/jre/lib/${lib} || die
+ done
+ fi
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if ! use headless-awt && ! use javafx; then
+ ewarn "You have disabled the javafx flag. Some modern desktop Java applications"
+ ewarn "require this and they may fail with a confusing error message."
+ fi
+}