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-jre-bin/
Date: Mon, 31 Aug 2015 22:43:40
Message-Id: 1441060988.3da3dd19edce1a12d40e6c6e1e693d4bd97e6027.chewi@gentoo
1 commit: 3da3dd19edce1a12d40e6c6e1e693d4bd97e6027
2 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Aug 31 22:12:46 2015 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 31 22:43:08 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3da3dd19
7
8 dev-java/oracle-jre-bin: Version bump
9
10 Package-Manager: portage-2.2.20.1
11
12 dev-java/oracle-jre-bin/Manifest | 2 +
13 .../oracle-jre-bin/oracle-jre-bin-1.8.0.60.ebuild | 230 +++++++++++++++++++++
14 2 files changed, 232 insertions(+)
15
16 diff --git a/dev-java/oracle-jre-bin/Manifest b/dev-java/oracle-jre-bin/Manifest
17 index 0fc4983..2a7c94a 100644
18 --- a/dev-java/oracle-jre-bin/Manifest
19 +++ b/dev-java/oracle-jre-bin/Manifest
20 @@ -4,3 +4,5 @@ DIST jre-7u80-linux-i586.tar.gz 48558751 SHA256 b773aef1458a4adde03af62f8163c7e4
21 DIST jre-7u80-linux-x64.tar.gz 47110223 SHA256 4c01efd0d8e80bb6e2f324ec3408ce64f066d4506c7ec93a491f615a4523f4f3 SHA512 e61e78ab1be0313690e8ab8d6cbae7366dd78aa4716f47c8908178196b658b94ee318dd04043965a72c34d8ef5c1cb4902afaa2188e76eb944256f090339107d WHIRLPOOL 1af7417b327402abaf4074445f051924de8b19810668890e089b66a488dddfc7f50cdd96a012130a591940338177164f66c83caf54c5d6d370be27d119a907fe
22 DIST jre-8u51-linux-i586.tar.gz 65731094 SHA256 e59a6fc88e1fc62167be684ffd5de90f5d31f1c7b7e6361dde24b45afeaa8d3a SHA512 6b459f70c1bc4007a0e10e89682c5c33601b795f6693eda0836e49b9e248229e109947232aef7b9d15b38f92931a134bc96833408e44572bf3f3b2da301ad275 WHIRLPOOL dca9c6d3f68917561d1bc84fb9d33ba01907d57eee1487c7e080989a6b89332a4f8e198717b8c4fe992c71d6715aa0e058bb02bd9b90ed8a7055cbc1747e4311
23 DIST jre-8u51-linux-x64.tar.gz 63861111 SHA256 25c2146b4ff1a12a9449589f8372f7f67cb63d6f6ad2b7f9ec92181cd3a31cee SHA512 7b3c8be7ba4014041e86b2dd597d027285185f9e8a484110bea589d73e4e35a9d709d57198610f466ea05ef8ea4b7e696f1fc844a60511d0ba111f666de5cf44 WHIRLPOOL 1472b32649afbed578eaf1b31006a2020bd217a3f75b9b7d7bc2fd8c32bcd422dfd46e7d11e2e5e34904a1f5cc0bd03885cb0c1515ccd63985ca974a6d61eddb
24 +DIST jre-8u60-linux-i586.tar.gz 73863653 SHA256 8e05fa8bf73937d5e63ae80583f1e33858f0ef6be23701fd3b0070ea7af4d93a SHA512 bc267a77afe86d0a685e724e75db914a55570ceb3e6b4845b51cbef35f6dc38f387cfc58e1539236d8857f035d45ede51e651ee87f49ca540818f79ded4e373a WHIRLPOOL bc8fafe1a6b81beb1a3a8893bbbbc1d3d3d1359f98c3dc94e1f3c391fec5d188cea565febd0266152408a9dccd53ee3519ab88d8fbddf40cdffd27f856db231f
25 +DIST jre-8u60-linux-x64.tar.gz 71680110 SHA256 49dadecd043152b3b448288a35a4ee6f3845ce6395734bacc1eae340dff3cbf5 SHA512 80dc232dd1ab770ccb5c267cd528fdb47546eeb08795d8eb8a5088aed536151855d07350e5a47bbd8404afc86857ab784ecc419802ebc41860cc71560fdb2c5e WHIRLPOOL 5d51d6f7ecdf59e0a897726954c13777f9678f2c511cb5367f8524a879ef33596ad869252b2663d6a1761fb98e7aaf5617aa379de2298f5507132b65053318a0
26
27 diff --git a/dev-java/oracle-jre-bin/oracle-jre-bin-1.8.0.60.ebuild b/dev-java/oracle-jre-bin/oracle-jre-bin-1.8.0.60.ebuild
28 new file mode 100644
29 index 0000000..b6ecede
30 --- /dev/null
31 +++ b/dev-java/oracle-jre-bin/oracle-jre-bin-1.8.0.60.ebuild
32 @@ -0,0 +1,230 @@
33 +# Copyright 1999-2015 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +# $Id$
36 +
37 +EAPI="5"
38 +
39 +inherit eutils java-vm-2 prefix versionator
40 +
41 +# This URIs need updating when bumping!
42 +JRE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html"
43 +JCE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html"
44 +
45 +if [[ "$(get_version_component_range 4)" == 0 ]] ; then
46 + S_PV="$(get_version_component_range 1-3)"
47 +else
48 + MY_PV_EXT="u$(get_version_component_range 4)"
49 + S_PV="$(get_version_component_range 1-4)"
50 +fi
51 +
52 +MY_PV="$(get_version_component_range 2)${MY_PV_EXT}"
53 +
54 +AT_amd64="jre-${MY_PV}-linux-x64.tar.gz"
55 +AT_x86="jre-${MY_PV}-linux-i586.tar.gz"
56 +
57 +JCE_DIR="UnlimitedJCEPolicyJDK8"
58 +JCE_FILE="jce_policy-8.zip"
59 +
60 +DESCRIPTION="Oracle's Java SE Runtime Environment"
61 +HOMEPAGE="http://www.oracle.com/technetwork/java/javase/"
62 +SRC_URI="
63 + amd64? ( ${AT_amd64} )
64 + x86? ( ${AT_x86} )
65 + jce? ( ${JCE_FILE} )"
66 +
67 +LICENSE="Oracle-BCLA-JavaSE"
68 +SLOT="1.8"
69 +KEYWORDS="~amd64 ~x86"
70 +IUSE="alsa +awt cups +fontconfig javafx jce nsplugin pax_kernel selinux"
71 +
72 +RESTRICT="fetch preserve-libs strip"
73 +QA_PREBUILT="*"
74 +
75 +# NOTES:
76 +#
77 +# * cups is dlopened.
78 +#
79 +# * libpng is also dlopened but only by libsplashscreen, which isn't
80 +# important, so we can exclude that.
81 +#
82 +# * We still need to work out the exact AWT and JavaFX dependencies
83 +# under MacOS. It doesn't appear to use many, if any, of the
84 +# dependencies below.
85 +#
86 +RDEPEND="!x64-macos? (
87 + awt? (
88 + x11-libs/libX11
89 + x11-libs/libXext
90 + x11-libs/libXi
91 + x11-libs/libXrender
92 + )
93 + javafx? (
94 + dev-libs/glib:2
95 + dev-libs/libxml2:2
96 + dev-libs/libxslt
97 + media-libs/freetype:2
98 + x11-libs/cairo
99 + x11-libs/gtk+:2
100 + x11-libs/libX11
101 + x11-libs/libXtst
102 + x11-libs/libXxf86vm
103 + x11-libs/pango
104 + virtual/opengl
105 + )
106 + )
107 + alsa? ( media-libs/alsa-lib )
108 + cups? ( net-print/cups )
109 + fontconfig? ( media-libs/fontconfig:1.0 )
110 + !prefix? ( sys-libs/glibc:* )
111 + selinux? ( sec-policy/selinux-java )"
112 +
113 +# A PaX header isn't created by scanelf so depend on paxctl to avoid
114 +# fallback marking. See bug #427642.
115 +DEPEND="jce? ( app-arch/unzip )
116 + pax_kernel? ( sys-apps/paxctl )"
117 +
118 +S="${WORKDIR}/jre"
119 +
120 +pkg_nofetch() {
121 + local AT_ARCH="AT_${ARCH}"
122 + local AT="${!AT_ARCH}"
123 +
124 + einfo "Please download '${AT}' from:"
125 + einfo "'${JRE_URI}'"
126 + einfo "and move it to '${DISTDIR}'"
127 +
128 + if use jce; then
129 + einfo "Also download '${JCE_FILE}' from:"
130 + einfo "'${JCE_URI}'"
131 + einfo "and move it to '${DISTDIR}'"
132 + fi
133 +
134 + einfo
135 + einfo "If the above mentioned urls do not point to the correct version anymore,"
136 + einfo "please download the files from Oracle's java download archive:"
137 + einfo
138 + einfo " http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jre-${MY_PV}-oth-JPR"
139 + einfo
140 +
141 +}
142 +
143 +src_unpack() {
144 + default
145 +
146 + # Upstream is changing their versioning scheme every release around 1.8.0.*;
147 + # to stop having to change it over and over again, just wildcard match and
148 + # live a happy life instead of trying to get this new jre1.8.0_05 to work.
149 + mv "${WORKDIR}"/jre* "${S}" || die
150 +}
151 +
152 +src_prepare() {
153 + if use jce ; then
154 + mv "${WORKDIR}"/${JCE_DIR} lib/security/ || die
155 + fi
156 +}
157 +
158 +src_install() {
159 + local dest="/opt/${P}"
160 + local ddest="${ED}${dest#/}"
161 +
162 + # Create files used as storage for system preferences.
163 + mkdir .systemPrefs || die
164 + touch .systemPrefs/.system.lock || die
165 + touch .systemPrefs/.systemRootModFile || die
166 +
167 + if ! use alsa ; then
168 + rm -vf lib/*/libjsoundalsa.* || die
169 + fi
170 +
171 + if ! use awt ; then
172 + rm -vf lib/*/lib*{[jx]awt,splashscreen}* \
173 + bin/{javaws,policytool} || die
174 + fi
175 +
176 + if ! use javafx ; then
177 + rm -vf lib/*/lib*{decora,fx,glass,prism}* \
178 + lib/*/libgstreamer-lite.* lib/{,ext/}*fx* || die
179 + fi
180 +
181 + if ! use nsplugin ; then
182 + rm -vf lib/*/libnpjp2.* || die
183 + else
184 + local nsplugin=$(echo lib/*/libnpjp2.*)
185 + fi
186 +
187 + # Even though plugins linked against multiple ffmpeg versions are
188 + # provided, they generally lag behind what Gentoo has available.
189 + rm -vf lib/*/libavplugin* || die
190 +
191 + dodoc COPYRIGHT
192 + dodir "${dest}"
193 + cp -pPR bin lib man "${ddest}" || die
194 +
195 + if use jce ; then
196 + dodir ${dest}/lib/security/strong-jce
197 + mv "${ddest}"/lib/security/US_export_policy.jar \
198 + "${ddest}"/lib/security/strong-jce || die
199 + mv "${ddest}"/lib/security/local_policy.jar \
200 + "${ddest}"/lib/security/strong-jce || die
201 + dosym "${dest}"/lib/security/${JCE_DIR}/US_export_policy.jar \
202 + "${dest}"/lib/security/US_export_policy.jar
203 + dosym "${dest}"/lib/security/${JCE_DIR}/local_policy.jar \
204 + "${dest}"/lib/security/local_policy.jar
205 + fi
206 +
207 + if use nsplugin ; then
208 + install_mozilla_plugin "${dest}/${nsplugin}"
209 + fi
210 +
211 + # Install desktop file for the Java Control Panel.
212 + # Using ${PN}-${SLOT} to prevent file collision with jre and or other slots.
213 + # make_desktop_entry can't be used as ${P} would end up in filename.
214 + newicon lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png \
215 + sun-jcontrol-${PN}-${SLOT}.png || die
216 + sed -e "s#Name=.*#Name=Java Control Panel for Oracle JRE ${SLOT}#" \
217 + -e "s#Exec=.*#Exec=/opt/${P}/bin/jcontrol#" \
218 + -e "s#Icon=.*#Icon=sun-jcontrol-${PN}-${SLOT}#" \
219 + -e "s#Application;##" \
220 + -e "/Encoding/d" \
221 + lib/desktop/applications/sun_java.desktop > \
222 + "${T}"/jcontrol-${PN}-${SLOT}.desktop || die
223 + domenu "${T}"/jcontrol-${PN}-${SLOT}.desktop
224 +
225 + # Prune all fontconfig files so libfontconfig will be used and only install
226 + # a Gentoo specific one if fontconfig is disabled.
227 + # http://docs.oracle.com/javase/8/docs/technotes/guides/intl/fontconfig.html
228 + rm "${ddest}"/lib/fontconfig.* || die
229 + if ! use fontconfig ; then
230 + cp "${FILESDIR}"/fontconfig.Gentoo.properties "${T}"/fontconfig.properties || die
231 + eprefixify "${T}"/fontconfig.properties
232 + insinto "${dest}"/lib/
233 + doins "${T}"/fontconfig.properties
234 + fi
235 +
236 + # This needs to be done before CDS - #215225
237 + java-vm_set-pax-markings "${ddest}"
238 +
239 + # see bug #207282
240 + einfo "Creating the Class Data Sharing archives"
241 + case ${ARCH} in
242 + arm|ia64)
243 + ${ddest}/bin/java -client -Xshare:dump || die
244 + ;;
245 + x86)
246 + ${ddest}/bin/java -client -Xshare:dump || die
247 + # limit heap size for large memory on x86 #467518
248 + # this is a workaround and shouldn't be needed.
249 + ${ddest}/bin/java -server -Xms64m -Xmx64m -Xshare:dump || die
250 + ;;
251 + *)
252 + ${ddest}/bin/java -server -Xshare:dump || die
253 + ;;
254 + esac
255 +
256 + # Remove empty dirs we might have copied.
257 + find "${D}" -type d -empty -exec rmdir -v {} + || die
258 +
259 + set_java_env
260 + java-vm_revdep-mask
261 + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
262 +}