diff options
author | Ralph Sennhauser <sera@gentoo.org> | 2012-02-06 06:49:00 +0000 |
---|---|---|
committer | Ralph Sennhauser <sera@gentoo.org> | 2012-02-06 06:49:00 +0000 |
commit | d43d692a88bc21376036ee42064c8f4a29ad2f69 (patch) | |
tree | 8156afa5e9a24362f8a6a7379374d52d99efa5ea /dev-java | |
parent | Update requests dep again. (diff) | |
download | gentoo-2-d43d692a88bc21376036ee42064c8f4a29ad2f69.tar.gz gentoo-2-d43d692a88bc21376036ee42064c8f4a29ad2f69.tar.bz2 gentoo-2-d43d692a88bc21376036ee42064c8f4a29ad2f69.zip |
Version bump, move from java-overlay.
Always uses CACAO as best alternative JVM if HotSpot isn't available.
USE=-X, don't install X11GraphicsEnvironment. #399367
Add revdep mask for reduced installs. (-X, -alsa, -cups) #400691, #401621
(Portage version: 2.1.10.44/cvs/Linux x86_64)
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/icedtea/ChangeLog | 319 | ||||
-rw-r--r-- | dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch | 143 | ||||
-rw-r--r-- | dev-java/icedtea/icedtea-6.1.10.5.ebuild | 338 | ||||
-rw-r--r-- | dev-java/icedtea/icedtea-6.1.11.ebuild | 329 | ||||
-rw-r--r-- | dev-java/icedtea/metadata.xml | 6 |
5 files changed, 824 insertions, 311 deletions
diff --git a/dev-java/icedtea/ChangeLog b/dev-java/icedtea/ChangeLog index 6bbd713309c1..a01d8eeeb089 100644 --- a/dev-java/icedtea/ChangeLog +++ b/dev-java/icedtea/ChangeLog @@ -1,314 +1,15 @@ # ChangeLog for dev-java/icedtea -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/ChangeLog,v 1.59 2011/12/21 10:15:05 sera Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/ChangeLog,v 1.60 2012/02/06 06:49:00 sera Exp $ - 21 Dec 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-7.2.0-r3.ebuild: - Fix dosym usage. #395391 +*icedtea-6.1.11 (06 Feb 2012) +*icedtea-6.1.10.5 (06 Feb 2012) - 02 Dec 2011; Ralph Sennhauser <sera@gentoo.org> ChangeLog: - Restore ChangeLog truncated by mistake, bug #391253. - -*icedtea-7.2.0-r3 (02 Dec 2011) -*icedtea-6.1.10.4-r3 (02 Dec 2011) - - 02 Dec 2011; Ralph Sennhauser <sera@gentoo.org> +icedtea-6.1.10.4-r3.ebuild, - +icedtea-7.2.0-r3.ebuild, metadata.xml: - - Fix bootstrap build for PaX enabled kernels. #389751 - - Add missing dependency on ecj for use jbootstrap #392337 - - Don't use eclipse-ecj:3.7 for icedtea:6 #392587 - - Add various missing dependencies according to scanelf results. - icedtea-7: dev-libs/atk sys-devel/gcc sys-libs/glibc x11-libs/cairo - x11-libs/gdk-pixbuf x11-libs/pango nss? ( dev-libs/nss ) - icedtea-6: dev-libs/glib sys-devel/gcc sys-libs/glibc - - Fix libffi dependency for non ppc archs. - - Make dependencies optional at runtime as for icedtea-bin for installing via - binpkg. Use flags are X alsa cups. - - Allow building cacao and jamvm as additional VMs. To use run java -cacao - respectively java -jamvm. Use flags are cacao and jamvm. - -*icedtea-7.2.0-r2 (28 Nov 2011) -*icedtea-6.1.10.4-r2 (28 Nov 2011) - - 28 Nov 2011; Ralph Sennhauser <sera@gentoo.org> +icedtea-6.1.10.4-r2.ebuild, - +icedtea-7.2.0-r2.ebuild, +files/fontconfig.Gentoo.properties.src, - files/icedtea.env, metadata.xml: - Install Gentoo specific fontconfig properties file. #390663 - Add missing dependency on pkgconfig. #391987 - Add use flag X and cjk to install expected fonts. #349916 - Add use flag source and install src.zip conditionally. - Add use flag jbootstrap and make bootstrap optional where possible. - Remove use flag xrender and require libXrender for icedtea:6, icedtea:7 does - this already. #382867 - Use @SLOT@ substitution in set_java_env. - Prefixify. - - 25 Nov 2011; Vlastimil Babka <caster@gentoo.org> ChangeLog: - Restore Changelog truncated by mistake, bug #391253. - - 21 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Use java-vm-2.eclass to set PaX markings - - 18 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Remove unneeded pkg_postinst - - 18 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Add missing cpio dep and remove the old libXext version variant, bug #389599. - - 18 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Remove 'cacao' and 'jamvm' USE flags. Also remove 'zero' flag and have it - used only for ppc/ppc64. This functionality was experimental and brought more - problems than benefits. Also remove the bootstrapping with cacao due to - failures. Fixes numerous bugs. - - 18 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Add additional PaX markings to executables for x86. Bug 389751 - - 18 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Fix detection of parallel jobs from MAKEOPTS to handle all syntax variants. - Fixes bug #337827 and #389791. Using syntax from waf-utils.eclass - - 18 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Add --disable-bootstrap on PaX enabled hosts when building using IcedTea7. - Bug #389751. - - 13 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-7.2.0-r1.ebuild: - Fix building with PaX enabled kernels. Bug #389751. Thanks to Daniel Kuehn - <enhaisa@gmail.com> and Magnus Granberg <zorry@gentoo.org> for their help - finding the patch - - 12 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-7.2.0-r1.ebuild: - Use java-vm_sandbox-predict for installing the controle file - - 11 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-7.2.0-r1.ebuild: - Support building using icedtea-bin-7. - - 10 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Fix building with unusal locales, bug #330433 #389717 - - 08 Nov 2011; Ralph Sennhauser <sera@gentoo.org> icedtea-6.1.10.4-r1.ebuild, - icedtea-7.2.0-r1.ebuild: - Allow building of icedtea with icedtea-bin-6, bug 389885 - - 07 Nov 2011; Vlastimil Babka <caster@gentoo.org> -icedtea-6.1.10.4.ebuild, - icedtea-6.1.10.4-r1.ebuild, icedtea-7.2.0-r1.ebuild: - Prepare for icedtea-bin version and VMHANDLE migration. - - 06 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-7.2.0-r1.ebuild: - Fix build due to missing ant class when xalan and xerces are not installed, - bug #389625. - - 05 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-7.2.0-r1.ebuild: - Relax lcms dep to allow the stable 2.0a satisfy it. - - 05 Nov 2011; Diego E. Pettenò <flameeyes@gentoo.org> icedtea-7.2.0-r1.ebuild: - QA fix: add missing cpio dependency. - - 04 Nov 2011; Vlastimil Babka <caster@gentoo.org> icedtea-7.2.0-r1.ebuild: - Add ~x86 keyword. - -*icedtea-7.2.0-r1 (04 Nov 2011) - - 04 Nov 2011; Vlastimil Babka <caster@gentoo.org> +icedtea-7.2.0-r1.ebuild: - Version bump from the java-overlay, bug #382485. - - 04 Nov 2011; Vlastimil Babka <caster@gentoo.org> - -files/6.1.10.2-371405-linux_version.patch, -files/6.1.9.6-sparc.patch: - Remove unused patches. - -*icedtea-6.1.10.4-r1 (04 Nov 2011) - - 04 Nov 2011; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.10.4-r1.ebuild: - Revbump to use EAPI=4 and change the VMHANDLE icedtea6 to the standard - icedtea-6. System vm setting is upgraded automatically. Any user-vm setting - have to be migrated manually. - - 30 Oct 2011; Vlastimil Babka <caster@gentoo.org> -icedtea-6.1.10.2.ebuild, - -icedtea-6.1.10.3.ebuild, icedtea-6.1.10.4.ebuild: - Package move icedtea6-bin to icedtea-bin. - -*icedtea-6.1.10.4 (21 Oct 2011) - - 21 Oct 2011; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.10.4.ebuild: - Version bump, security bug #387637. - - 09 Sep 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.10.2.ebuild, - icedtea-6.1.10.3.ebuild: - Use /usr/lib instead of get_libdir for the vmhome path, bug #380853. - -*icedtea-6.1.10.3 (22 Jul 2011) - - 22 Jul 2011; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.10.3.ebuild: - Version bump, from java-overlay. - - 17 Jul 2011; Vlastimil Babka <caster@gentoo.org> -icedtea-6.1.9.7-r1.ebuild, - -icedtea-6.1.10.ebuild, -icedtea-6.1.10.1.ebuild, icedtea-6.1.10.2.ebuild, - +files/6.1.10.2-371405-linux_version.patch: - Apply patch for Linux 3.* compatibility from overlay, fixing buf #371405. - Remove old versions. - -*icedtea-6.1.10.2 (09 Jun 2011) - - 09 Jun 2011; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.10.2.ebuild: - Version bump, security bug #370787. - - 22 Apr 2011; Jeroen Roovers <jer@gentoo.org> metadata.xml: - Spelling. - -*icedtea-6.1.10.1 (08 Apr 2011) - - 08 Apr 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.9.7-r1.ebuild, - icedtea-6.1.10.ebuild, +icedtea-6.1.10.1.ebuild, metadata.xml: - Version bump, bug #361921. Restrict libpng deps on older versions. - - 29 Mar 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.9.7-r1.ebuild, - icedtea-6.1.10.ebuild: - Slot GTK+ deps. - -*icedtea-6.1.10 (05 Mar 2011) - - 05 Mar 2011; <caster@gentoo.org> -icedtea-6.1.9.6.ebuild, - +icedtea-6.1.10.ebuild, metadata.xml: - Version bump, bug #357153. - -*icedtea-6.1.9.7-r1 (18 Feb 2011) - - 18 Feb 2011; Vlastimil Babka <caster@gentoo.org> -files/6.1.9.4-sparc.patch, - -icedtea-6.1.9.4.ebuild, -icedtea-6.1.9.5.ebuild, +icedtea-6.1.9.7-r1.ebuild, - -files/6.1.9.5-sparc.patch, -files/icedtea-old.env: - Version bump, security bug #355127. Webstart and nsplugin are now deferred to - separate icedtea-web package via PDEPEND. - -*icedtea-6.1.9.6 (09 Feb 2011) - - 09 Feb 2011; Vlastimil Babka <caster@gentoo.org> +files/6.1.9.6-sparc.patch, - +icedtea-6.1.9.6.ebuild: - Version bump, security bug #354231. - -*icedtea-6.1.9.5 (02 Feb 2011) - - 02 Feb 2011; Vlastimil Babka <caster@gentoo.org> +files/6.1.9.5-sparc.patch, - +icedtea-6.1.9.5.ebuild, +files/icedtea-old.env, -files/6.1.9.3-sparc.patch, - -icedtea-6.1.9.3.ebuild, icedtea-6.1.9.4.ebuild, files/icedtea.env: - Version bump, security bug #353418. Use get_libdir to set proper lib dir in - the env file. - - 21 Jan 2011; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.9.3.ebuild, - icedtea-6.1.9.4.ebuild: - Use virtual/jpeg, bug #347953. - - 21 Jan 2011; Vlastimil Babka <caster@gentoo.org> +files/6.1.9.4-sparc.patch: - Add missing patch from the overlay, sorry. Bug #352314. - -*icedtea-6.1.9.4 (21 Jan 2011) - - 21 Jan 2011; Vlastimil Babka <caster@gentoo.org> -icedtea-6.1.9.1.ebuild, - -icedtea-6.1.9.2.ebuild, +icedtea-6.1.9.4.ebuild: - Version bump, including security fix for CVE-2010-4351: IcedTea JNLP - SecurityManager bypass. Bug #352035. - - 20 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> - icedtea-6.1.9.3.ebuild: - Mark ~ppc/~ppc64 wrt #308513. Thanks to Kris Hepler <khepler@gmail.com> - for testing. - - 12 Dec 2010; Vlastimil Babka <caster@gentoo.org> +files/6.1.9.3-sparc.patch, - icedtea-6.1.9.3.ebuild: - Add patch for sparc, bug #344659. - - 02 Dec 2010; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.9.3.ebuild, - metadata.xml: - Check that webstart flag is enabled if nsplugin flag is enabled. Document - this in metadata.xml. - -*icedtea-6.1.9.3 (02 Dec 2010) - - 02 Dec 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.9.3.ebuild: - Version bump. - - 26 Nov 2010; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.9.1.ebuild, - icedtea-6.1.9.2.ebuild: - Use versionator for ICEDTEA_VER - -*icedtea-6.1.9.2 (25 Nov 2010) - - 25 Nov 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.9.2.ebuild, + 06 Feb 2012; Ralph Sennhauser <sera@gentoo.org> +icedtea-6.1.10.5.ebuild, + +icedtea-6.1.11.ebuild, +files/icedtea-6_pax_kernel_support.patch, metadata.xml: - Security version bump, bug #346799, thanks to Andrew John Hughes - (gnu_andrew@member.fsf.org). Also adds webstart useflag. - - 14 Nov 2010; Vlastimil Babka <caster@gentoo.org> - -files/6.1.8.0-systemtap-gcc-4.5.patch, -icedtea-6.1.8.0.ebuild, - -icedtea-6.1.8.1.ebuild, -icedtea-6.1.9.ebuild: - Remove old. - - 14 Nov 2010; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.8.0.ebuild, - icedtea-6.1.8.1.ebuild, icedtea-6.1.9.ebuild, icedtea-6.1.9.1.ebuild: - Fix eselect-ecj deps. - -*icedtea-6.1.9.1 (13 Oct 2010) - - 13 Oct 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.9.1.ebuild, - metadata.xml: - Version bump, security bug #340819. - -*icedtea-6.1.9 (09 Sep 2010) - - 09 Sep 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.9.ebuild: - Version bump from java-overlay. - -*icedtea-6.1.8.1 (30 Jul 2010) - - 30 Jul 2010; Vlastimil Babka <caster@gentoo.org> -files/1.7.2-free.patch, - -files/6.1.7.3-systemtap-gcc-4.5.patch, -icedtea-6.1.7.2-r1.ebuild, - -icedtea-6.1.7.3.ebuild, +icedtea-6.1.8.1.ebuild, metadata.xml: - Security version bump, bug #330205. Remove the older 1.7.x. - -*icedtea-6.1.7.3 (03 May 2010) - - 03 May 2010; Vlastimil Babka <caster@gentoo.org> - +files/6.1.7.3-systemtap-gcc-4.5.patch, - +files/6.1.8.0-systemtap-gcc-4.5.patch, -icedtea-6.1.7.1.ebuild, - +icedtea-6.1.7.3.ebuild, icedtea-6.1.8.0.ebuild: - Fix building with gcc-4.5 and USE=systemtap - fixes bug #317343. Bump the - 6.1.7.2-r1 to 6.7.1.3 (which is the same)for easier sync with the overlay. - - 15 Apr 2010; Vlastimil Babka <caster@gentoo.org> icedtea-6.1.8.0.ebuild: - Add ant-nodeps to DEPEND since it's used in ANT_TASKS variable. Bug - #315457. - -*icedtea-6.1.8.0 (14 Apr 2010) - - 14 Apr 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.8.0.ebuild: - Version bump, based on java-overlay ebuild. Remove the npplugin flag as - upstream removed the old plugin - the npplugin is now installed simply - with USE=nsplugin. - - 31 Mar 2010; Vlastimil Babka <caster@gentoo.org> -icedtea-6.1.7.2.ebuild: - Remove the unpatched revision. - -*icedtea-6.1.7.2-r1 (31 Mar 2010) - - 31 Mar 2010; Vlastimil Babka <caster@gentoo.org> +files/1.7.2-free.patch, - +icedtea-6.1.7.2-r1.ebuild: - Revbump to fix buffer overflow in npplugin. - -*icedtea-6.1.7.2 (31 Mar 2010) - - 31 Mar 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.7.2.ebuild: - Version bump, security bug #312297. - -*icedtea-6.1.7.1 (04 Mar 2010) - - 04 Mar 2010; Vlastimil Babka <caster@gentoo.org> +icedtea-6.1.7.1.ebuild, - +files/generate-cacerts.pl, +files/icedtea.env, +metadata.xml: - Import of ebuild by Andrew John Hughes (gnu_andrew@member.fsf.org) from - java-overlay. + Version bump, move from java-overlay. + Always uses CACAO as best alternative JVM if HotSpot isn't available. + USE=-X, don't install X11GraphicsEnvironment. #399367 + Add revdep mask for reduced installs. (-X, -alsa, -cups) #400691, #401621 diff --git a/dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch b/dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch new file mode 100644 index 000000000000..804692510847 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch @@ -0,0 +1,143 @@ +Author: Ralph Sennhaser <sera@gentoo.org> + +The idea is to apply the pax markings before using a freshly built jdk. Be it +for running tests or building additonal vms or after bootstrap to build the +final jdk. + +There are currently two types of pax markings with the userspace utilities +chpax and paxctl. Both types of pax marking are base on modifing the ELFs. A +third type based on xattrs is in development. + +diff --git a/Makefile.am b/Makefile.am +index 82ef261..e17fa5f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -421,7 +421,7 @@ else + ICEDTEA_PATCHES += patches/nss-not-enabled-config.patch + endif + +-if HAS_PAX ++if WITH_PAX + ICEDTEA_PATCHES += patches/no-test_gamma.patch + endif + +@@ -450,7 +450,7 @@ ICEDTEA_ECJ_PATCHES += patches/ecj/cp40188-opengl.patch + endif + endif + +-if !HAS_PAX ++if !WITH_PAX + ICEDTEA_ECJ_PATCHES += patches/ecj/no-test_gamma.patch + endif + +@@ -1359,6 +1359,7 @@ stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ + $(ICEDTEA_ENV) \ + -C openjdk \ + $(ICEDTEA_BUILD_TARGET) ++ $(abs_top_builddir)/pax-mark-vm $(BUILD_OUTPUT_DIR)/j2sdk-image + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) + mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext +@@ -1586,6 +1587,7 @@ stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ + $(ICEDTEA_ENV_ECJ) \ + -C openjdk-ecj/ \ + $(ICEDTEA_BUILD_TARGET) ++ $(abs_top_builddir)/pax-mark-vm $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image + @echo "ecj-poured IcedTea is served:" \ + $(ECJ_BUILD_OUTPUT_DIR) + mkdir -p stamps +diff --git a/acinclude.m4 b/acinclude.m4 +index 503131c..e80b209 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -1677,3 +1677,49 @@ AM_CONDITIONAL([CP39408_JAVAH], test x"${it_cv_cp39408_javah}" = "xyes") + AM_CONDITIONAL([CP40188_JAVAH], test x"${it_cv_cp40188_javah}" = "xyes") + AC_PROVIDE([$0])dnl + ]) ++ ++AC_DEFUN_ONCE([IT_WITH_PAX], ++[ ++ AC_MSG_CHECKING([for pax utility to use]) ++ AC_ARG_WITH([pax], ++ [AS_HELP_STRING(--with-pax=COMMAND,the command used for pax marking)], ++ [ ++ PAX_COMMAND=${withval} ++ if test "x${PAX_COMMAND}" = "xno"; then ++ PAX_COMMAND="not specified" ++ fi ++ ], ++ [ ++ PAX_COMMAND="not specified" ++ ]) ++ case "x${PAX_COMMAND}" in ++ xchpax) ++ case "${host_cpu}" in ++ i?86) ++ PAX_COMMAND_ARGS="-msp" ++ ;; ++ *) ++ PAX_COMMAND_ARGS="-m" ++ ;; ++ esac ++ ;; ++ xpaxctl) ++ case "${host_cpu}" in ++ i?86) ++ PAX_COMMAND_ARGS="-msp" ++ ;; ++ *) ++ PAX_COMMAND_ARGS="-m" ++ ;; ++ esac ++ ;; ++ *) ++ PAX_COMMAND="not specified" ++ PAX_COMMAND_ARGS="not specified" ++ ;; ++ esac ++ AM_CONDITIONAL(WITH_PAX, test "x${PAX_COMMAND}" != "xnot specified") ++ AC_MSG_RESULT(${PAX_COMMAND}) ++ AC_SUBST(PAX_COMMAND) ++ AC_SUBST(PAX_COMMAND_ARGS) ++]) +diff --git a/configure.ac b/configure.ac +index 580840e..f37ef68 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -51,7 +51,6 @@ IT_CHECK_GCC_VERSION + IT_CHECK_NUMBER_OF_PARALLEL_JOBS + IT_CP_SUPPORTS_REFLINK + IT_CAN_HARDLINK_TO_SOURCE_TREE +-IT_CHECK_FOR_PAX + IT_LOCATE_NSS + + # Use xvfb-run if found to run gui tests (check-jdk). +@@ -189,6 +188,9 @@ IT_WITH_TZDATA_DIR + IT_GETDTDTYPE_CHECK + IT_JAVAH + ++IT_WITH_PAX ++AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm]) ++ + dnl pkgconfig cannot be used to find these headers and libraries. + AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[] + ,[AC_MSG_ERROR("CUPS headers were not found - +diff --git a/pax-mark-vm.in b/pax-mark-vm.in +new file mode 100644 +index 0000000..bdff735 +--- /dev/null ++++ b/pax-mark-vm.in +@@ -0,0 +1,13 @@ ++#!/bin/sh ++ ++# Taken from Gentoo's pax-utils.eclass ++list_paxables() { ++ file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//' ++} ++ ++if test "@PAX_COMMAND@" != "not specified"; then ++ for paxable in `list_paxables "${1}"/bin/* "${1}"/jre/bin/*`; do ++ echo "PaX mark @PAX_COMMAND_ARGS@ ${paxable}" ++ @PAX_COMMAND@ @PAX_COMMAND_ARGS@ "${paxable}" ++ done ++fi diff --git a/dev-java/icedtea/icedtea-6.1.10.5.ebuild b/dev-java/icedtea/icedtea-6.1.10.5.ebuild new file mode 100644 index 000000000000..9fe8de1f1dd4 --- /dev/null +++ b/dev-java/icedtea/icedtea-6.1.10.5.ebuild @@ -0,0 +1,338 @@ +# 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-6.1.10.5.ebuild,v 1.1 2012/02/06 06:49:00 sera Exp $ +# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org) + +# ********************************************************* +# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-7.* AS WELL * +# ********************************************************* + +EAPI="4" + +inherit autotools java-pkg-2 java-vm-2 pax-utils prefix versionator virtualx + +ICEDTEA_PKG=${PN}$(replace_version_separator 1 -) +OPENJDK_BUILD="22" +OPENJDK_DATE="28_feb_2011" +OPENJDK_TARBALL="openjdk-6-src-b${OPENJDK_BUILD}-${OPENJDK_DATE}.tar.gz" +JAXP_TARBALL="jaxp144_01.zip" +JAXWS_TARBALL="jdk6-jaxws-b20.zip" +JAF_TARBALL="jdk6-jaf-b20.zip" +HOTSPOT_TARBALL="f0f676c5a2c6.tar.gz" +CACAO_TARBALL="c7bf150bfa46.tar.gz" # 17 Mar 2011 + +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://download.java.net/openjdk/jdk6/promoted/b${OPENJDK_BUILD}/${OPENJDK_TARBALL} + http://icedtea.classpath.org/download/drops/${JAXWS_TARBALL} + http://icedtea.classpath.org/download/drops/${JAF_TARBALL} + http://icedtea.classpath.org/download/drops/${JAXP_TARBALL} + hs20? ( http://hg.openjdk.java.net/hsx/hsx20/master/archive/${HOTSPOT_TARBALL} ) + !amd64? ( !sparc? ( !x86? ( + http://icedtea.classpath.org/download/drops/cacao/${CACAO_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="6" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +IUSE="+X +alsa cjk +cups debug doc examples +hs20 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/glib + >=media-libs/freetype-2.3.5 + >=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" +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/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 )" + +# media-fonts/lklug needs ppc ppc64 keywords +RDEPEND="${COMMON_DEP} + !dev-java/icedtea6 + X? ( + ${X_COMMON_DEP} + media-fonts/dejavu + cjk? ( + media-fonts/arphicfonts + media-fonts/baekmuk-fonts + !ppc? ( !ppc64? ( media-fonts/lklug ) ) + media-fonts/lohit-fonts + media-fonts/sazanami + ) + ) + alsa? ( ${ALSA_COMMON_DEP} ) + cups? ( ${CUPS_COMMON_DEP} )" + +# Only ant-core-1.7.1-r2 and later properly respect environment variables. +# xalan/xerces: automatic code generation (also needed for Ant 1.8.0 to work properly) +# ca-certificates, perl and openssl are used for the cacerts keystore generation +# xext headers have two variants depending on version - bug #288855 +# !eclipse-ecj-3.7 - bug #392587 +# 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:6 + dev-java/icedtea:6 + ) + app-arch/cpio + app-arch/zip + app-misc/ca-certificates + >=dev-java/ant-core-1.7.1-r2 + dev-java/ant-nodeps + >=dev-java/xalan-2.7.0:0 + >=dev-java/xerces-2.9.1:2 + dev-lang/perl + dev-libs/openssl + dev-util/pkgconfig + sys-apps/lsb-release + || ( >=sys-devel/autoconf-2.65:2.5 <sys-devel/autoconf-2.64:2.5 ) + ${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 ) + nsplugin? ( dev-java/icedtea-web:6[nsplugin] )" + +S="${WORKDIR}"/${ICEDTEA_PKG} + +# a bit of hack so the VM switching is triggered without causing dependency troubles +JAVA_PKG_NV_DEPEND=">=virtual/jdk-1.5" +JAVA_PKG_WANT_SOURCE="1.5" +JAVA_PKG_WANT_TARGET="1.5" + +pkg_setup() { + # quite a hack since java-config does not provide a way for a package + # to limit supported VM's for building and their preferred order + if [[ -n "${JAVA_PKG_FORCE_VM}" ]]; then + einfo "Honoring user-set JAVA_PKG_FORCE_VM" + elif has_version "<=dev-java/icedtea-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea6" + elif has_version ">dev-java/icedtea-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea-6" + elif has_version "<dev-java/icedtea-bin-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea6-bin" + elif has_version ">=dev-java/icedtea-bin-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea-bin-6" + elif has_version dev-java/gcj-jdk; then + JAVA_PKG_FORCE_VM="gcj-jdk" + else + die "Unable to find a supported VM for building" + fi + + einfo "Forced vm ${JAVA_PKG_FORCE_VM}" + java-vm-2_pkg_setup + java-pkg-2_pkg_setup +} + +src_unpack() { + unpack ${ICEDTEA_PKG}.tar.gz +} + +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 + eautoreconf +} + +src_configure() { + local config bootstrap + local vm=$(java-pkg_get-current-vm) + + # IcedTea6 can't be built using IcedTea7; its class files are too new + if has "${vm}" icedtea6 icedtea-6 icedtea6-bin icedtea-bin-6; then + use jbootstrap && bootstrap=yes + elif has "${vm}" gcj-jdk; then + # gcj-jdk ensures ecj is present. + use jbootstrap || einfo "bootstrap forced on for ${vm}, ignoring use jbootstrap" + bootstrap=yes + else + eerror "IcedTea${SLOT} must be built with either a JDK based on GNU Classpath or an existing build of IcedTea${SLOT}." + die "Install a GNU Classpath JDK (gcj-jdk)" + fi + + if [[ ${bootstrap} ]]; then + config="${config} --enable-bootstrap" + + # 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}" + else + config="${config} --disable-bootstrap" + fi + + # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ... + # Otherwise use CACAO + if ! has "${ARCH}" amd64 sparc x86; then + config="${config} --enable-cacao --with-cacao-src-zip=${DISTDIR}/${CACAO_TARBALL}" + 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 + + if use hs20 ; then + config="${config} --with-hotspot-build=hs20 --with-hotspot-src-zip=${DISTDIR}/${HOTSPOT_TARBALL}" + fi + + unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS + + econf ${config} \ + --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_TARBALL}" \ + --with-jaxp-drop-zip="${DISTDIR}/${JAXP_TARBALL}" \ + --with-jaxws-drop-zip="${DISTDIR}/${JAXWS_TARBALL}" \ + --with-jaf-drop-zip="${DISTDIR}/${JAF_TARBALL}" \ + --with-jdk-home="$(java-config -O)" \ + --with-abs-install-dir=/usr/$(get_libdir)/icedtea${SLOT} \ + $(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 + + # ant -diagnostics in Ant 1.8.0 fails without xerces-2 and xalan + # Load the least that's needed to avoid possible classpath collisions. + export ANT_TASKS="xerces-2 xalan ant-nodeps" + + emake +} + +src_test() { + # Use Xvfb for tests + unset DISPLAY + + Xemake -j1 check +} + +src_install() { + local dest="/usr/$(get_libdir)/icedtea${SLOT}" + local ddest="${ED}/${dest}" + dodir "${dest}" + + dodoc README NEWS AUTHORS THANKYOU + 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 + + # 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 + + # 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 +} + +pkg_preinst() { + if has_version "<=dev-java/icedtea-6.1.10.4:${SLOT}"; then + # portage would preserve the symlink otherwise, related to bug #384397 + rm -f "${EROOT}/usr/lib/jvm/icedtea6" + elog "To unify the layout and simplify scripts, the identifier of Icedtea-6*" + elog "has changed from 'icedtea6' to 'icedtea-6' starting from version 6.1.10.4-r1" + elog "If you had icedtea6 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-6.1.11.ebuild b/dev-java/icedtea/icedtea-6.1.11.ebuild new file mode 100644 index 000000000000..0c735d21b562 --- /dev/null +++ b/dev-java/icedtea/icedtea-6.1.11.ebuild @@ -0,0 +1,329 @@ +# 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-6.1.11.ebuild,v 1.1 2012/02/06 06:49:00 sera Exp $ +# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org) + +# ********************************************************* +# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-7.* AS WELL * +# ********************************************************* + +EAPI="4" + +inherit autotools 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_TARBALL="openjdk-6-src-b${OPENJDK_BUILD}-${OPENJDK_DATE}.tar.gz" +JAXP_TARBALL="jaxp144_03.zip" +JAXWS_TARBALL="jdk6-jaxws2_1_6-2011_06_13.zip" +JAF_TARBALL="jdk6-jaf-b20.zip" +CACAO_TARBALL="cff92704c4e0.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://download.java.net/openjdk/jdk6/promoted/b${OPENJDK_BUILD}/${OPENJDK_TARBALL} + http://icedtea.classpath.org/download/drops/${JAXWS_TARBALL} + http://icedtea.classpath.org/download/drops/${JAF_TARBALL} + http://icedtea.classpath.org/download/drops/${JAXP_TARBALL} + !amd64? ( !sparc? ( !x86? ( + http://icedtea.classpath.org/download/drops/cacao/${CACAO_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="6" +KEYWORDS="~amd64 ~ppc ~ppc64 ~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/glib + >=media-libs/freetype-2.3.5 + >=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" +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/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 )" + +# media-fonts/lklug needs ppc ppc64 keywords +RDEPEND="${COMMON_DEP} + !dev-java/icedtea6 + X? ( + ${X_COMMON_DEP} + media-fonts/dejavu + cjk? ( + media-fonts/arphicfonts + media-fonts/baekmuk-fonts + !ppc? ( !ppc64? ( 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 +# !eclipse-ecj-3.7 - bug #392587 +# 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:6 + dev-java/icedtea:6 + ) + app-arch/cpio + 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 + dev-util/pkgconfig + sys-apps/lsb-release + || ( >=sys-devel/autoconf-2.65:2.5 <sys-devel/autoconf-2.64:2.5 ) + ${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 ) + nsplugin? ( dev-java/icedtea-web:6[nsplugin] )" + +S="${WORKDIR}"/${ICEDTEA_PKG} + +# a bit of hack so the VM switching is triggered without causing dependency troubles +JAVA_PKG_NV_DEPEND=">=virtual/jdk-1.5" +JAVA_PKG_WANT_SOURCE="1.5" +JAVA_PKG_WANT_TARGET="1.5" + +pkg_setup() { + # quite a hack since java-config does not provide a way for a package + # to limit supported VM's for building and their preferred order + if [[ -n "${JAVA_PKG_FORCE_VM}" ]]; then + einfo "Honoring user-set JAVA_PKG_FORCE_VM" + elif has_version "<=dev-java/icedtea-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea6" + elif has_version ">dev-java/icedtea-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea-6" + elif has_version "<dev-java/icedtea-bin-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea6-bin" + elif has_version ">=dev-java/icedtea-bin-6.1.10.4:6"; then + JAVA_PKG_FORCE_VM="icedtea-bin-6" + elif has_version dev-java/gcj-jdk; then + JAVA_PKG_FORCE_VM="gcj-jdk" + else + die "Unable to find a supported VM for building" + fi + + einfo "Forced vm ${JAVA_PKG_FORCE_VM}" + java-vm-2_pkg_setup + java-pkg-2_pkg_setup +} + +src_unpack() { + unpack ${ICEDTEA_PKG}.tar.gz +} + +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 + eautoreconf +} + +src_configure() { + local config bootstrap + local vm=$(java-pkg_get-current-vm) + + # IcedTea6 can't be built using IcedTea7; its class files are too new + if has "${vm}" icedtea6 icedtea-6 icedtea6-bin icedtea-bin-6; then + use jbootstrap && bootstrap=yes + elif has "${vm}" gcj-jdk; then + # gcj-jdk ensures ecj is present. + use jbootstrap || einfo "bootstrap forced on for ${vm}, ignoring use jbootstrap" + bootstrap=yes + else + eerror "IcedTea${SLOT} must be built with either a JDK based on GNU Classpath or an existing build of IcedTea${SLOT}." + die "Install a GNU Classpath JDK (gcj-jdk)" + fi + + if [[ ${bootstrap} ]]; then + config="${config} --enable-bootstrap" + + # 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}" + else + config="${config} --disable-bootstrap" + fi + + # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ... + # Otherwise use CACAO + if ! has "${ARCH}" amd64 sparc x86; then + config="${config} --enable-cacao --with-cacao-src-zip=${DISTDIR}/${CACAO_TARBALL}" + 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-jaxp-drop-zip="${DISTDIR}/${JAXP_TARBALL}" \ + --with-jaxws-drop-zip="${DISTDIR}/${JAXWS_TARBALL}" \ + --with-jaf-drop-zip="${DISTDIR}/${JAF_TARBALL}" \ + --with-jdk-home="$(java-config -O)" \ + --with-abs-install-dir=/usr/$(get_libdir)/icedtea${SLOT} \ + $(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 -j1 check +} + +src_install() { + local dest="/usr/$(get_libdir)/icedtea${SLOT}" + local ddest="${ED}/${dest}" + dodir "${dest}" + + dodoc README NEWS AUTHORS THANKYOU + 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 + + # 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 + + # 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 +} + +pkg_preinst() { + if has_version "<=dev-java/icedtea-6.1.10.4:${SLOT}"; then + # portage would preserve the symlink otherwise, related to bug #384397 + rm -f "${EROOT}/usr/lib/jvm/icedtea6" + elog "To unify the layout and simplify scripts, the identifier of Icedtea-6*" + elog "has changed from 'icedtea6' to 'icedtea-6' starting from version 6.1.10.4-r1" + elog "If you had icedtea6 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/metadata.xml b/dev-java/icedtea/metadata.xml index 678065f4c387..f872adbcc3b8 100644 --- a/dev-java/icedtea/metadata.xml +++ b/dev-java/icedtea/metadata.xml @@ -14,17 +14,19 @@ </maintainer> <longdescription>The IcedTea project provides a harness to build the source code from OpenJDK (http://openjdk.java.net) using Free Software build tools along with additional tools such as a browser plugin and Web Start support via NetX. </longdescription> <use> + <flag name="X">Make X buildtime-only depenency.</flag> + <flag name="alsa">Make alsa buildtime-only dependency.</flag> <flag name="cacao">Build additionally the CACAO virtual machine.</flag> + <flag name="cups">Make CUPS build-only dependency.</flag> <flag name="hs20">Use the new version of HotSpot (20).</flag> <flag name="jamvm">Build additionally the JamVM virtual machine.</flag> <flag name="jbootstrap">If possible, recompile the final IcedTea executables with itself.</flag> <flag name="nio2">Enable backport of NIO2 to OpenJDK6.</flag> <flag name="nss">Enable NSS security provider support.</flag> <flag name="nsplugin">Enable browser plugin (NPPlugin), requires also the webstart flag to be enabled.</flag> -<!-- <flag name="shark">Enable Shark JIT support</flag> --> + <flag name="pax_kernel">For building when running a PaX enabled kernel.</flag> <flag name="systemtap">Enable SystemTap probes in HotSpot.</flag> <flag name="webstart">Enable Web Start support (via NetX).</flag> <flag name="xrender">Enable support for using XRender with the AWT libraries.</flag> - <flag name="zero">Enable the zero assembler port of HotSpot.</flag> </use> </pkgmetadata> |