| # Copyright 1999-2020 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=6 |
| |
| inherit java-vm-2 multilib-build toolchain-funcs |
| |
| abi_uri() { |
| echo "${2-$1}? ( |
| ${BASE_URI}/${PN}-core-${PV}${3+-r${3}}-${1}.tar.xz |
| examples? ( ${BASE_URI}/${PN}-examples-${PV}${3+-r${3}}-${1}.tar.xz ) |
| )" |
| } |
| |
| BASE_URI="https://dev.gentoo.org/~gyakovlev/distfiles" |
| SRC_URI=" |
| doc? ( ${BASE_URI}/${PN}-doc-${PV}.tar.xz ) |
| source? ( ${BASE_URI}/${PN}-src-${PV}.tar.xz ) |
| big-endian? ( $(abi_uri ppc64) ) |
| !big-endian? ( $(abi_uri ppc64le ppc64) ) |
| $(abi_uri amd64) |
| $(abi_uri arm) |
| $(abi_uri arm64) |
| $(abi_uri x86) |
| " |
| |
| DESCRIPTION="A Gentoo-made binary build of the IcedTea JDK" |
| HOMEPAGE="http://icedtea.classpath.org" |
| |
| LICENSE="GPL-2-with-classpath-exception" |
| SLOT="8" |
| KEYWORDS="*" |
| IUSE="+alsa big-endian cups doc examples +gtk headless-awt pulseaudio selinux source" |
| |
| REQUIRED_USE="gtk? ( !headless-awt )" |
| |
| RESTRICT="preserve-libs strip" |
| QA_PREBUILT="opt/.*" |
| |
| DEPEND="app-arch/xz-utils" |
| |
| RDEPEND=" |
| >=dev-libs/glib-2.60.7:2 |
| >=media-libs/fontconfig-2.13:1.0 |
| >=media-libs/freetype-2.9.1:2 |
| >=media-libs/lcms-2.9:2 |
| >=sys-apps/baselayout-java-0.1.0-r1 |
| >=sys-libs/zlib-1.2.11-r2 |
| virtual/jpeg-compat:62 |
| alsa? ( >=media-libs/alsa-lib-1.2 ) |
| cups? ( >=net-print/cups-2.0 ) |
| gtk? ( |
| >=dev-libs/atk-2.32.0 |
| >=x11-libs/cairo-1.16.0 |
| x11-libs/gdk-pixbuf:2 |
| >=x11-libs/gtk+-2.24:2 |
| >=x11-libs/pango-1.42 |
| ) |
| selinux? ( sec-policy/selinux-java ) |
| virtual/ttf-fonts |
| !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.10 |
| >=x11-libs/libXtst-1.2 |
| ) |
| " |
| |
| PDEPEND="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 |
| |
| # I wouldn't normally use -f below but symlinks in the arm files |
| # make this fail otherwise and any other approach would be tedious. |
| |
| if ! use alsa; then |
| rm -fv */jre/lib/*/libjsoundalsa.* || die |
| fi |
| |
| if use headless-awt; then |
| rm -fvr */jre/lib/*/lib*{[jx]awt,splashscreen}* \ |
| */{,jre/}bin/policytool */bin/appletviewer || die |
| fi |
| } |
| |
| src_install() { |
| local dest="/opt/${P}" |
| local ddest="${ED}${dest#/}" |
| dodir "${dest}" |
| |
| 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 system-wide cacert store |
| rm "${ddest}"/jre/lib/security/cacerts || die |
| dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts |
| |
| java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh" |
| |
| # 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}" |
| java-vm_sandbox-predict /proc/self/coredump_filter |
| } |