Gentoo Archives: gentoo-commits

From: James Le Cuirot <chewi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/oracle-jdk-bin/
Date: Mon, 23 Jan 2017 22:52:42
Message-Id: 1485211925.090d01d2c01092de8f73720ece3d379ffec7a6c5.chewi@gentoo
1 commit: 090d01d2c01092de8f73720ece3d379ffec7a6c5
2 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 21 23:04:23 2017 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 23 22:52:05 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=090d01d2
7
8 dev-java/oracle-jdk-bin: Bump to 1.8.0.121 wrt security bug #606118
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.1
11
12 dev-java/oracle-jdk-bin/Manifest | 14 +
13 .../oracle-jdk-bin/oracle-jdk-bin-1.8.0.121.ebuild | 366 +++++++++++++++++++++
14 2 files changed, 380 insertions(+)
15
16 diff --git a/dev-java/oracle-jdk-bin/Manifest b/dev-java/oracle-jdk-bin/Manifest
17 index 5368238..0f9974e 100644
18 --- a/dev-java/oracle-jdk-bin/Manifest
19 +++ b/dev-java/oracle-jdk-bin/Manifest
20 @@ -13,3 +13,17 @@ DIST jdk-8u112-solaris-sparcv9-demos.tar.gz 9804200 SHA256 acd7237d7e3efc69d3769
21 DIST jdk-8u112-solaris-sparcv9.tar.gz 103876511 SHA256 f01739d94564eced651ea93ce5d98d1ccbb63fa99a4b7a7c3db99d03e30cf475 SHA512 ef4463b8a7e49d4ddf5aa5bca6f279ed4d3fbeca867aecb1f0c30661b8a08bbf1d0a5a8ecddc4f951e8655bb8d936b63090034d09fa7cca3a4012602a7f775c8 WHIRLPOOL f2bd24163c905fc1e800267b4e1d1f4856ceaca409a24b1ba406fa779d5b78917de5bd4acaf54177220d6abd824b33b6e2e351604681e27be13e7b15c2072254
22 DIST jdk-8u112-solaris-x64-demos.tar.gz 9755514 SHA256 bbd8e55531ae6b1f6ad759334ffd62c1746912822326915def857351df3a7d95 SHA512 182ed642f76de2e15eba7bb96c09f75d14dfe9bb3b85c881521cda3746b90419eefef3941545f37d3fd81ec98509ae9003f9b419c3277ad58c0ed412b8b07b48 WHIRLPOOL 1007923893b91c0a636b5a710d98d137f34069e875382dc45b79977c6eff4166fcc10f134a9630966247597012668ff6b9dbc532273902175c9ac356b7b3686a
23 DIST jdk-8u112-solaris-x64.tar.gz 101560691 SHA256 8adb58456c1860be9e73e28a4d249b478918d331f2dbcbbbac7c558708b8b754 SHA512 f7aeb0c4c8904014e247cf57ff30a53c804f06454f3b7eadfc2b831d59961a35ec29b0a3d1beb7809bf05fed452b898637fd54e2b59d3caccae76cd2fbf4e776 WHIRLPOOL 60967fb1930ce00298a11f4488b9e52a48f2f01fd2df60bffab095c968a5c1f2a383cc454331e6d43d5fab8ed703861783268faa8328fbff55742e542b4bd934
24 +DIST jdk-8u121-linux-arm32-vfp-hflt-demos.tar.gz 10403176 SHA256 65e4007e4e52a9755e967fe8dd943a0bf5efa6d5658d7575c352d3c9c22aefab SHA512 6db56012e857a0606124a6d519531cfa3151dda3067a873204e2175f19eee9f229733e4656bedd48b9eee11213e97334b03b4069747059cee32cdef31ac03691 WHIRLPOOL 1175bee77955d83133b6e3c76c4171106703aa8e488d55551d53133903d8b2341c6e369b492f7c04bf1669afb30f892709402cae6b21285c52b1790e3c129aa7
25 +DIST jdk-8u121-linux-arm32-vfp-hflt.tar.gz 81645826 SHA256 134c73db663b1fb0f3d771a383dbea1a7cfeaa00e4d2872e0a6df94d242cf2f6 SHA512 d7074a427bc270dc73ab8a86ea7503aa04554599239b80493ed92b7a216d483190c78b188373947b658e4cc64a0edfa64158607a313a9d19b49efda82c71646b WHIRLPOOL 576e540f4f4f487b4be6d2572a32f8e54b095722785b217c52df6100efe9af69219f831fa21122c2479ad540f1f0757efbc9a8743be3ce4249c9fe7b0926e15f
26 +DIST jdk-8u121-linux-arm64-vfp-hflt-demos.tar.gz 10425709 SHA256 3a57e4d6bb0e088c3b799f9d95a59b655c9356b6efa2312eec2bbcdc820fa7af SHA512 0aac9333a53147073286aa7d576c21a50ae223f8a7d338a470f0bda664d914500e559338bb8b86c5dae6ce1868569602c01f0a8fc2243a46c6bf01d7c71d52c0 WHIRLPOOL daad0b7a197d1d8f74de2c2af37c0933543626e28361de28354efb138954a8cadd3a79f1fdd02283e510121f1bcedf11c318c6377a0de55be82829a316a07acf
27 +DIST jdk-8u121-linux-arm64-vfp-hflt.tar.gz 78462931 SHA256 acd84c59aa0c3fa8cfb2e3c51bbd9ebf979b4ed9b5f15b343821c31af2ce3573 SHA512 a1b0469ed6ad51f2d07f2dfad1ed0c2966661b987b819d4321b4c9b6de5f1aa35e02dd2653abb9ef0fcfa33db4820a67d679a3ff8668ca116b26012e19756ed8 WHIRLPOOL cc3f84f377178024d1ef469a8a089a8d00395760ac79899cc7f60593ec4177d9fa22781de0cdf695f3f20a65762ef9c57ee6024cb66b803ad9833fea2a1857a4
28 +DIST jdk-8u121-linux-i586-demos.tar.gz 55065250 SHA256 42c7c34a3e1db77d49e01c19bfa530924fb70e565add63391fa5bae1ba6ebd60 SHA512 be4d73d6854a7d4568bc1a8d31a01201130fd1751278670a528e8348a678eff0fe5143741018db1f070f55ad3b837c71b7167719899514322720db19b8932ad7 WHIRLPOOL 736f9450bc79526805a586ee52dd98c61c10c28c4f9b19733c0bae2afe5840f461bc126ceca0520ec28998a301cd3fdfc33759dbf3edbe92f25d301f3f7f7fd5
29 +DIST jdk-8u121-linux-i586.tar.gz 185735871 SHA256 f7d6cf1468c5e71ff097bec0189caccdd8e709a2a88a2c9849ad6200c0f33d4c SHA512 d900343912034a6d454ce8ca2dc5767551c6d14ed96b1297bcab817a73b43775f449b29f2c97cc7e7821543388eefc0d5d5fa130187e0a73813812e87c8e30e5 WHIRLPOOL 6af71bf8d5e7df8c82a6afd8a400d9ba76bdc19c73f3f71abf30cf85e8ec2ab3707f961de64d9b7a0b77940aab6093e39df34331529937cf47030980d8cb8a2e
30 +DIST jdk-8u121-linux-x64-demos.tar.gz 55097929 SHA256 48f4d19df6fcee93e6ddcd9562c622bf558178eef14440273c266ace3ea97efb SHA512 9bb9e4e18e15055adfd7943da07fb29dfe2a35b39ade1895ab35ccb15611e1675c23ae3ef99312716d2bd8dc31937c12d5f292349538b15fc3c39511d47e966e WHIRLPOOL 0259d5e81e2bf93efb811f6299218e068ea1ef608eb7e23d482541bcfc7f8a1bfab405635196a60488fa94e70b8ab33dda9304497a60d30b995b889921f4f09a
31 +DIST jdk-8u121-linux-x64.tar.gz 183246769 SHA256 97e30203f1aef324a07c94d9d078f5d19bb6c50e638e4492722debca588210bc SHA512 df5d90a87fff6f71246aab1e63412a0b8d50207784da939fdb09ab547a469d121c6c74a7849628fb4d4f3596658eef31fad4026598862f1a5637a15b37b44648 WHIRLPOOL bce31c3b12fe5ec820d8d7e3af6786365bd3830e92d51669bac314f8be866d2f9827fb2b9753fc62feaf574149d23b97a81ead8f8dae2f0dfea6fd98fb9bbbef
32 +DIST jdk-8u121-macosx-x64.dmg 234054861 SHA256 82ff2493cd4b9ebdaeb9135abaffc9a37b71d341b007a83f73aa6ff3df1b6a3a SHA512 2f433c8dd2e6575df52343fc438c11bd5ccf2f81d3ef0dcd6047340eeb980ff0d609fbcce08acd237a9751d9b87386c176c1f33a01e502aaf03be7c47ab01082 WHIRLPOOL a6ffc15e99bb7286591fe8e2798080ff59676d7619d519308a9ad649435c8bf56a3cb7f0a612a1cf737314d806d34e0d43f4ac1329ea613b7f3ce2931d18b391
33 +DIST jdk-8u121-macosx-x86_64-demos.zip 55667576 SHA256 ed3f06213be725545f7238edf39280d2d15d8e493a7fcafb6919287c1f32def0 SHA512 45cefa19fcf9c1c01b2907b3f4943b750f67dc5393968a35421daa7ec10c63020ff94bd50f0f9b20ce4724edfb60e7904eccb55fc9220036e236ae53972b977c WHIRLPOOL 49ebb2d2f891ee37fcf981614d630d8822648eb1afa99ddb32c5bf50cde95a37cf69f09249eafe3746822c37f9a5636c12a6bd349b50f27b41e62cb303d1502b
34 +DIST jdk-8u121-solaris-sparcv9-demos.tar.gz 9779387 SHA256 8b60ace2690b27c1316b71061884a257e00af1e2e0d6ac337f7806f64dccb9bf SHA512 f9e5a519a1cac824fe9927f3f36ced6e6b7542e04f991982d9404e24fda480aaee8298f7e286598399b4c74eabd112a441d11eafede41cbcb46e86fa4129652c WHIRLPOOL 3cef9d2d02bdba3aeed43d25b99bcd5ac9713492c712480cd909c8d9c88233fb577fc93bdc2dfd9e35fa5016eb58441a7ced2e1b1861dce8b28b2cf0b9675a01
35 +DIST jdk-8u121-solaris-sparcv9.tar.gz 103886687 SHA256 6c9ff068e2c6e0c0d41cc18b7ac5ec88a4e45285aa2eed3158287df017aecf81 SHA512 da9e4ef64c7721e1e666f54639d6efc0437239cae9ff80ddce59d01030e0421910e143c29d8e81e3e96c6248afd2e0d714f359ccf7862432ad3794287f3aad9e WHIRLPOOL dec5ef0806a518b756a975ec5b008eae571797d50141f5076c4d0ac8b88cd29368adccf51a5d55fdcde6b734732f890de15ec97a94b97fda420113ce1409182e
36 +DIST jdk-8u121-solaris-x64-demos.tar.gz 9757042 SHA256 e4ebca2fb3166c1b2eeaa55803ce9c68a35e89e5f3bc056aa3f5e8e02c94b4c0 SHA512 4ed348c6b14445fd099b3df153a6df85a2d07bb194fde81ad25253b745c9d86e966b60c6faeff4808bb5e3ab7f4fe1a82f2f7119ecd7b7252fe5c27a31896b03 WHIRLPOOL 5cefbb8cf34f84726ce7bf48bf1875ecd326c29e6e2e693e921189757d512461df79842081700053ad773e7472ca4ffb0f9ca80bcc6738189cb9626f3d23f370
37 +DIST jdk-8u121-solaris-x64.tar.gz 101604840 SHA256 eb5d6f7d7804b3e8bc6dc46676a017368e402724f9a5747b6145e1e305c9ffa6 SHA512 14983383f94b62396948269a10d662b8adca851706558076c000be3d8352c7c66d3172f9e656e2de230c511d77117944a0cf3114fa467e072ce2f25ad1b7e9fa WHIRLPOOL 70e1a907fa4811db58fed40d42a37121b8700a408e2dc750911aa769fe61647758c1c231b913c131af152581588b0c38098fc10fcbc13c006ea5a7da3dab1f85
38
39 diff --git a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.121.ebuild b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.121.ebuild
40 new file mode 100644
41 index 00000000..ad9f0f7
42 --- /dev/null
43 +++ b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.121.ebuild
44 @@ -0,0 +1,366 @@
45 +# Copyright 1999-2017 Gentoo Foundation
46 +# Distributed under the terms of the GNU General Public License v2
47 +# $Id$
48 +
49 +EAPI="5"
50 +
51 +inherit eutils java-vm-2 prefix versionator
52 +
53 +# This URIs need to be updated when bumping!
54 +JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html"
55 +JCE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html"
56 +
57 +# This is a list of archs supported by this update.
58 +# Currently arm comes and goes.
59 +AT_AVAILABLE=( amd64 arm arm64 x86 x64-solaris sparc64-solaris x64-macos )
60 +
61 +# Sometimes some or all of the demos are missing, this is to not have to rewrite half
62 +# the ebuild when it happens.
63 +DEMOS_AVAILABLE=( amd64 arm arm64 x86 x64-solaris sparc64-solaris x64-macos )
64 +
65 +if [[ "$(get_version_component_range 4)" == 0 ]] ; then
66 + S_PV="$(get_version_component_range 1-3)"
67 +else
68 + MY_PV_EXT="u$(get_version_component_range 4)"
69 + S_PV="$(get_version_component_range 1-4)"
70 +fi
71 +
72 +MY_PV="$(get_version_component_range 2)${MY_PV_EXT}"
73 +
74 +AT_amd64="jdk-${MY_PV}-linux-x64.tar.gz"
75 +AT_arm="jdk-${MY_PV}-linux-arm32-vfp-hflt.tar.gz"
76 +AT_arm64="jdk-${MY_PV}-linux-arm64-vfp-hflt.tar.gz"
77 +AT_x86="jdk-${MY_PV}-linux-i586.tar.gz"
78 +AT_x64_solaris="jdk-${MY_PV}-solaris-x64.tar.gz"
79 +AT_sparc64_solaris="${AT_sparc_solaris} jdk-${MY_PV}-solaris-sparcv9.tar.gz"
80 +AT_x64_macos="jdk-${MY_PV}-macosx-x64.dmg"
81 +
82 +DEMOS_amd64="jdk-${MY_PV}-linux-x64-demos.tar.gz"
83 +DEMOS_arm="jdk-${MY_PV}-linux-arm32-vfp-hflt-demos.tar.gz"
84 +DEMOS_arm64="jdk-${MY_PV}-linux-arm64-vfp-hflt-demos.tar.gz"
85 +DEMOS_x86="jdk-${MY_PV}-linux-i586-demos.tar.gz"
86 +DEMOS_x64_solaris="jdk-${MY_PV}-solaris-x64-demos.tar.gz"
87 +DEMOS_sparc64_solaris="jdk-${MY_PV}-solaris-sparcv9-demos.tar.gz"
88 +DEMOS_x64_macos="jdk-${MY_PV}-macosx-x86_64-demos.zip"
89 +
90 +JCE_DIR="UnlimitedJCEPolicyJDK8"
91 +JCE_FILE="jce_policy-8.zip"
92 +
93 +DESCRIPTION="Oracle's Java SE Development Kit"
94 +HOMEPAGE="http://www.oracle.com/technetwork/java/javase/"
95 +for d in "${AT_AVAILABLE[@]}"; do
96 + SRC_URI+=" ${d}? ( $(eval "echo \${$(echo AT_${d/-/_})}")"
97 + if has ${d} "${DEMOS_AVAILABLE[@]}"; then
98 + SRC_URI+=" examples? ( $(eval "echo \${$(echo DEMOS_${d/-/_})}") )"
99 + fi
100 + SRC_URI+=" )"
101 +done
102 +unset d
103 +SRC_URI+=" jce? ( ${JCE_FILE} )"
104 +
105 +LICENSE="Oracle-BCLA-JavaSE examples? ( BSD )"
106 +SLOT="1.8"
107 +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc64-solaris ~x64-solaris"
108 +IUSE="alsa cups derby doc examples +fontconfig headless-awt javafx jce nsplugin pax_kernel selinux source"
109 +REQUIRED_USE="javafx? ( alsa fontconfig )"
110 +
111 +RESTRICT="fetch preserve-libs strip"
112 +QA_PREBUILT="*"
113 +
114 +# NOTES:
115 +#
116 +# * cups is dlopened.
117 +#
118 +# * libpng is also dlopened but only by libsplashscreen, which isn't
119 +# important, so we can exclude that.
120 +#
121 +# * We still need to work out the exact AWT and JavaFX dependencies
122 +# under MacOS. It doesn't appear to use many, if any, of the
123 +# dependencies below.
124 +#
125 +RDEPEND="!x64-macos? (
126 + !headless-awt? (
127 + x11-libs/libX11
128 + x11-libs/libXext
129 + x11-libs/libXi
130 + x11-libs/libXrender
131 + x11-libs/libXtst
132 + )
133 + javafx? (
134 + dev-libs/glib:2
135 + dev-libs/libxml2:2
136 + dev-libs/libxslt
137 + media-libs/freetype:2
138 + x11-libs/cairo
139 + x11-libs/gtk+:2
140 + x11-libs/libX11
141 + x11-libs/libXtst
142 + x11-libs/libXxf86vm
143 + x11-libs/pango
144 + virtual/opengl
145 + )
146 + )
147 + alsa? ( media-libs/alsa-lib )
148 + cups? ( net-print/cups )
149 + doc? ( dev-java/java-sdk-docs:${SLOT} )
150 + fontconfig? ( media-libs/fontconfig:1.0 )
151 + !prefix? ( sys-libs/glibc:* )
152 + selinux? ( sec-policy/selinux-java )"
153 +
154 +# A PaX header isn't created by scanelf so depend on paxctl to avoid
155 +# fallback marking. See bug #427642.
156 +DEPEND="app-arch/zip
157 + jce? ( app-arch/unzip )
158 + examples? ( x64-macos? ( app-arch/unzip ) )
159 + pax_kernel? ( sys-apps/paxctl )"
160 +
161 +S="${WORKDIR}/jdk"
162 +
163 +check_tarballs_available() {
164 + local uri=$1; shift
165 + local dl= unavailable=
166 + for dl in "${@}" ; do
167 + [[ ! -f "${DISTDIR}/${dl}" ]] && unavailable+=" ${dl}"
168 + done
169 +
170 + if [[ -n "${unavailable}" ]] ; then
171 + if [[ -z ${_check_tarballs_available_once} ]] ; then
172 + einfo
173 + einfo "Oracle requires you to download the needed files manually after"
174 + einfo "accepting their license through a javascript capable web browser."
175 + einfo
176 + _check_tarballs_available_once=1
177 + fi
178 + einfo "Download the following files:"
179 + for dl in ${unavailable}; do
180 + einfo " ${dl}"
181 + done
182 + einfo "at '${uri}'"
183 + einfo "and move them to '${DISTDIR}'"
184 + einfo
185 + einfo "If the above mentioned urls do not point to the correct version anymore,"
186 + einfo "please download the files from Oracle's java download archive:"
187 + einfo
188 + einfo " http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-${MY_PV}-oth-JPR"
189 + einfo
190 + fi
191 +}
192 +
193 +pkg_nofetch() {
194 + local distfiles=( $(eval "echo \${$(echo AT_${ARCH/-/_})}") )
195 + if use examples && has ${ARCH} "${DEMOS_AVAILABLE[@]}"; then
196 + distfiles+=( $(eval "echo \${$(echo DEMOS_${ARCH/-/_})}") )
197 + fi
198 + check_tarballs_available "${JDK_URI}" "${distfiles[@]}"
199 +
200 + use jce && check_tarballs_available "${JCE_URI}" "${JCE_FILE}"
201 +}
202 +
203 +src_unpack() {
204 + if use x64-macos ; then
205 + pushd "${T}" > /dev/null
206 + mkdir dmgmount
207 + hdiutil attach "${DISTDIR}"/jdk-${MY_PV}-macosx-x64.dmg \
208 + -mountpoint "${T}"/dmgmount
209 + local update=$(get_version_component_range 4)
210 + [[ ${#update} == 1 ]] && update="0${update}"
211 + xar -xf dmgmount/JDK\ $(get_version_component_range 2)\ Update\ ${update}.pkg
212 + hdiutil detach "${T}"/dmgmount
213 + zcat jdk1${MY_PV%u*}0${update}.pkg/Payload | cpio -idv
214 + mv Contents/Home "${WORKDIR}"/jdk${MY_PV}
215 + popd > /dev/null
216 + use jce && unpack "${JCE_FILE}"
217 + else
218 + default
219 + fi
220 +
221 + # Upstream is changing their versioning scheme every release around 1.8.0.*;
222 + # to stop having to change it over and over again, just wildcard match and
223 + # live a happy life instead of trying to get this new jdk1.8.0_05 to work.
224 + mv "${WORKDIR}"/jdk* "${S}" || die
225 +}
226 +
227 +src_prepare() {
228 + if use jce ; then
229 + mv "${WORKDIR}"/${JCE_DIR} jre/lib/security/ || die
230 + fi
231 +
232 + if [[ -n ${JAVA_PKG_STRICT} ]] ; then
233 + # Mark this binary early to run it now.
234 + pax-mark Cm ./bin/javap
235 +
236 + eqawarn "Ensure that this only calls trackJavaUsage(). If not, see bug #559936."
237 + eqawarn
238 + eqawarn "$(./bin/javap -J-Duser.home=${T} -c sun.misc.PostVMInitHook || die)"
239 + fi
240 +
241 + # Remove the hook that calls Oracle's evil usage tracker. Not just
242 + # because it's evil but because it breaks the sandbox during builds
243 + # and we can't find any other feasible way to disable it or make it
244 + # write somewhere else. See bug #559936 for details.
245 + zip -d jre/lib/rt.jar sun/misc/PostVMInitHook.class || die
246 +}
247 +
248 +src_install() {
249 + local dest="/opt/${P}"
250 + local ddest="${ED}${dest#/}"
251 +
252 + # Create files used as storage for system preferences.
253 + mkdir jre/.systemPrefs || die
254 + touch jre/.systemPrefs/.system.lock || die
255 + touch jre/.systemPrefs/.systemRootModFile || die
256 +
257 + if ! use alsa ; then
258 + rm -vf jre/lib/*/libjsoundalsa.* || die
259 + fi
260 +
261 + if use headless-awt ; then
262 + rm -vf {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
263 + {,jre/}bin/{javaws,policytool} \
264 + bin/appletviewer || die
265 + fi
266 +
267 + if ! use javafx ; then
268 + rm -vf jre/lib/*/lib*{decora,fx,glass,prism}* \
269 + jre/lib/*/libgstreamer-lite.* {,jre/}lib/{,ext/}*fx* \
270 + bin/*javafx* bin/javapackager || die
271 + fi
272 +
273 + if ! use nsplugin ; then
274 + rm -vf jre/lib/*/libnpjp2.* || die
275 + else
276 + local nsplugin=$(echo jre/lib/*/libnpjp2.*)
277 + fi
278 +
279 + # Even though plugins linked against multiple ffmpeg versions are
280 + # provided, they generally lag behind what Gentoo has available.
281 + rm -vf jre/lib/*/libavplugin* || die
282 +
283 + dodoc COPYRIGHT
284 + dodir "${dest}"
285 + cp -pPR bin include jre lib man "${ddest}" || die
286 +
287 + if use derby ; then
288 + cp -pPR db "${ddest}" || die
289 + fi
290 +
291 + if use examples && has ${ARCH} "${DEMOS_AVAILABLE[@]}" ; then
292 + cp -pPR demo sample "${ddest}" || die
293 + fi
294 +
295 + if use jce ; then
296 + dodir "${dest}"/jre/lib/security/strong-jce
297 + mv "${ddest}"/jre/lib/security/US_export_policy.jar \
298 + "${ddest}"/jre/lib/security/strong-jce || die
299 + mv "${ddest}"/jre/lib/security/local_policy.jar \
300 + "${ddest}"/jre/lib/security/strong-jce || die
301 + dosym "${dest}"/jre/lib/security/${JCE_DIR}/US_export_policy.jar \
302 + "${dest}"/jre/lib/security/US_export_policy.jar
303 + dosym "${dest}"/jre/lib/security/${JCE_DIR}/local_policy.jar \
304 + "${dest}"/jre/lib/security/local_policy.jar
305 + fi
306 +
307 + if use nsplugin ; then
308 + local nsplugin_link=${nsplugin##*/}
309 + nsplugin_link=${nsplugin_link/./-${PN}-${SLOT}.}
310 + dosym "${dest}/${nsplugin}" "/usr/$(get_libdir)/nsbrowser/plugins/${nsplugin_link}"
311 + fi
312 +
313 + if use source ; then
314 + cp -v src.zip "${ddest}" || die
315 +
316 + if use javafx ; then
317 + cp -v javafx-src.zip "${ddest}" || die
318 + fi
319 + fi
320 +
321 + if [[ -d jre/lib/desktop ]] ; then
322 + # Install desktop file for the Java Control Panel.
323 + # Using ${PN}-${SLOT} to prevent file collision with jre and or
324 + # other slots. make_desktop_entry can't be used as ${P} would
325 + # end up in filename.
326 + newicon jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png \
327 + sun-jcontrol-${PN}-${SLOT}.png || die
328 + sed -e "s#Name=.*#Name=Java Control Panel for Oracle JDK ${SLOT}#" \
329 + -e "s#Exec=.*#Exec=/opt/${P}/jre/bin/jcontrol#" \
330 + -e "s#Icon=.*#Icon=sun-jcontrol-${PN}-${SLOT}#" \
331 + -e "s#Application;##" \
332 + -e "/Encoding/d" \
333 + jre/lib/desktop/applications/sun_java.desktop \
334 + > "${T}"/jcontrol-${PN}-${SLOT}.desktop || die
335 + domenu "${T}"/jcontrol-${PN}-${SLOT}.desktop
336 + fi
337 +
338 + # Prune all fontconfig files so libfontconfig will be used and only install
339 + # a Gentoo specific one if fontconfig is disabled.
340 + # http://docs.oracle.com/javase/8/docs/technotes/guides/intl/fontconfig.html
341 + rm "${ddest}"/jre/lib/fontconfig.*
342 + if ! use fontconfig ; then
343 + cp "${FILESDIR}"/fontconfig.Gentoo.properties "${T}"/fontconfig.properties || die
344 + eprefixify "${T}"/fontconfig.properties
345 + insinto "${dest}"/jre/lib/
346 + doins "${T}"/fontconfig.properties
347 + fi
348 +
349 + # This needs to be done before CDS - #215225
350 + java-vm_set-pax-markings "${ddest}"
351 +
352 + # see bug #207282
353 + einfo "Creating the Class Data Sharing archives"
354 + case ${ARCH} in
355 + arm|ia64)
356 + ${ddest}/bin/java -client -Xshare:dump || die
357 + ;;
358 + x86)
359 + ${ddest}/bin/java -client -Xshare:dump || die
360 + # limit heap size for large memory on x86 #467518
361 + # this is a workaround and shouldn't be needed.
362 + ${ddest}/bin/java -server -Xms64m -Xmx64m -Xshare:dump || die
363 + ;;
364 + *)
365 + ${ddest}/bin/java -server -Xshare:dump || die
366 + ;;
367 + esac
368 +
369 + # Remove empty dirs we might have copied.
370 + find "${D}" -type d -empty -exec rmdir -v {} + || die
371 +
372 + if use x64-macos ; then
373 + # Fix miscellaneous install_name issues.
374 + pushd "${ddest}"/jre/lib > /dev/null || die
375 + local lib needed nlib npath
376 + for lib in decora_sse glass prism_{common,es2,sw} ; do
377 + lib=lib${lib}.dylib
378 + einfo "Fixing self-reference of ${lib}"
379 + install_name_tool \
380 + -id "${EPREFIX}${dest}/jre/lib/${lib}" \
381 + "${lib}"
382 + done
383 + popd > /dev/null
384 +
385 + # This is still jdk1{5,6}, even on Java 8, so don't change it
386 + # until you know different.
387 + for nlib in jdk1{5,6} ; do
388 + install_name_tool -change \
389 + /usr/lib/libgcc_s_ppc64.1.dylib \
390 + /usr/lib/libSystem.B.dylib \
391 + "${ddest}"/lib/visualvm/profiler/lib/deployed/${nlib}/mac/libprofilerinterface.jnilib
392 + install_name_tool -id \
393 + "${EPREFIX}${dest}"/lib/visualvm/profiler/lib/deployed/${nlib}/mac/libprofilerinterface.jnilib \
394 + "${ddest}"/lib/visualvm/profiler/lib/deployed/${nlib}/mac/libprofilerinterface.jnilib
395 + done
396 + fi
397 +
398 + set_java_env
399 + java-vm_revdep-mask
400 + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
401 +}
402 +
403 +pkg_postinst() {
404 + java-vm-2_pkg_postinst
405 +
406 + if ! use headless-awt && ! use javafx; then
407 + ewarn "You have disabled the javafx flag. Some modern desktop Java applications"
408 + ewarn "require this and they may fail with a confusing error message."
409 + fi
410 +}