diff options
Diffstat (limited to 'dev-java/oracle-jdk-bin')
-rw-r--r-- | dev-java/oracle-jdk-bin/Manifest | 18 | ||||
-rw-r--r-- | dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.111.ebuild (renamed from dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.101.ebuild) | 0 | ||||
-rw-r--r-- | dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.112.ebuild | 366 |
3 files changed, 380 insertions, 4 deletions
diff --git a/dev-java/oracle-jdk-bin/Manifest b/dev-java/oracle-jdk-bin/Manifest index 8bc222587c4f..105bed11caa7 100644 --- a/dev-java/oracle-jdk-bin/Manifest +++ b/dev-java/oracle-jdk-bin/Manifest @@ -1,8 +1,4 @@ DIST jce_policy-8.zip 8409 SHA256 f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59 SHA512 abbaa81a35f904ec61b4cf3c2d1ca8c8d49e53bb248e698185eea906939d68f5063412800585ec74027aab1012ef189aebe1dc99fe8ef4230a0ecb0b527f88e5 WHIRLPOOL 8c9ce1ea4673b75fa6271b74e598880f98361d5d2c9c25439fa0af3d07cfeb871b39682dae4e38160f49770b1fec953162e451b9b2cf44d2c72a226944212bcc -DIST jdk-8u101-linux-arm32-vfp-hflt-demos.tar.gz 10431884 SHA256 5426040890772b3008ec134d9c11e9bf18f6b01a342ce76c1829f8bbf194964e SHA512 cd59a278570e6c4cdec1ca9db8200d3a9a0ab49bf561e23139b6987cebede3ca3bd332668ccb1bee6ad4ef05b7385e2939c2556a4a31da70e58f0c704db99724 WHIRLPOOL 3a989a7cae0b77ba53557e7972a5b582d78dfa005bd1f018cb27e0b3df9b45a1da592a86e0e954129772c278926b648dd5cf09b4ff347917e5978c9a23159626 -DIST jdk-8u101-linux-arm32-vfp-hflt.tar.gz 81542641 SHA256 9819bd28af551589c8ea599c5b8b5cdf1aa86dacc9a75c31dd611bda27ae38a4 SHA512 861752cb55a4ba52961e6328b71ca02cbe3d911965f74b9e45304cfcf68f8753f89d343343b0effa4f74bf06e09dc9223a83df84dc7f5c37c84262f97738422a WHIRLPOOL 1251b2dbe5b4c82ca0e024c02210d70575d2650c78363b87e2eecf8b416e7d1579d5657d63342384153bd11912e6a1f8a5b0edb10fb8f7b1ad7e51d77615621c -DIST jdk-8u101-linux-arm64-vfp-hflt-demos.tar.gz 10386441 SHA256 4f598169e972c6378e19cb06cec35d0fe9e13ea95209897a40c50dd69cd47e88 SHA512 8b7c44bf006108a780b18111f3a21bbd867555a21dce4bcad661c27b6cddbf28cdd78a15f9056916b9f179e41d320586288d5e12853564e59a9e4a4db5be0a13 WHIRLPOOL bef6e3c3551bcd40efa629f6f65b4aaf7d82c5ccc43ff168f4ee8b6a3221863f79c47ce76bf3757cca16638127b32694e08bfe478d82f18bd1df04aa8818010c -DIST jdk-8u101-linux-arm64-vfp-hflt.tar.gz 78347134 SHA256 795df50a2991e84866ccd251111cfa1cf72d1859aa77d4cc1a8fa2419d254bcf SHA512 63f888187f045f946a30ce52cc853ace44a13a64ce2eea51d971eecf740b0cd435fb44a76e2dbb93a668ac7c262012ea61712af719c323b330b4b003f48ce686 WHIRLPOOL 688af78a6f9ef01987cf046dc99864816f3cff6764a8cc3e83c90f5e5b8012cf18f8e29e5ef82ef6c10699ec034c9e513c3f0a4926e6dc7587aeb009e9055578 DIST jdk-8u102-linux-i586-demos.tar.gz 55067513 SHA256 a7931ebf57eb967fadc7ef68370600c42e612658cda5d1b638283935d9b0e47e SHA512 7de446ff15e597a36b467bb3f762ef99b5de80c1cee5e4b645cab124dbc9eeccc1cd7240af933db1a68a2e0828afde63772968371834354a296cd65e05df362d WHIRLPOOL 4b9b680ce9776b0fa6abeee220279131d333dfb169fe53736a31454ca137ee2b70c830006b05a75e92ad5d9dd3e70ba7cc8a8f4dad0050db896527b2683d770b DIST jdk-8u102-linux-i586.tar.gz 183529522 SHA256 ed08112bad8e63c1c102ab52fccef930849b6cbadc5e9a816e12a99ddcbb5eaf SHA512 23a4c75161d3d0a6097640d1a4ef6b268e9555bc5dd425e3772374a5ed002a14932011972a05f966aaff48b7371fa150af3ddce5ab810b5b1b0fcd4993e1e53d WHIRLPOOL 5eeb83aa099574e2ecfb8c53770accd47642e624374aaa47e4c7cf909841ab4ce275926966bb68a5156302461d7c2badbb5f395357b14900ceb0a4048f9c4788 DIST jdk-8u102-linux-x64-demos.tar.gz 55097110 SHA256 07c96706b029f92e7c5f783af03f837bafa4e9fffd3ae1aadba3b412f20dbf6b SHA512 d8fc956a463583466596c0fe89a96e05971f358a3385c80ccff0b6b18b37505b31f1033594f9a2611de4cf2d4b378fa324018e0cc0e9392ab0f07f106962d7e5 WHIRLPOOL ac7028d7f6279bf8b601c69bf83e2ffa4119c358f6fb85d9dd49ff98959e97704fd1918fcf360da5a2b17509b17293e1b4cbf88715cb04b6d8efac734b6bab0f @@ -13,3 +9,17 @@ DIST jdk-8u102-solaris-sparcv9-demos.tar.gz 9785269 SHA256 627331a28b33cbafea7e3 DIST jdk-8u102-solaris-sparcv9.tar.gz 103789000 SHA256 8a720552ee679b7a4d207b16c8fa5d30222f7be3f9a0081a71a913b73b4f35a5 SHA512 af7b8d3ae6e322ab0a17e555debd48e2a210450b70382f8f9e5b89045d9320728de05c7dd2f7407261b1d679029c0bce15569f413b56258c790400972f4035c8 WHIRLPOOL 24569d67a55464a96d0564ec619739d1c764d64986be0ea709d61b6306876b7386a20e3165aee3b41a3c6a6965d216abd1e5896b08dee630bcec8157cfec7637 DIST jdk-8u102-solaris-x64-demos.tar.gz 9721135 SHA256 a7951a0a3c3ee52afa3ddd3ec4a8d25de02217dd2062a7f051e056ade83558f4 SHA512 354ade36a5af449eb43c9a8539ee5ffedb660981d5a9ee86887946b1df38f633f8841b35016d966c9116fd4c8ef23c92f220a42201e92a69d12a711675e51df9 WHIRLPOOL 62e84c7f8ec1a2d952b76510521fec814e2f476bbdf1effd92f7defcd04447a30001c1ba0127e1a6a9378aead56a7893f040d3526918f0326816487c5fca5af2 DIST jdk-8u102-solaris-x64.tar.gz 100915566 SHA256 a3842c793a894beb0c836ffaf385e569b76d51a4efb9d0476cc26f0a02342684 SHA512 bf43f4bb4c706b0175182eb68063dee55cd4cd9e584f2df7b71c57368e6809be3f40b1138e6866f7f9a1dd0ac2c13a13ef4de8a38dfb94aea3194456a82ebb56 WHIRLPOOL 81a433b08f4d02c834d19d5dc612f4dc7ddac86e4e9d2a39041c96f09e8e1f715e4a9add330322a62e398c495b48f7a9a2fb8738a6c92d7e4280d0a31d3e3896 +DIST jdk-8u111-linux-arm32-vfp-hflt-demos.tar.gz 10406594 SHA256 dbd7ac2a37772db34bd4b5cf4bde03197666b31bc5a7216b6b6443bb5f9d6c8e SHA512 e04f23ba6cfb28316d692b52fbe79409f8cbd7bd0fcbf68d380230cf3dcc7572e77b928c189b9e997e0a526bd651b00328bab1f42d2d96454281015299cfa598 WHIRLPOOL 2113076a5ba391d4be4e5d895025c10b222c4bd31052f555256d01662701249105bf562eecd6f90553e6c7907ea4f2f70df1d10e6792ac279e6b919aef1f5e2c +DIST jdk-8u111-linux-arm32-vfp-hflt.tar.gz 81562420 SHA256 add3f9685161337fd31e433ea9b19231d6b40561dc40826057930fa2d76d7925 SHA512 efc83a3ec852448119e2b01fb4e97f061c77bc389faff4eaebde47561cd599f520dc6d617a61beacacf526badc7642d78f435d2a8972f2a33fa4c7323d09a09a WHIRLPOOL 62eea25fba522b27904dcde7664b33d6a978d6d445b56f272ece304e6d0c81f1537d573c2ea6d8e1e1c9c1d9ad5edb01e0c5b1f322172543d4fc363dc7e9da59 +DIST jdk-8u111-linux-arm64-vfp-hflt-demos.tar.gz 10422107 SHA256 226d7cc2e58b8956011846460fafacba62d4c0205c642602740cfd65ac60a91b SHA512 0ab1616924e399df4ee32b569b984a1dad01024ae723fa6d7989b79871945d824ed51e9baab3e5a81c1b867b6ed231aabc2577eca062d3ddb8d2a7f3fbb653bf WHIRLPOOL dff54472e3725a02d454a0c4dba426dd67effac23fa18ae6af4572ca75cd4098aca9425884824d8e2c2ea04d4be3f23af6a1154eb647b410fbf559c5fe9f759e +DIST jdk-8u111-linux-arm64-vfp-hflt.tar.gz 78359608 SHA256 8fd6be278b1d312c53897de66e9bd2e6eb5ce0d5b62da8bbd9b1333dc190ed15 SHA512 c3168910cca15ffa9d0ca8026baf92f1c914d28ebb4e1feb78bc7e94d24ea814cfa0456d3febd93d66aa1f65ca082a5eda2c4651889314dfc47d7e819350c6e1 WHIRLPOOL 304a2936756a40001db6fe923106838fccbfe484454d9a31879666ce01578800086e8657e28d489401ab12b058690c4638cd5bd437c4368b6a887b02c9cc9922 +DIST jdk-8u112-linux-i586-demos.tar.gz 55066408 SHA256 8b3c5fe1b5c6dcec93172f79b4629898bb51daf8e7b57ea58e632185900f3d64 SHA512 cdc30633bd1d1f3b18ccb8fad22befc5df2b02e90519cca248d2e073c71439733f6913aea852894fe0b76cd8d91cadb8365d965dcad562233d882b95371455a6 WHIRLPOOL 037f592c521ba0351ce4f67248a8538d5470baa08c23f41c19637e0b6b643705b496d2dc43fd59a624350d4f90b8d4d08f24a9b2f2c9ce822ebb7295dba5f4b8 +DIST jdk-8u112-linux-i586.tar.gz 185725687 SHA256 1e7c2fb80b339dd65f261d37e26ffd5f3136e5ff8778026ed227b47516df69a5 SHA512 c6b855d870013a526cc2f4e133310ddca0e6a5276d02e0972c04a05e107a2654d5199fef296c91a4284e0a66bc9fbb0c0aa5ea49ae4a0f83319f5595a0c857fa WHIRLPOOL 691788fcdb4513d8c974968b567430b24e80f38f34dc26b8c0cf267451c618975596b5891807c59624b2bd56fa0996db4d729a1d297531f3cbbe8a6ea70e4424 +DIST jdk-8u112-linux-x64-demos.tar.gz 55099439 SHA256 d5cf33c3daf8cd3cf476092283288126d2e4636c7ab0b183f0155d72d91b5c9e SHA512 6ff4bbceba63f1cc23183a1248a93a5968b80ec660029c69f60a9b96ad261651be1117348b50b634e02da0250b0432a0fdb1cb2ab515445eaad0ef7a4ae38269 WHIRLPOOL 9344364253c8ee9158e31bc96f98ab0e502d1b8ce98f816f88b81f9478b6e71bdb18d88edb7a8165dcbc8b2350082fb6a21c46e6caaf2663484f855713e7cedd +DIST jdk-8u112-linux-x64.tar.gz 183212596 SHA256 777bd7d5268408a5a94f5e366c2e43e720c6ce4fe8c59d9a71e2961e50d774a5 SHA512 6f3c5851e4c1c6b9c2cabc05a4781dcf46b4e28469ac8637bcfcb3527027ba57bf89e59c8b87754a34f602f75bf3ea890825ab6ae63fdb7c118d6460a1435c94 WHIRLPOOL 5bc7fc00dbeaaaa32b1e8b42e5523f7c4b2ec66b65c6a2416ffb3761880575bb4c7b38ea88f527f553622f026eee616404fa1a3d8183c5cb1ae9a932eab7dc37 +DIST jdk-8u112-macosx-x64.dmg 233985686 SHA256 c9ebb729acb0ee8e6fbeda85751be20b024c45e3ebb83cc7c624908ffb8a466d SHA512 27cb0d5d823eaa90fbcb444f39b913bb37e2edad9d6e934378b1fae590c7410c52c064c2c70dcde7a1536616fb103791c7686b662eacb650a2048229e2048005 WHIRLPOOL bcf8f754ec63b1bd178400b1ff692426283ef2c8d503ba87945149176048fa7247f94b0385b18bbf3349d20a7b44a03af3506c3d9d10d9f983d3e2ddcc74a615 +DIST jdk-8u112-macosx-x86_64-demos.zip 55667608 SHA256 f648039d3553c10f06b603ad6e7925ffdb9b552929447ca9108c1a350358f337 SHA512 990e64dde1cbcc71b73b8f51ae8d3b9dec8d6fb760b5ce20a9e22f9272a46ab79caa4e597adc838b6e8179ef55ecff2a1a84a48554a6cedc6ab483a32b24e682 WHIRLPOOL 98e668d71268b37771ef00304394c3410dd07ad5b0734df1f27129d9686aebe2b1fade01609578fa334cdec060921e001fd8146ac1107bba39eed6ffeb92c69f +DIST jdk-8u112-solaris-sparcv9-demos.tar.gz 9804200 SHA256 acd7237d7e3efc69d3769e80950fabcb4030372655f891979ad9312900ee2626 SHA512 07eb243589bae496770bc6a4fd0b3d1d2d0ab05f3a4afcdf5cd1d6fe656fbb489090e3d9f807766cc82571cd662dac5060ce8fbc6767c42373a5962ef59f9078 WHIRLPOOL a45b5e003db65591af847e62eee724ae826692dc06cba49721c0810d8ba6801660ddd45144e4a90bb5000829b5588f90151d757d1f5f3618bb64f4894d809504 +DIST jdk-8u112-solaris-sparcv9.tar.gz 103876511 SHA256 f01739d94564eced651ea93ce5d98d1ccbb63fa99a4b7a7c3db99d03e30cf475 SHA512 ef4463b8a7e49d4ddf5aa5bca6f279ed4d3fbeca867aecb1f0c30661b8a08bbf1d0a5a8ecddc4f951e8655bb8d936b63090034d09fa7cca3a4012602a7f775c8 WHIRLPOOL f2bd24163c905fc1e800267b4e1d1f4856ceaca409a24b1ba406fa779d5b78917de5bd4acaf54177220d6abd824b33b6e2e351604681e27be13e7b15c2072254 +DIST jdk-8u112-solaris-x64-demos.tar.gz 9755514 SHA256 bbd8e55531ae6b1f6ad759334ffd62c1746912822326915def857351df3a7d95 SHA512 182ed642f76de2e15eba7bb96c09f75d14dfe9bb3b85c881521cda3746b90419eefef3941545f37d3fd81ec98509ae9003f9b419c3277ad58c0ed412b8b07b48 WHIRLPOOL 1007923893b91c0a636b5a710d98d137f34069e875382dc45b79977c6eff4166fcc10f134a9630966247597012668ff6b9dbc532273902175c9ac356b7b3686a +DIST jdk-8u112-solaris-x64.tar.gz 101560691 SHA256 8adb58456c1860be9e73e28a4d249b478918d331f2dbcbbbac7c558708b8b754 SHA512 f7aeb0c4c8904014e247cf57ff30a53c804f06454f3b7eadfc2b831d59961a35ec29b0a3d1beb7809bf05fed452b898637fd54e2b59d3caccae76cd2fbf4e776 WHIRLPOOL 60967fb1930ce00298a11f4488b9e52a48f2f01fd2df60bffab095c968a5c1f2a383cc454331e6d43d5fab8ed703861783268faa8328fbff55742e542b4bd934 diff --git a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.101.ebuild b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.111.ebuild index 9840a6ffac15..9840a6ffac15 100644 --- a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.101.ebuild +++ b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.111.ebuild diff --git a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.112.ebuild b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.112.ebuild new file mode 100644 index 000000000000..3087defe07e9 --- /dev/null +++ b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.112.ebuild @@ -0,0 +1,366 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +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 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 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 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc64-solaris ~x64-solaris" +IUSE="alsa cups derby doc examples +fontconfig headless-awt javafx jce nsplugin pax_kernel 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 )" + +# A PaX header isn't created by scanelf so depend on paxctl to avoid +# fallback marking. See bug #427642. +DEPEND="app-arch/zip + jce? ( app-arch/unzip ) + examples? ( x64-macos? ( app-arch/unzip ) ) + pax_kernel? ( sys-apps/paxctl )" + +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 + mkdir dmgmount + hdiutil attach "${DISTDIR}"/jdk-${MY_PV}-macosx-x64.dmg \ + -mountpoint "${T}"/dmgmount + local update=$(get_version_component_range 4) + [[ ${#update} == 1 ]] && update="0${update}" + xar -xf dmgmount/JDK\ $(get_version_component_range 2)\ Update\ ${update}.pkg + hdiutil detach "${T}"/dmgmount + zcat jdk1${MY_PV%u*}0${update}.pkg/Payload | cpio -idv + mv Contents/Home "${WORKDIR}"/jdk${MY_PV} + popd > /dev/null + 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 + + if [[ -n ${JAVA_PKG_STRICT} ]] ; then + # Mark this binary early to run it now. + pax-mark Cm ./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 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 + + 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.* + 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. + pushd "${ddest}"/jre/lib > /dev/null || die + local lib needed nlib npath + 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}" \ + "${lib}" + done + popd > /dev/null + + # This is still jdk1{5,6}, even on Java 8, so don't change it + # until you know different. + for nlib in jdk1{5,6} ; do + install_name_tool -change \ + /usr/lib/libgcc_s_ppc64.1.dylib \ + /usr/lib/libSystem.B.dylib \ + "${ddest}"/lib/visualvm/profiler/lib/deployed/${nlib}/mac/libprofilerinterface.jnilib + install_name_tool -id \ + "${EPREFIX}${dest}"/lib/visualvm/profiler/lib/deployed/${nlib}/mac/libprofilerinterface.jnilib \ + "${ddest}"/lib/visualvm/profiler/lib/deployed/${nlib}/mac/libprofilerinterface.jnilib + done + fi + + set_java_env + 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 +} |