diff options
author | James Le Cuirot <chewi@gentoo.org> | 2017-03-05 11:51:51 +0000 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2017-03-05 11:52:24 +0000 |
commit | 04bebaeddab30853c0529edf81fb11c4f7916d36 (patch) | |
tree | 9f4dba51460272de873e62173796cd1dc3628bf4 /dev-java/icedtea-bin | |
parent | dev-libs/fddl: EAPI 6 (diff) | |
download | gentoo-04bebaeddab30853c0529edf81fb11c4f7916d36.tar.gz gentoo-04bebaeddab30853c0529edf81fb11c4f7916d36.tar.bz2 gentoo-04bebaeddab30853c0529edf81fb11c4f7916d36.zip |
dev-java/icedtea-bin: Use OpenJDK EC code instead of NSS, bug #605430
IcedTea links both dynamically and statically to NSS in a way that
causes breakages even between minor NSS versions. Linking it entirely
statically was proving awkward so I'm using OpenJDK's own EC code,
which is largely duplicated from NSS anyway. This deals with
3.3.0. I'll deal with 7.2 when I bump it soon.
Package-Manager: Portage-2.3.4, Repoman-2.3.1
Diffstat (limited to 'dev-java/icedtea-bin')
-rw-r--r-- | dev-java/icedtea-bin/Manifest | 4 | ||||
-rw-r--r-- | dev-java/icedtea-bin/icedtea-bin-3.3.0-r1.ebuild | 153 |
2 files changed, 157 insertions, 0 deletions
diff --git a/dev-java/icedtea-bin/Manifest b/dev-java/icedtea-bin/Manifest index e98524d2d94e..a86c1b453cc6 100644 --- a/dev-java/icedtea-bin/Manifest +++ b/dev-java/icedtea-bin/Manifest @@ -14,3 +14,7 @@ DIST icedtea-bin-examples-7.2.6.8-amd64.tar.xz 1796596 SHA256 115bc46dcd307ca9ab DIST icedtea-bin-examples-7.2.6.8-x86.tar.xz 1796976 SHA256 50c9601c379d51d732ad7e349d2b873973ff2b1f383d7fade4fb2139eee15e8f SHA512 ab3101a86fcc62c2ca159830dffaff561f54cf1dc75ebce45efd72341881c97b078b8213040f70e41b421b17d81c3fa093371be2e160bcfaca7d5ef6ad2dfd31 WHIRLPOOL e2ebfc5fc099e03eab164d09d7ad13db8b97fcb6514961e5b0203bcb42f4ba28a45aadcbcbccf9d6933beb98c6929cecd6f61a51e5260d7c1a078d8d5535f921 DIST icedtea-bin-src-3.3.0.tar.xz 45698204 SHA256 47aca8467e1b5baf61ba59d80786a54d2f5b2f4651de2d87604ecab0318117a2 SHA512 668d8fa653d2e773c633e74f9043c7ee0a67f04775c8e317f2515c47a85a0cb2732e2d7a30ad0ce05521c32e6d1de19ccfbc7558b4b3d4b60b73765e1a854eaa WHIRLPOOL 0fd4dd6a7483dbd5826938922a339364b006324f01da7d39eba7d38eb73010abd47f9cfe5b16d419163c34e302973e4c5eba0c1fcf759f584dd3d7947c3a59ad DIST icedtea-bin-src-7.2.6.8.tar.xz 40105456 SHA256 9fcc1ebcfa3518804c45215f4e83ea282a87dff2b4b52461cd878c77a5812b2d SHA512 3ba29db8f6edeb3433d03a1b679ea21ead501c7e343fdee15531ff0e86061bca3e37498c75362aaee319424dc6464803659c24089def3f3c579bcf86fe7a6ba6 WHIRLPOOL d0ab4d61ba741b9955deb958927efff871c8941127707dee860a4317c1fdf17301b456739591a81f998d9a2bdaf55eccdd26717df228e9c70960b101e8dd7ab3 +DIST icedtea-bin-sunec-3.3.0-amd64.tar.xz 58104 SHA256 4a6a621b8fe4375e4bb8b5af40b05601ed51e7afa2a487cd58f0f3da1d634f09 SHA512 0753b3880f2337c60c34b31d60ffbd98e3f11da130771301a6fa01ae4d407705f41f99d53740bcce7972e62df3f277a1c8d4b6c8c5127c349bf0e78daac0b36c WHIRLPOOL 500fcbd2dca3e652804f04b0fc1dc57974d44e1556fdfa7cead513228765cf4f5e664a3771316fb85612efbdbe0eda2302042dda05f43a868c6cb68bcc6d713d +DIST icedtea-bin-sunec-3.3.0-arm.tar.xz 54160 SHA256 17551c0f12d9769ec5a94c33aac4f8feba71b7c9ed6ce2ddc22d2b9165cae062 SHA512 4e53cbd500bcfc62a491c2e1f7a3bf1e75080e4e5694406d2fe2eea983b506893d6d076262af196ea728f0a15963d6219c3745b32b2e8501a5ac5239b047eaff WHIRLPOOL 2aeb9f1841839ba58c14bc5be2c9a43dcede9b4ecf200d20338977d94c99a5d9fdb972af51176cc2496189f1fbfaf438f138db7e9787bbe0ce924c75acf9fce6 +DIST icedtea-bin-sunec-3.3.0-ppc64.tar.xz 52984 SHA256 796d90328f9ae45eabf0d1f18a3be69468433dfc742c21469a092f5933559fbb SHA512 55ce61e02381bab6951acc652e57a0870ac31076f23a3ab53bf8b6facb3357dba50d93f3cc7f40eed15e17adb91ebc6f4d944a680ff5bfc7d343caf14014dc18 WHIRLPOOL 8f7f217025d9eb20042fdb0adae03fc34fca21ff59c9c9adb61982da785eab64cb2f87bc7e9fb5c7d9012e27f4a11198c5fa0f1b08dc086c42ed4b55315b2ee5 +DIST icedtea-bin-sunec-3.3.0-x86.tar.xz 68916 SHA256 9805096afc88877ec906eac355962324a621c13256c4bb57753dfaaa0ccff2da SHA512 66b333d84d7b365f53a9c4aba7c0f848d39cdd3580a0065afeff18a3f57701f2ea8ca4342dc48d49b41e837cb1b4f79ead2d85dad4a3293fa128373f100b9009 WHIRLPOOL 17b73389a4c175b7238da8553b79e98a87774212ba413a2f64178717df36432e1b1bdd0f56b2e96177f5257d8e9f433e9b08a3b23096a05179676f480f4d3a8f diff --git a/dev-java/icedtea-bin/icedtea-bin-3.3.0-r1.ebuild b/dev-java/icedtea-bin/icedtea-bin-3.3.0-r1.ebuild new file mode 100644 index 000000000000..80e7bd7d99fe --- /dev/null +++ b/dev-java/icedtea-bin/icedtea-bin-3.3.0-r1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# Don't block arm. See bug #600134. +#MULTILIB_COMPAT=( abi_ppc_64 abi_x86_{32,64} ) +KEYWORDS="-* ~amd64 ~arm ~ppc64 ~x86" + +inherit java-vm-2 multilib-build toolchain-funcs + +BASE_URI="https://dev.gentoo.org/~chewi/distfiles" +SRC_URI="doc? ( ${BASE_URI}/${PN}-doc-${PV}.tar.xz ) + source? ( ${BASE_URI}/${PN}-src-${PV}.tar.xz ) + multilib? ( amd64? ( abi_x86_32? ( ${BASE_URI}/${PN}-core-${PV}-x86.tar.xz ${BASE_URI}/${PN}-sunec-${PV}-x86.tar.xz ) ) )" + +for abi in amd64 arm ppc64 x86; do + SRC_URI+=" + ${abi}? ( + ${BASE_URI}/${PN}-core-${PV}-${abi}.tar.xz + ${BASE_URI}/${PN}-sunec-${PV}-${abi}.tar.xz + examples? ( ${BASE_URI}/${PN}-examples-${PV}-${abi}.tar.xz ) + )" +done + +DESCRIPTION="A Gentoo-made binary build of the IcedTea JDK" +HOMEPAGE="http://icedtea.classpath.org" +LICENSE="GPL-2-with-classpath-exception" +SLOT="8" + +IUSE="+alsa +cups doc examples +gtk headless-awt multilib nsplugin pulseaudio selinux source +webstart" +REQUIRED_USE="gtk? ( !headless-awt ) nsplugin? ( !headless-awt )" + +RESTRICT="preserve-libs strip" +QA_PREBUILT="opt/.*" + +RDEPEND=">=dev-libs/glib-2.42:2% + >=media-libs/fontconfig-2.11:1.0% + >=media-libs/freetype-2.5.5:2% + >=media-libs/lcms-2.6:2% + >=sys-libs/zlib-1.2.8-r1% + virtual/jpeg:62% + alsa? ( >=media-libs/alsa-lib-1.0% ) + cups? ( >=net-print/cups-2.0% ) + gtk? ( + >=dev-libs/atk-2.16.0% + >=x11-libs/cairo-1.14.2% + x11-libs/gdk-pixbuf:2% + >=x11-libs/gtk+-2.24:2% + >=x11-libs/pango-1.36% + ) + !headless-awt? ( + media-libs/giflib:0/7% + =media-libs/libpng-1.6*% + >=x11-libs/libX11-1.6% + >=x11-libs/libXcomposite-0.4% + >=x11-libs/libXext-1.3% + >=x11-libs/libXi-1.7% + >=x11-libs/libXrender-0.9.8% + >=x11-libs/libXtst-1.2% + )" + +RDEPEND=">=sys-devel/gcc-4.9.4[multilib?] + >=sys-libs/glibc-2.22[multilib?] + virtual/ttf-fonts + selinux? ( sec-policy/selinux-java ) + multilib? ( ${RDEPEND//%/[${MULTILIB_USEDEP}]} ) + !multilib? ( ${RDEPEND//%/} )" + +PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 ) + nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] ) + pulseaudio? ( dev-java/icedtea-sound )" + +S="${WORKDIR}" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]]; then + die "These binaries require a hardfloat system." + fi +} + +src_prepare() { + default + + if ! use alsa; then + rm -v */jre/lib/*/libjsoundalsa.* || die + fi + + if use headless-awt; then + rm -vr */jre/lib/*/lib*{[jx]awt,splashscreen}* \ + */{,jre/}bin/policytool */bin/appletviewer || die + fi +} + +multilib_src_install() { + local dest="/opt/${P}-${ABI}" + dest="${dest/%-${DEFAULT_ABI}/}" + local ddest="${ED}${dest#/}" + dodir "${dest}" + + if multilib_is_native_abi; then + dodoc ${P}-${ABI}/doc/{ASSEMBLY_EXCEPTION,AUTHORS,NEWS,README,THIRD_PARTY_README} + use doc && dodoc -r ${P}/doc/html + + # doins doesn't preserve executable bits. + cp -pRP ${P}-${ABI}/{bin,include,jre,lib,man} "${ddest}" || die + + if use examples; then + cp -pRP ${P}-${ABI}/{demo,sample} "${ddest}" || die + fi + + if use source; then + cp ${P}/src.zip "${ddest}" || die + fi + + # Use default VMHANDLE. + java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh" + else + local x native=$(get_system_arch ${DEFAULT_ABI}) + + for x in {,/jre}/{bin,lib/$(get_system_arch)} /jre/lib/rt.jar; do + dodir "${dest}"${x%/*} + cp -pRP ${P}-${ABI}${x} "${ddest}"${x} || die + done + + for x in ${P}-${DEFAULT_ABI}{,/jre}/lib/*; do + [[ ${x##*/} = ${native} ]] && continue + [[ -e "${ddest}"/${x#*/} ]] && continue + dosym "${EPREFIX}"/opt/${P}/${x#*/} "${dest}"/${x#*/} + done + + # Use ABI-suffixed VMHANDLE. + VMHANDLE+="-${ABI}" java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh" + fi + + # Both icedtea itself and the icedtea ebuild set PAX markings but we + # disable them for the icedtea-bin build because the line below will + # respect end-user settings when icedtea-bin is actually installed. + java-vm_set-pax-markings "${ddest}" + + # Each invocation appends to the config. + java-vm_revdep-mask "${EPREFIX}${dest}" +} + +src_install() { + if use multilib; then + multilib_foreach_abi multilib_src_install + else + multilib_src_install + fi + + java-vm_sandbox-predict /proc/self/coredump_filter +} |