summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Sennhauser <sera@gentoo.org>2013-01-31 20:08:09 +0000
committerRalph Sennhauser <sera@gentoo.org>2013-01-31 20:08:09 +0000
commit4e6513e578f246f9707aca3ace15247c667591b6 (patch)
treeba87598431da65419797933b9ae8fe4223b5aff8 /dev-java/icedtea
parentadd log message about CONFIG_UID16 (bug #340303); tidy (diff)
downloadgentoo-2-4e6513e578f246f9707aca3ace15247c667591b6.tar.gz
gentoo-2-4e6513e578f246f9707aca3ace15247c667591b6.tar.bz2
gentoo-2-4e6513e578f246f9707aca3ace15247c667591b6.zip
Version bump, import from java-overlay
Remove old /vulnerable (Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key 3C5CF75A)
Diffstat (limited to 'dev-java/icedtea')
-rw-r--r--dev-java/icedtea/ChangeLog9
-rw-r--r--dev-java/icedtea/icedtea-6.1.12.0.ebuild (renamed from dev-java/icedtea/icedtea-6.1.11.4.ebuild)41
-rw-r--r--dev-java/icedtea/icedtea-7.2.3.2.ebuild336
-rw-r--r--dev-java/icedtea/icedtea-7.2.3.3.ebuild335
4 files changed, 18 insertions, 703 deletions
diff --git a/dev-java/icedtea/ChangeLog b/dev-java/icedtea/ChangeLog
index 2e402e403082..179252cd260a 100644
--- a/dev-java/icedtea/ChangeLog
+++ b/dev-java/icedtea/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-java/icedtea
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/ChangeLog,v 1.86 2013/01/23 17:15:27 sera Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/ChangeLog,v 1.87 2013/01/31 20:08:09 sera Exp $
+
+*icedtea-6.1.12.0 (31 Jan 2013)
+
+ 31 Jan 2013; Ralph Sennhauser <sera@gentoo.org> -icedtea-6.1.11.4.ebuild,
+ +icedtea-6.1.12.0.ebuild, -icedtea-7.2.3.2.ebuild, -icedtea-7.2.3.3.ebuild:
+ Version bump, import from java-overlay
+ Remove old /vulnerable
23 Jan 2013; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.11.5.ebuild,
icedtea-7.2.3.4.ebuild:
diff --git a/dev-java/icedtea/icedtea-6.1.11.4.ebuild b/dev-java/icedtea/icedtea-6.1.12.0.ebuild
index 2ac57d3366d8..4720c42a1226 100644
--- a/dev-java/icedtea/icedtea-6.1.11.4.ebuild
+++ b/dev-java/icedtea/icedtea-6.1.12.0.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/icedtea-6.1.11.4.ebuild,v 1.3 2012/09/28 10:41:09 sera Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/icedtea-6.1.12.0.ebuild,v 1.1 2013/01/31 20:08:09 sera Exp $
# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org)
# *********************************************************
@@ -9,17 +9,18 @@
EAPI="4"
-inherit autotools java-pkg-2 java-vm-2 pax-utils prefix versionator virtualx
+inherit java-pkg-2 java-vm-2 pax-utils prefix versionator virtualx
ICEDTEA_PKG=${PN}$(replace_version_separator 1 -)
-OPENJDK_BUILD="24"
-OPENJDK_DATE="14_nov_2011"
+OPENJDK_BUILD="27"
+OPENJDK_DATE="26_oct_2012"
OPENJDK_TARBALL="openjdk-6-src-b${OPENJDK_BUILD}-${OPENJDK_DATE}.tar.gz"
-JAXP_TARBALL="jaxp144_03.zip"
+JAXP_TARBALL="jaxp144_04.zip"
JAXWS_TARBALL="jdk6-jaxws2_1_6-2011_06_13.zip"
JAF_TARBALL="jdk6-jaf-b20.zip"
-CACAO_TARBALL="cff92704c4e0.tar.gz"
-JAMVM_TARBALL="jamvm-4617da717ecb05654ea5bb9572338061106a414d.tar.gz"
+# Download cacao and jamvm regardless for use with EXTRA_ECONF
+CACAO_TARBALL="68fe50ac34ec.tar.gz"
+JAMVM_TARBALL="jamvm-0972452d441544f7dd29c55d64f1ce3a5db90d82.tar.gz"
DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies"
HOMEPAGE="http://icedtea.classpath.org"
@@ -113,9 +114,6 @@ DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP}
virtual/pkgconfig
sys-apps/lsb-release
${X_DEPEND}
- jbootstrap? (
- || ( <dev-java/eclipse-ecj-3.7 dev-java/ecj-gcj )
- )
pax_kernel? ( sys-apps/paxctl )"
PDEPEND="webstart? ( dev-java/icedtea-web:6 )
@@ -141,10 +139,6 @@ src_unpack() {
java_prepare() {
# icedtea doesn't like some locales. #330433 #389717
export LANG="C" LC_ALL="C"
-
- epatch "${FILESDIR}"/${PN}-${SLOT}_pax_kernel_support.patch #389751 #422525
- epatch "${FILESDIR}"/${PN}-${SLOT}-pass_javac_memory_args_to_vm.patch
- eautoreconf
}
bootstrap_impossible() {
@@ -175,22 +169,6 @@ src_configure() {
config="${config} --${bootstrap}-bootstrap"
- if [[ ${bootstrap} == enable ]]; then
- # icedtea-6 javac wrapper requires to always have ecj if bootstrapping #392337
- local ecj_jar="$(readlink "${EPREFIX}"/usr/share/eclipse-ecj/ecj.jar)"
- # Don't use eclipse-ecj-3.7 #392587
- local ecj_all=( "${EPREFIX}"/usr/share/{eclipse-ecj,ecj-gcj}-* )
- ecj_all=( "${ecj_all[@]/*eclipse-ecj-3.7*/}" )
- if ! has "${ecj_jar%/lib/ecj.jar}" "${ecj_all[@]}"; then
- ecj_jar="${ecj_jar%/lib/ecj.jar}"
- ewarn "${ecj_jar##*/} set as system ecj, can't use for bootstrap"
- ewarn "Found usable: ${ecj_all[@]##*/}"
- ewarn "using ${ecj_all##*/} instead"
- ecj_jar="${ecj_all}"/lib/ecj.jar
- fi
- config="${config} --with-ecj-jar=${ecj_jar}"
- fi
-
# Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ...
# Otherwise use CACAO
if ! has "${ARCH}" amd64 sparc x86; then
@@ -229,6 +207,7 @@ src_configure() {
--with-jamvm-src-zip="${DISTDIR}/${JAMVM_TARBALL}" \
--with-jdk-home="$(java-config -O)" \
--with-abs-install-dir=/usr/$(get_libdir)/icedtea${SLOT} \
+ --disable-downloading \
$(use_enable !debug optimizations) \
$(use_enable doc docs) \
$(use_enable nss) \
diff --git a/dev-java/icedtea/icedtea-7.2.3.2.ebuild b/dev-java/icedtea/icedtea-7.2.3.2.ebuild
deleted file mode 100644
index d616342c84be..000000000000
--- a/dev-java/icedtea/icedtea-7.2.3.2.ebuild
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/icedtea-7.2.3.2.ebuild,v 1.3 2012/09/28 10:41:09 sera Exp $
-# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org)
-
-# *********************************************************
-# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-6.* AS WELL *
-# *********************************************************
-
-EAPI="4"
-
-inherit autotools java-pkg-2 java-vm-2 pax-utils prefix versionator virtualx
-
-ICEDTEA_VER=$(get_version_component_range 2-)
-ICEDTEA_BRANCH=$(get_version_component_range 2-3)
-ICEDTEA_PKG=icedtea-${ICEDTEA_VER}
-OPENJDK_TARBALL="acba2d30209d.tar.gz"
-CORBA_TARBALL="7fae6a3a68c7.tar.gz"
-HOTSPOT_TARBALL="ea39d76b3bde.tar.gz"
-JAXP_TARBALL="ee4bd94136ec.tar.gz"
-JAXWS_TARBALL="c89c6ac953e7.tar.gz"
-JDK_TARBALL="f78eb7e08ee1.tar.gz"
-LANGTOOLS_TARBALL="867d5041bee6.tar.gz"
-CACAO_TARBALL="a567bcb7f589.tar.gz"
-JAMVM_TARBALL="jamvm-e70f2450890b82c37422616cc85e1a23385f03cd.tar.gz"
-
-DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies"
-HOMEPAGE="http://icedtea.classpath.org"
-SRC_URI="
- http://icedtea.classpath.org/download/source/${ICEDTEA_PKG}.tar.gz
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/archive/${OPENJDK_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/corba/archive/${CORBA_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/jaxp/archive/${JAXP_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/jaxws/archive/${JAXWS_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/jdk/archive/${JDK_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/hotspot/archive/${HOTSPOT_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/langtools/archive/${LANGTOOLS_TARBALL}
- http://icedtea.classpath.org/download/drops/cacao/${CACAO_TARBALL}
- http://icedtea.classpath.org/download/drops/jamvm/${JAMVM_TARBALL}"
-
-LICENSE="Apache-1.1 Apache-2.0 GPL-1 GPL-2 GPL-2-with-linking-exception LGPL-2 MPL-1.0 MPL-1.1 public-domain W3C"
-SLOT="7"
-KEYWORDS="~amd64 ~ia64 ~x86"
-
-IUSE="+X +alsa cjk +cups debug doc examples javascript +jbootstrap +nsplugin
- +nss pax_kernel pulseaudio +source systemtap test +webstart"
-
-# Ideally the following were optional at build time.
-ALSA_COMMON_DEP="
- >=media-libs/alsa-lib-1.0"
-CUPS_COMMON_DEP="
- >=net-print/cups-1.2.12"
-X_COMMON_DEP="
- >=dev-libs/atk-1.30.0
- >=dev-libs/glib-2.26
- media-libs/fontconfig
- >=media-libs/freetype-2.3.5
- >=x11-libs/cairo-1.8.8
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-2.8:2
- >=x11-libs/libX11-1.1.3
- >=x11-libs/libXext-1.1.1
- >=x11-libs/libXi-1.1.3
- >=x11-libs/libXrender-0.9.4
- >=x11-libs/libXtst-1.0.3
- >=x11-libs/pango-1.24.5"
-X_DEPEND="
- >=x11-libs/libXau-1.0.3
- >=x11-libs/libXdmcp-1.0.2
- >=x11-libs/libXinerama-1.0.2
- >=x11-libs/libXp-1.0.0
- x11-proto/inputproto
- >=x11-proto/xextproto-7.1.1
- x11-proto/xineramaproto
- x11-proto/xproto"
-
-COMMON_DEP="
- >=media-libs/giflib-4.1.6
- media-libs/lcms:2
- >=media-libs/libpng-1.2
- >=sys-libs/zlib-1.2.3
- virtual/jpeg
- javascript? ( dev-java/rhino:1.6 )
- nss? ( >=dev-libs/nss-3.12.5-r1 )
- pulseaudio? ( >=media-sound/pulseaudio-0.9.11 )
- systemtap? ( >=dev-util/systemtap-1 )"
-
-# cups is needed for X. #390945 #390975
-RDEPEND="${COMMON_DEP}
- !dev-java/icedtea:0
- X? (
- ${CUPS_COMMON_DEP}
- ${X_COMMON_DEP}
- media-fonts/dejavu
- cjk? (
- media-fonts/arphicfonts
- media-fonts/baekmuk-fonts
- media-fonts/lklug
- media-fonts/lohit-fonts
- media-fonts/sazanami
- )
- )
- alsa? ( ${ALSA_COMMON_DEP} )
- cups? ( ${CUPS_COMMON_DEP} )"
-
-# Only ant-core-1.8.1 has fixed ant -diagnostics when xerces+xalan are not present.
-# ca-certificates, perl and openssl are used for the cacerts keystore generation
-# xext headers have two variants depending on version - bug #288855
-# autoconf - as long as we use eautoreconf, version restrictions for bug #294918
-DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP}
- || (
- >=dev-java/gcj-jdk-4.3
- dev-java/icedtea-bin:7
- dev-java/icedtea-bin:6
- dev-java/icedtea:7
- dev-java/icedtea:6
- )
- app-arch/cpio
- app-arch/unzip
- app-arch/zip
- app-misc/ca-certificates
- >=dev-java/ant-core-1.8.1
- dev-java/ant-nodeps
- dev-lang/perl
- >=dev-libs/libxslt-1.1.26
- dev-libs/openssl
- virtual/pkgconfig
- sys-apps/attr
- sys-apps/lsb-release
- ${X_DEPEND}
- pax_kernel? ( sys-apps/paxctl )"
-
-PDEPEND="webstart? ( dev-java/icedtea-web:7 )
- nsplugin? ( dev-java/icedtea-web:7[nsplugin] )"
-
-S="${WORKDIR}"/${ICEDTEA_PKG}
-
-pkg_setup() {
- JAVA_PKG_WANT_BUILD_VM="
- icedtea-7 icedtea-bin-7 icedtea7
- icedtea-6 icedtea-bin-6 icedtea6 icedtea6-bin
- gcj-jdk"
- JAVA_PKG_WANT_SOURCE="1.5"
- JAVA_PKG_WANT_TARGET="1.5"
-
- java-vm-2_pkg_setup
- java-pkg-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${ICEDTEA_PKG}.tar.gz
-}
-
-java_prepare() {
- # For bootstrap builds as the sandbox control file might not yet exist.
- addpredict /proc/self/coredump_filter
-
- # icedtea doesn't like some locales. #330433 #389717
- export LANG="C" LC_ALL="C"
-
- epatch "${FILESDIR}"/${P}-pax_mark_rmic_java.patch #422525
- eautoreconf
-}
-
-bootstrap_impossible() {
- # Fill this according to testing what works and what not
- has "${1}" icedtea6 icedtea-6 icedtea6-bin icedtea-bin-6
-}
-
-src_configure() {
- local config bootstrap
- local vm=$(java-pkg_get-current-vm)
-
- # Whether to bootstrap
- bootstrap="disable"
- if use jbootstrap; then
- if bootstrap_impossible "${vm}"; then
- einfo "Bootstrap with ${vm} is currently not possible and thus disabled, ignoring USE=jbootstrap"
- else
- bootstrap="enable"
- fi
- fi
-
- if has "${vm}" gcj-jdk; then
- # gcj-jdk ensures ecj is present.
- use jbootstrap || einfo "bootstrap is necessary when building with ${vm}, ignoring USE=\"-jbootstrap\""
- bootstrap="enable"
- local ecj_jar="$(readlink "${EPREFIX}"/usr/share/eclipse-ecj/ecj.jar)"
- config="${config} --with-ecj-jar=${ecj_jar}"
- fi
-
- config="${config} --${bootstrap}-bootstrap"
-
- # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ...
- # Otherwise use JamVM as it's the only possibility right now
- if ! has "${ARCH}" amd64 sparc x86; then
- config="${config} --enable-jamvm"
- fi
-
- # OpenJDK-specific parallelism support. Bug #389791, #337827
- # Implementation modified from waf-utils.eclass
- # Note that "-j" is converted to "-j1" as the system doesn't support --load-average
- local procs=$(echo -j1 ${MAKEOPTS} | sed -r "s/.*(-j\s*|--jobs=)([0-9]+).*/\2/" )
- config="${config} --with-parallel-jobs=${procs}";
- einfo "Configuring using --with-parallel-jobs=${procs}"
-
- if use javascript ; then
- config="${config} --with-rhino=$(java-pkg_getjar rhino-1.6 js.jar)"
- else
- config="${config} --without-rhino"
- fi
-
- unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
-
- econf ${config} \
- --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_TARBALL}" \
- --with-corba-src-zip="${DISTDIR}/${CORBA_TARBALL}" \
- --with-jaxp-src-zip="${DISTDIR}/${JAXP_TARBALL}" \
- --with-jaxws-src-zip="${DISTDIR}/${JAXWS_TARBALL}" \
- --with-jdk-src-zip="${DISTDIR}/${JDK_TARBALL}" \
- --with-hotspot-src-zip="${DISTDIR}/${HOTSPOT_TARBALL}" \
- --with-langtools-src-zip="${DISTDIR}/${LANGTOOLS_TARBALL}" \
- --with-cacao-src-zip="${DISTDIR}/${CACAO_TARBALL}" \
- --with-jamvm-src-zip="${DISTDIR}/${JAMVM_TARBALL}" \
- --with-jdk-home="$(java-config -O)" \
- --with-abs-install-dir=/usr/$(get_libdir)/icedtea${SLOT} \
- --disable-downloading --disable-Werror \
- $(use_enable !debug optimizations) \
- $(use_enable doc docs) \
- $(use_enable nss) \
- $(use_enable pulseaudio pulse-java) \
- $(use_enable systemtap) \
- $(use_with pax_kernel pax paxctl)
-}
-
-src_compile() {
- # Would use GENTOO_VM otherwise.
- export ANT_RESPECT_JAVA_HOME=TRUE
-
- # Load the least that's needed to avoid possible classpath collisions.
- export ANT_TASKS="ant-nodeps"
-
- emake
-}
-
-src_test() {
- # Use Xvfb for tests
- unset DISPLAY
-
- Xemake check
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/icedtea${SLOT}"
- local ddest="${ED}/${dest}"
- dodir "${dest}"
-
- dodoc README NEWS AUTHORS
- dosym /usr/share/doc/${PF} /usr/share/doc/${PN}${SLOT}
-
- cd openjdk.build/j2sdk-image || die
-
- # Ensures HeadlessGraphicsEnvironment is used.
- if ! use X; then
- rm -r jre/lib/$(get_system_arch)/xawt || die
- fi
-
- # Don't hide classes
- rm lib/ct.sym || die
-
- #402507
- mkdir jre/.systemPrefs || die
- touch jre/.systemPrefs/.system.lock || die
- touch jre/.systemPrefs/.systemRootModFile || die
-
- # doins can't handle symlinks.
- cp -vRP bin include jre lib man "${ddest}" || die
-
- dodoc ASSEMBLY_EXCEPTION THIRD_PARTY_README
-
- if use doc; then
- # java-pkg_dohtml needed for package-list #302654
- java-pkg_dohtml -r ../docs/* || die
- fi
-
- if use examples; then
- dodir "${dest}/share";
- cp -vRP demo sample "${ddest}/share/" || die
- fi
-
- if use source; then
- cp src.zip "${ddest}" || die
- fi
-
- # Fix the permissions.
- find "${ddest}" \! -type l \( -perm /111 -exec chmod 755 {} \; -o -exec chmod 644 {} \; \) || die
-
- # Needs to be done before generating cacerts
- java-vm_set-pax-markings "${ddest}"
-
- # We need to generate keystore - bug #273306
- einfo "Generating cacerts file from certificates in ${EPREFIX}/usr/share/ca-certificates/"
- mkdir "${T}/certgen" && cd "${T}/certgen" || die
- cp "${FILESDIR}/generate-cacerts.pl" . && chmod +x generate-cacerts.pl || die
- for c in "${EPREFIX}"/usr/share/ca-certificates/*/*.crt; do
- openssl x509 -text -in "${c}" >> all.crt || die
- done
- ./generate-cacerts.pl "${ddest}/bin/keytool" all.crt || die
- cp -vRP cacerts "${ddest}/jre/lib/security/" || die
- chmod 644 "${ddest}/jre/lib/security/cacerts" || die
-
- # OpenJDK7 should be able to use fontconfig instead, but wont hurt to
- # install it anyway. Bug 390663
- cp "${FILESDIR}"/fontconfig.Gentoo.properties.src "${T}"/fontconfig.Gentoo.properties || die
- eprefixify "${T}"/fontconfig.Gentoo.properties
- insinto "${dest}"/jre/lib
- doins "${T}"/fontconfig.Gentoo.properties
-
- set_java_env "${FILESDIR}/icedtea.env"
- if ! use X || ! use alsa || ! use cups; then
- java-vm_revdep-mask "${dest}"
- fi
- java-vm_sandbox-predict /proc/self/coredump_filter
-}
-
-pkg_preinst() {
- if has_version "<=dev-java/icedtea-7.2.0:7"; then
- # portage would preserve the symlink otherwise, related to bug #384397
- rm -f "${EROOT}/usr/lib/jvm/icedtea7"
- elog "To unify the layout and simplify scripts, the identifier of Icedtea-7*"
- elog "has changed from 'icedtea7' to 'icedtea-7' starting from version 7.2.0-r1"
- elog "If you had icedtea7 as system VM, the change should be automatic, however"
- elog "build VM settings in /etc/java-config-2/build/jdk.conf are not changed"
- elog "and the same holds for any user VM settings. Sorry for the inconvenience."
- fi
-}
diff --git a/dev-java/icedtea/icedtea-7.2.3.3.ebuild b/dev-java/icedtea/icedtea-7.2.3.3.ebuild
deleted file mode 100644
index c47392f9c897..000000000000
--- a/dev-java/icedtea/icedtea-7.2.3.3.ebuild
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/icedtea-7.2.3.3.ebuild,v 1.1 2012/10/18 15:42:21 sera Exp $
-# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org)
-
-# *********************************************************
-# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-6.* AS WELL *
-# *********************************************************
-
-EAPI="4"
-
-inherit autotools java-pkg-2 java-vm-2 pax-utils prefix versionator virtualx
-
-ICEDTEA_VER=$(get_version_component_range 2-)
-ICEDTEA_BRANCH=$(get_version_component_range 2-3)
-ICEDTEA_PKG=icedtea-${ICEDTEA_VER}
-CORBA_TARBALL="9a95d714d136.tar.gz"
-JAXP_TARBALL="f45296ac69be.tar.gz"
-JAXWS_TARBALL="03f54ef33914.tar.gz"
-JDK_TARBALL="5ec94d162f05.tar.gz"
-LANGTOOLS_TARBALL="ec73c6927fb7.tar.gz"
-OPENJDK_TARBALL="301e79a966b4.tar.gz"
-HOTSPOT_TARBALL="d2d0a106917c.tar.gz"
-CACAO_TARBALL="a567bcb7f589.tar.gz"
-JAMVM_TARBALL="jamvm-0972452d441544f7dd29c55d64f1ce3a5db90d82.tar.gz"
-
-DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies"
-HOMEPAGE="http://icedtea.classpath.org"
-SRC_URI="
- http://icedtea.classpath.org/download/source/${ICEDTEA_PKG}.tar.gz
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/archive/${OPENJDK_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/corba/archive/${CORBA_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/jaxp/archive/${JAXP_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/jaxws/archive/${JAXWS_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/jdk/archive/${JDK_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/hotspot/archive/${HOTSPOT_TARBALL}
- http://icedtea.classpath.org/hg/release/icedtea7-forest-${ICEDTEA_BRANCH}/langtools/archive/${LANGTOOLS_TARBALL}
- http://icedtea.classpath.org/download/drops/cacao/${CACAO_TARBALL}
- http://icedtea.classpath.org/download/drops/jamvm/${JAMVM_TARBALL}"
-
-LICENSE="Apache-1.1 Apache-2.0 GPL-1 GPL-2 GPL-2-with-linking-exception LGPL-2 MPL-1.0 MPL-1.1 public-domain W3C"
-SLOT="7"
-KEYWORDS="~amd64 ~ia64 ~x86"
-
-IUSE="+X +alsa cjk +cups debug doc examples javascript +jbootstrap +nsplugin
- +nss pax_kernel pulseaudio +source systemtap test +webstart"
-
-# Ideally the following were optional at build time.
-ALSA_COMMON_DEP="
- >=media-libs/alsa-lib-1.0"
-CUPS_COMMON_DEP="
- >=net-print/cups-1.2.12"
-X_COMMON_DEP="
- >=dev-libs/atk-1.30.0
- >=dev-libs/glib-2.26
- media-libs/fontconfig
- >=media-libs/freetype-2.3.5
- >=x11-libs/cairo-1.8.8
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-2.8:2
- >=x11-libs/libX11-1.1.3
- >=x11-libs/libXext-1.1.1
- >=x11-libs/libXi-1.1.3
- >=x11-libs/libXrender-0.9.4
- >=x11-libs/libXtst-1.0.3
- >=x11-libs/pango-1.24.5"
-X_DEPEND="
- >=x11-libs/libXau-1.0.3
- >=x11-libs/libXdmcp-1.0.2
- >=x11-libs/libXinerama-1.0.2
- x11-proto/inputproto
- >=x11-proto/xextproto-7.1.1
- x11-proto/xineramaproto
- x11-proto/xproto"
-
-COMMON_DEP="
- >=media-libs/giflib-4.1.6
- media-libs/lcms:2
- >=media-libs/libpng-1.2
- >=sys-libs/zlib-1.2.3
- virtual/jpeg
- javascript? ( dev-java/rhino:1.6 )
- nss? ( >=dev-libs/nss-3.12.5-r1 )
- pulseaudio? ( >=media-sound/pulseaudio-0.9.11 )
- systemtap? ( >=dev-util/systemtap-1 )"
-
-# cups is needed for X. #390945 #390975
-RDEPEND="${COMMON_DEP}
- !dev-java/icedtea:0
- X? (
- ${CUPS_COMMON_DEP}
- ${X_COMMON_DEP}
- media-fonts/dejavu
- cjk? (
- media-fonts/arphicfonts
- media-fonts/baekmuk-fonts
- media-fonts/lklug
- media-fonts/lohit-fonts
- media-fonts/sazanami
- )
- )
- alsa? ( ${ALSA_COMMON_DEP} )
- cups? ( ${CUPS_COMMON_DEP} )"
-
-# Only ant-core-1.8.1 has fixed ant -diagnostics when xerces+xalan are not present.
-# ca-certificates, perl and openssl are used for the cacerts keystore generation
-# xext headers have two variants depending on version - bug #288855
-# autoconf - as long as we use eautoreconf, version restrictions for bug #294918
-DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP}
- || (
- >=dev-java/gcj-jdk-4.3
- dev-java/icedtea-bin:7
- dev-java/icedtea-bin:6
- dev-java/icedtea:7
- dev-java/icedtea:6
- )
- app-arch/cpio
- app-arch/unzip
- app-arch/zip
- app-misc/ca-certificates
- >=dev-java/ant-core-1.8.1
- dev-java/ant-nodeps
- dev-lang/perl
- >=dev-libs/libxslt-1.1.26
- dev-libs/openssl
- virtual/pkgconfig
- sys-apps/attr
- sys-apps/lsb-release
- ${X_DEPEND}
- pax_kernel? ( sys-apps/paxctl )"
-
-PDEPEND="webstart? ( dev-java/icedtea-web:7 )
- nsplugin? ( dev-java/icedtea-web:7[nsplugin] )"
-
-S="${WORKDIR}"/${ICEDTEA_PKG}
-
-pkg_setup() {
- JAVA_PKG_WANT_BUILD_VM="
- icedtea-7 icedtea-bin-7 icedtea7
- icedtea-6 icedtea-bin-6 icedtea6 icedtea6-bin
- gcj-jdk"
- JAVA_PKG_WANT_SOURCE="1.5"
- JAVA_PKG_WANT_TARGET="1.5"
-
- java-vm-2_pkg_setup
- java-pkg-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${ICEDTEA_PKG}.tar.gz
-}
-
-java_prepare() {
- # For bootstrap builds as the sandbox control file might not yet exist.
- addpredict /proc/self/coredump_filter
-
- # icedtea doesn't like some locales. #330433 #389717
- export LANG="C" LC_ALL="C"
-
- epatch "${FILESDIR}"/${P}-pax_mark_rmic_java.patch #422525
- eautoreconf
-}
-
-bootstrap_impossible() {
- # Fill this according to testing what works and what not
- has "${1}" icedtea6 icedtea-6 icedtea6-bin icedtea-bin-6
-}
-
-src_configure() {
- local config bootstrap
- local vm=$(java-pkg_get-current-vm)
-
- # Whether to bootstrap
- bootstrap="disable"
- if use jbootstrap; then
- if bootstrap_impossible "${vm}"; then
- einfo "Bootstrap with ${vm} is currently not possible and thus disabled, ignoring USE=jbootstrap"
- else
- bootstrap="enable"
- fi
- fi
-
- if has "${vm}" gcj-jdk; then
- # gcj-jdk ensures ecj is present.
- use jbootstrap || einfo "bootstrap is necessary when building with ${vm}, ignoring USE=\"-jbootstrap\""
- bootstrap="enable"
- local ecj_jar="$(readlink "${EPREFIX}"/usr/share/eclipse-ecj/ecj.jar)"
- config="${config} --with-ecj-jar=${ecj_jar}"
- fi
-
- config="${config} --${bootstrap}-bootstrap"
-
- # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ...
- # Otherwise use JamVM as it's the only possibility right now
- if ! has "${ARCH}" amd64 sparc x86; then
- config="${config} --enable-jamvm"
- fi
-
- # OpenJDK-specific parallelism support. Bug #389791, #337827
- # Implementation modified from waf-utils.eclass
- # Note that "-j" is converted to "-j1" as the system doesn't support --load-average
- local procs=$(echo -j1 ${MAKEOPTS} | sed -r "s/.*(-j\s*|--jobs=)([0-9]+).*/\2/" )
- config="${config} --with-parallel-jobs=${procs}";
- einfo "Configuring using --with-parallel-jobs=${procs}"
-
- if use javascript ; then
- config="${config} --with-rhino=$(java-pkg_getjar rhino-1.6 js.jar)"
- else
- config="${config} --without-rhino"
- fi
-
- unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
-
- econf ${config} \
- --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_TARBALL}" \
- --with-corba-src-zip="${DISTDIR}/${CORBA_TARBALL}" \
- --with-jaxp-src-zip="${DISTDIR}/${JAXP_TARBALL}" \
- --with-jaxws-src-zip="${DISTDIR}/${JAXWS_TARBALL}" \
- --with-jdk-src-zip="${DISTDIR}/${JDK_TARBALL}" \
- --with-hotspot-src-zip="${DISTDIR}/${HOTSPOT_TARBALL}" \
- --with-langtools-src-zip="${DISTDIR}/${LANGTOOLS_TARBALL}" \
- --with-cacao-src-zip="${DISTDIR}/${CACAO_TARBALL}" \
- --with-jamvm-src-zip="${DISTDIR}/${JAMVM_TARBALL}" \
- --with-jdk-home="$(java-config -O)" \
- --with-abs-install-dir=/usr/$(get_libdir)/icedtea${SLOT} \
- --disable-downloading --disable-Werror \
- $(use_enable !debug optimizations) \
- $(use_enable doc docs) \
- $(use_enable nss) \
- $(use_enable pulseaudio pulse-java) \
- $(use_enable systemtap) \
- $(use_with pax_kernel pax paxctl)
-}
-
-src_compile() {
- # Would use GENTOO_VM otherwise.
- export ANT_RESPECT_JAVA_HOME=TRUE
-
- # Load the least that's needed to avoid possible classpath collisions.
- export ANT_TASKS="ant-nodeps"
-
- emake
-}
-
-src_test() {
- # Use Xvfb for tests
- unset DISPLAY
-
- Xemake check
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/icedtea${SLOT}"
- local ddest="${ED}/${dest}"
- dodir "${dest}"
-
- dodoc README NEWS AUTHORS
- dosym /usr/share/doc/${PF} /usr/share/doc/${PN}${SLOT}
-
- cd openjdk.build/j2sdk-image || die
-
- # Ensures HeadlessGraphicsEnvironment is used.
- if ! use X; then
- rm -r jre/lib/$(get_system_arch)/xawt || die
- fi
-
- # Don't hide classes
- rm lib/ct.sym || die
-
- #402507
- mkdir jre/.systemPrefs || die
- touch jre/.systemPrefs/.system.lock || die
- touch jre/.systemPrefs/.systemRootModFile || die
-
- # doins can't handle symlinks.
- cp -vRP bin include jre lib man "${ddest}" || die
-
- dodoc ASSEMBLY_EXCEPTION THIRD_PARTY_README
-
- if use doc; then
- # java-pkg_dohtml needed for package-list #302654
- java-pkg_dohtml -r ../docs/* || die
- fi
-
- if use examples; then
- dodir "${dest}/share";
- cp -vRP demo sample "${ddest}/share/" || die
- fi
-
- if use source; then
- cp src.zip "${ddest}" || die
- fi
-
- # Fix the permissions.
- find "${ddest}" \! -type l \( -perm /111 -exec chmod 755 {} \; -o -exec chmod 644 {} \; \) || die
-
- # Needs to be done before generating cacerts
- java-vm_set-pax-markings "${ddest}"
-
- # We need to generate keystore - bug #273306
- einfo "Generating cacerts file from certificates in ${EPREFIX}/usr/share/ca-certificates/"
- mkdir "${T}/certgen" && cd "${T}/certgen" || die
- cp "${FILESDIR}/generate-cacerts.pl" . && chmod +x generate-cacerts.pl || die
- for c in "${EPREFIX}"/usr/share/ca-certificates/*/*.crt; do
- openssl x509 -text -in "${c}" >> all.crt || die
- done
- ./generate-cacerts.pl "${ddest}/bin/keytool" all.crt || die
- cp -vRP cacerts "${ddest}/jre/lib/security/" || die
- chmod 644 "${ddest}/jre/lib/security/cacerts" || die
-
- # OpenJDK7 should be able to use fontconfig instead, but wont hurt to
- # install it anyway. Bug 390663
- cp "${FILESDIR}"/fontconfig.Gentoo.properties.src "${T}"/fontconfig.Gentoo.properties || die
- eprefixify "${T}"/fontconfig.Gentoo.properties
- insinto "${dest}"/jre/lib
- doins "${T}"/fontconfig.Gentoo.properties
-
- set_java_env "${FILESDIR}/icedtea.env"
- if ! use X || ! use alsa || ! use cups; then
- java-vm_revdep-mask "${dest}"
- fi
- java-vm_sandbox-predict /proc/self/coredump_filter
-}
-
-pkg_preinst() {
- if has_version "<=dev-java/icedtea-7.2.0:7"; then
- # portage would preserve the symlink otherwise, related to bug #384397
- rm -f "${EROOT}/usr/lib/jvm/icedtea7"
- elog "To unify the layout and simplify scripts, the identifier of Icedtea-7*"
- elog "has changed from 'icedtea7' to 'icedtea-7' starting from version 7.2.0-r1"
- elog "If you had icedtea7 as system VM, the change should be automatic, however"
- elog "build VM settings in /etc/java-config-2/build/jdk.conf are not changed"
- elog "and the same holds for any user VM settings. Sorry for the inconvenience."
- fi
-}