diff --git a/dev-java/icedtea/ChangeLog b/dev-java/icedtea/ChangeLog new file mode 100644 index 0000000..de9e6f8 --- /dev/null +++ b/dev-java/icedtea/ChangeLog @@ -0,0 +1,1273 @@ +# ChangeLog for dev-java/icedtea +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*icedtea-6.1.10.5 (12 Jan 2012) +*icedtea-6.1.9.12 (12 Jan 2012) +*icedtea-6.1.8.12 (12 Jan 2012) + + 12 Jan 2012; Andrew John Hughes -icedtea-6.1.8.11.ebuild, + +icedtea-6.1.8.12.ebuild, -icedtea-6.1.9.11.ebuild, +icedtea-6.1.9.12.ebuild, + -icedtea-6.1.10.4-r5.ebuild, +icedtea-6.1.10.5.ebuild: + Latest bugfix update: 1.8.12, 1.9.12 and 1.10.5 http://bit.ly/zGNr7r + +*icedtea-6.1.10.4-r5 (20 Dec 2011) + + 20 Dec 2011; Andrew John Hughes + -icedtea-6.1.10.4-r4.ebuild, +icedtea-6.1.10.4-r5.ebuild: + Remove unsupported addvm support. x86/x86_64/SPARC now on HotSpot, + all others on CACAO. Remove NIO2 support in preparation for it + being dropped in 1.11. Re-enable ppc64 support. + + 18 Dec 2011; Ralph Sennhauser files/icedtea.env, + metadata.xml: + Copy prefixified icedtea.env from main tree and fix typo in metadata.xml + + 17 Dec 2011; Ralph Sennhauser + files/icedtea-6.1.10.4_separate_shark_target.patch: + Reorder ADD_ZERO_CONFIGURE_ARGS to prevent leaking through of unfiltred + options + + 16 Dec 2011; Ralph Sennhauser icedtea-6.1.10.4-r4.ebuild: + Fix patch name + +*icedtea-7.2.0-r4 (14 Dec 2011) +*icedtea-6.1.10.4-r4 (14 Dec 2011) + + 14 Dec 2011; Ralph Sennhauser +icedtea-6.1.10.4-r4.ebuild, + +files/icedtea-6.1.10.4_1-sharkllvm30-de-const-type-135375.patch, + +files/icedtea-6.1.10.4_pax_kernel_support.patch, + +files/icedtea-6.1.10.4_separate_shark_target.patch, + +files/icedtea-6.1.10.4_shark_jvm_rpath.patch, +icedtea-7.2.0-r4.ebuild, + +files/icedtea-7.2.0_1-sharkllvm30-de-const-type-135375.patch, + +files/icedtea-7.2.0_pax_kernel_support.patch, + +files/icedtea-7.2.0_separate_shark_target.patch, + +files/icedtea-7.2.0_shark_jvm_rpath.patch, + +files/icedtea-7.2.0_shark_llvm_flags.patch, + +files/2-sharkllvm30-PHI-128537-Call-ArrayRef-135265-v2.patch, + +files/0-sharkllvm30-targetselect-138450.patch, + +files/3-sharkllvm30-MCJIT-v3.patch, +files/disable_werror.patch: + Add use flags zero and shark for builing them as additional vms. + Add bs patch for PaX enabled kernels. + Add bs patch for spliting out shark target. + Explicitly add llvm lib dir to RPATH in sharks libjvm.so + Add a series of patches to get shark to build with llvm-3.0 + Add missing llvm flags in openjdk7. + Allow running the jtreg tests. + Drop ppc64 KEYWORD for icedtea:6 due to missing sys-devel/llvm. + +*icedtea-7.2.0-r3 (02 Dec 2011) +*icedtea-6.1.10.4-r3 (02 Dec 2011) + + 02 Dec 2011; Ralph Sennhauser -icedtea-6.1.10.4-r2.ebuild, + +icedtea-6.1.10.4-r3.ebuild, -icedtea-7.2.0-r2.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. + + 28 Nov 2011; Miroslav Šulc + +files/fontconfig.Gentoo.properties.src: + Adding ommitted fontconfig file + +*icedtea-7.2.0-r2 (28 Nov 2011) +*icedtea-6.1.10.4-r2 (28 Nov 2011) + + 28 Nov 2011; Ralph Sennhauser -icedtea-6.1.10.4.ebuild, + -icedtea-6.1.10.4-r1.ebuild, +icedtea-6.1.10.4-r2.ebuild, + -icedtea-7.2.0.ebuild, -icedtea-7.2.0-r1.ebuild, +icedtea-7.2.0-r2.ebuild, + 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. + + 21 Nov 2011; Ralph Sennhauser 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 icedtea-6.1.10.4-r1.ebuild, + icedtea-7.2.0-r1.ebuild: + Remove unneeded pkg_postinst + + 18 Nov 2011; Vlastimil Babka 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 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 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 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 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 icedtea-7.2.0-r1.ebuild: + Fix building with PaX enabled kernels. Bug #389751. Thanks to Daniel Kuehn + and Magnus Granberg for their help + finding the patch + + 12 Nov 2011; Ralph Sennhauser icedtea-7.2.0-r1.ebuild: + Use java-vm_sandbox-predict for installing the controle file + + 11 Nov 2011; Vlastimil Babka icedtea-7.2.0-r1.ebuild: + Support building using icedtea-bin-7. + + 10 Nov 2011; Ralph Sennhauser icedtea-6.1.10.4-r1.ebuild, + icedtea-7.2.0-r1.ebuild: + Fix building with unusal locales, bug #330433 #389717 + +*icedtea-6.1.9.11 (08 Nov 2011) +*icedtea-6.1.8.11 (08 Nov 2011) + + 08 Nov 2011; Andrew John Hughes -icedtea-6.1.8.10.ebuild, + +icedtea-6.1.8.11.ebuild, -icedtea-6.1.9.10.ebuild, +icedtea-6.1.9.11.ebuild: + Security update for releases with plugin & Web Start: http://bit.ly/uhvhLW + + 08 Nov 2011; Ralph Sennhauser + 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 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 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 icedtea-7.2.0-r1.ebuild: + Relax lcms dep to allow the stable 2.0a satisfy it. + + 05 Nov 2011; Vlastimil Babka icedtea-7.2.0-r1.ebuild: + Add missing cpio dep QA fix from main tree. + + 04 Nov 2011; Vlastimil Babka icedtea-7.2.0-r1.ebuild: + Add ~x86 keyword. + + 04 Nov 2011; Vlastimil Babka icedtea-7.2.0-r1.ebuild: + Remove unused autotools. + + 02 Nov 2011; Vlastimil Babka icedtea-7.2.0-r1.ebuild: + Add sandbox.d file for bug #388127. + + 30 Oct 2011; Vlastimil Babka icedtea-6.1.8.10.ebuild, + icedtea-6.1.9.10.ebuild, icedtea-6.1.10.4.ebuild, icedtea-6.1.10.4-r1.ebuild, + icedtea-7.2.0.ebuild, icedtea-7.2.0-r1.ebuild: + Package move icedtea6-bin to icedtea-bin. + + 30 Oct 2011; Vlastimil Babka icedtea-6.1.10.4-r1.ebuild, + icedtea-7.2.0-r1.ebuild: + Remove obsolete call to unset_vars, bug #380839. + +*icedtea-7.2.0-r1 (30 Oct 2011) +*icedtea-6.1.10.4-r1 (30 Oct 2011) + + 30 Oct 2011; Vlastimil Babka +icedtea-6.1.10.4-r1.ebuild, + +icedtea-7.2.0-r1.ebuild: + Revbump to use EAPI=4 and change the VMHANDLE icedtea${SLOT} to the standard + icedtea-${SLOT}. + + 19 Oct 2011; Andrew John Hughes icedtea-7.2.0.ebuild: + Remove dead USE flags and fix tarball locations. + + 19 Oct 2011; Andrew John Hughes icedtea-7.2.0.ebuild: + Remove references to removed patches. + +*icedtea-7.2.0 (19 Oct 2011) + + 19 Oct 2011; Andrew John Hughes + -files/7.2.0_pre-bytecode_check.patch, -files/7.2.0_pre-cacao-01.patch, + -files/7.2.0_pre-cacao-02.patch, -files/7.2.0_pre-cacao-03.patch, + -files/7.2.0_pre-cacao-04.patch, -files/7.2.0_pre-no_werror.patch, + -icedtea-7.2.0_pre.ebuild, +icedtea-7.2.0.ebuild: + Add full release of IcedTea 2.0: + http://blog.fuseyism.com/index.php/2011/10/19/icedtea-2-0-released/ + +*icedtea-6.1.10.4 (19 Oct 2011) +*icedtea-6.1.9.10 (19 Oct 2011) +*icedtea-6.1.8.10 (19 Oct 2011) + + 19 Oct 2011; Andrew John Hughes -icedtea-6.1.8.9.ebuild, + +icedtea-6.1.8.10.ebuild, -icedtea-6.1.9.9.ebuild, +icedtea-6.1.9.10.ebuild, + -icedtea-6.1.10.3.ebuild, +icedtea-6.1.10.4.ebuild: + Security update: + http://blog.fuseyism.com/index.php/2011/10/18/security-icedtea6-1-8-10-1-9-10-and-1-10-4-released/ + + 04 Oct 2011; Andrew John Hughes + +files/7.2.0_pre-cacao-01.patch, +files/7.2.0_pre-cacao-02.patch, + +files/7.2.0_pre-cacao-03.patch, +files/7.2.0_pre-cacao-04.patch, + icedtea-7.2.0_pre.ebuild: + Apply recent CACAO fixes to fix build issues. + + 30 Sep 2011; Andrew John Hughes + +files/7.2.0_pre-bytecode_check.patch, -files/7.1.13-alsa-sane-headers.patch, + -files/7.1.14-checksums.patch, icedtea-7.2.0_pre.ebuild, + -files/7.1.14-forest.patch: + Fix bootstrap build with IcedTea7 by detecting level of bytecode supported + before applying patches. + + 29 Sep 2011; Miroslav Šulc icedtea-7.2.0_pre.ebuild: + Fixed issue with sandbox access violation + + 29 Sep 2011; Andrew John Hughes icedtea-7.2.0_pre.ebuild: + Temporarily disable bootstrapping with IcedTea7 until fixed. + +*icedtea-7.2.0_pre (29 Sep 2011) + + 29 Sep 2011; Andrew John Hughes + -icedtea-6.1.7.10-r1.ebuild, -icedtea-7.1.13-r1.ebuild, + -icedtea-7.1.14.ebuild, +icedtea-7.2.0_pre.ebuild: + Add support for IcedTea7 2.0 pre-release. Remove unsupported versions. + + 09 Sep 2011; Vlastimil Babka + icedtea-6.1.7.10-r1.ebuild, -icedtea-6.1.8.7-r1.ebuild, + icedtea-6.1.8.9.ebuild, -icedtea-6.1.9.7-r1.ebuild, + icedtea-6.1.9.9.ebuild, -icedtea-6.1.10.1.ebuild, icedtea-6.1.10.3.ebuild: + Use /usr/lib instead of get_libdir for the vmhome path, bug #380853. Prune + old versions. + + 09 Sep 2011; Andrew John Hughes icedtea-7.1.14.ebuild: + Keyword 1.14 temporarily until 2.0 is released. + +*icedtea-6.1.10.3 (21 Jul 2011) + + 21 Jul 2011; Andrew John Hughes -icedtea-6.1.10.2.ebuild, + +icedtea-6.1.10.3.ebuild: + IcedTea6 1.10.3 update: + http://blog.fuseyism.com/index.php/2011/07/21/icedtea6-1103-released/ + +*icedtea-6.1.9.9 (20 Jul 2011) +*icedtea-6.1.8.9 (20 Jul 2011) + + 20 Jul 2011; Andrew John Hughes -icedtea-6.1.8.8.ebuild, + +icedtea-6.1.8.9.ebuild, -icedtea-6.1.9.8.ebuild, +icedtea-6.1.9.9.ebuild: + Security update: + http://blog.fuseyism.com/index.php/2011/07/20/security-icedtea6-189-199-released/ + + 06 Jul 2011; Andrew John Hughes icedtea-7.1.14.ebuild: + Update dependencies to include lcms2 and replace xalan/xerces with libxslt. + + 21 Jun 2011; Andrew John Hughes + files/6.1.10.2-371405-linux_version.patch: + Match any kernel version beginning with 3 rather than just 3.0*. + + 13 Jun 2011; Andrew John Hughes icedtea-6.1.10.2.ebuild, + +files/6.1.10.2-371405-linux_version.patch: + Fix Bug #371405 so IcedTea6 1.10.2 can be built on Linux 3.0. + +*icedtea-7.1.14 (08 Jun 2011) +*icedtea-6.1.10.2 (08 Jun 2011) +*icedtea-6.1.9.8 (08 Jun 2011) +*icedtea-6.1.8.8 (08 Jun 2011) + + 08 Jun 2011; Andrew John Hughes + +files/7.1.14-checksums.patch, +icedtea-6.1.8.8.ebuild, + +icedtea-6.1.9.8.ebuild, +icedtea-6.1.10.2.ebuild, + +files/7.1.14-forest.patch, +icedtea-7.1.14.ebuild: + Add support for IcedTea7 1.14 and IcedTea6 1.8.8, 1.9.8 and 1.10.2. + http://blog.fuseyism.com/index.php/2011/06/08/icedtea6-188-198-and-1102-released/ + http://blog.fuseyism.com/index.php/2011/05/25/icedtea7-114-released/ + +*icedtea-6.1.10.1 (04 Apr 2011) + + 04 Apr 2011; Andrew John Hughes -icedtea-6.1.10.ebuild, + +icedtea-6.1.10.1.ebuild: + http://blog.fuseyism.com/index.php/2011/04/04/icedtea6-1101-released/ + + 30 Mar 2011; Vlastimil Babka icedtea-7.1.13-r1.ebuild: + Remove files (javaws binaries) colliding with icedtea-web in the ebuild, + until there's upstream version with --disable-webstart for icedtea7. Bug + #355849. + + 28 Mar 2011; Andrew John Hughes + icedtea-6.1.7.10-r1.ebuild, icedtea-6.1.8.7-r1.ebuild, + icedtea-6.1.9.7-r1.ebuild, icedtea-6.1.10.ebuild, icedtea-7.1.13-r1.ebuild: + Add slot dependency for gtk+. + + 28 Mar 2011; Andrew John Hughes -icedtea-6.1.7.10.ebuild, + -icedtea-6.1.8.7.ebuild, -icedtea-6.1.9.7.ebuild, -icedtea-7.1.13.ebuild: + Remove old versions of ebuilds. + + 05 Mar 2011; metadata.xml: + Update maintainer info from the main tree. Describe the hs20 and jamvm USE + flags. + +*icedtea-6.1.10 (02 Mar 2011) + + 02 Mar 2011; Andrew John Hughes +icedtea-6.1.10.ebuild: + New IcedTea6 1.10 release: + http://blog.fuseyism.com/index.php/2011/03/02/icedtea6-110-released/ + + 17 Feb 2011; Vlastimil Babka + icedtea-6.1.7.10-r1.ebuild, icedtea-6.1.8.7-r1.ebuild, + icedtea-6.1.9.7-r1.ebuild, +icedtea-7.1.13-r1.ebuild: + Use slot deps for icedtea-web, port the changes to icedtea7 as well (uses + separate slot of icedtea-web). + + 17 Feb 2011; Vlastimil Babka + +icedtea-6.1.7.10-r1.ebuild, +icedtea-6.1.8.7-r1.ebuild, + icedtea-6.1.9.7-r1.ebuild: + Revbump the remaining icedtea6 branches to use icedtea-web + + 17 Feb 2011; Vlastimil Babka + +icedtea-6.1.9.7-r1.ebuild: + Revbump to PDEPEND on icedtea-web instead of building webstart/nsplugin as + part of the whole icedtea build. Fixes bug #355175. + +*icedtea-6.1.9.7 (15 Feb 2011) +*icedtea-6.1.8.7 (15 Feb 2011) +*icedtea-6.1.7.10 (15 Feb 2011) + + 15 Feb 2011; Andrew John Hughes + -files/6.1.9.6-sparc.patch, -icedtea-6.1.7.9.ebuild, + +icedtea-6.1.7.10.ebuild, -icedtea-6.1.8.6.ebuild, +icedtea-6.1.8.7.ebuild, + -icedtea-6.1.9.6.ebuild, +icedtea-6.1.9.7.ebuild: + Security update: + http://blog.fuseyism.com/index.php/2011/02/15/security-icedtea6-1710-187-and-197-released/ + Fix for SPARC issue (#344659) included upstream. + +*icedtea-6.1.9.6 (09 Feb 2011) +*icedtea-6.1.8.6 (09 Feb 2011) +*icedtea-6.1.7.9 (09 Feb 2011) + + 09 Feb 2011; Andrew John Hughes + +files/6.1.9.6-sparc.patch, -files/6.1.9.5-sparc.patch, + -icedtea-6.1.7.8.ebuild, +icedtea-6.1.7.9.ebuild, -icedtea-6.1.8.5.ebuild, + +icedtea-6.1.8.6.ebuild, -icedtea-6.1.9.5.ebuild, +icedtea-6.1.9.6.ebuild: + Security update for floating point issue: + http://blog.fuseyism.com/index.php/2011/02/09/security-icedtea6-179-186-196-released/ + +*icedtea-6.1.9.5 (01 Feb 2011) +*icedtea-6.1.8.5 (01 Feb 2011) +*icedtea-6.1.7.8 (01 Feb 2011) + + 01 Feb 2011; Andrew John Hughes + +files/6.1.9.5-sparc.patch, -files/6.1.9.4-sparc.patch, + -icedtea-6.1.7.7.ebuild, +icedtea-6.1.7.8.ebuild, -icedtea-6.1.8.4.ebuild, + +icedtea-6.1.8.5.ebuild, -icedtea-6.1.9.4.ebuild, +icedtea-6.1.9.5.ebuild: + Security update: + http://blog.fuseyism.com/index.php/2011/02/01/security-icedtea6-178-185-195-released/ + RH672262, CVE-2011-0025: IcedTea jarfile signature verification bypass + + 21 Jan 2011; Andrew John Hughes files/icedtea.env: + Revert @ROOT@ additions in icedtea.env. + + 21 Jan 2011; Andrew John Hughes icedtea-6.1.7.7.ebuild, + icedtea-6.1.8.4.ebuild, icedtea-6.1.9.4.ebuild, icedtea-7.1.13.ebuild: + Replace ${ROOT} with "/"; only should be used in + preinst/postinst/prerm/postrm. + + 21 Jan 2011; Vlastimil Babka icedtea-6.1.7.7.ebuild, + icedtea-6.1.8.4.ebuild, icedtea-6.1.9.4.ebuild, icedtea-7.1.13.ebuild: + Use virtual/jpeg, bug #347953. + + 20 Jan 2011; Andrew John Hughes icedtea-6.1.7.7.ebuild, + icedtea-6.1.8.4.ebuild, icedtea-6.1.9.4.ebuild, icedtea-7.1.13.ebuild, + files/icedtea.env: + Pass ${ROOT} and $(get_libdir) to IcedTea environment rather than hardcoding + /usr/lib. + +*icedtea-6.1.9.4 (18 Jan 2011) +*icedtea-6.1.8.4 (18 Jan 2011) +*icedtea-6.1.7.7 (18 Jan 2011) + + 18 Jan 2011; Andrew John Hughes + +files/6.1.9.4-sparc.patch, -files/6.1.9.3-sparc.patch, + -icedtea-6.1.7.6.ebuild, +icedtea-6.1.7.7.ebuild, -icedtea-6.1.8.3.ebuild, + +icedtea-6.1.8.4.ebuild, -icedtea-6.1.9.3.ebuild, +icedtea-6.1.9.4.ebuild: + New security releases: + http://blog.fuseyism.com/index.php/2011/01/18/security-icedtea6-177-184-194-r + eleased/ + * Security updates + - RH663680, CVE-2010-4351: IcedTea JNLP SecurityManager bypass + * Backports + - S4356282: RFE: JDK should support OpenType/CFF fonts + - S6954424, RH525870: Support OpenType/CFF fonts in JDK 7 + - S6795356, PR590: Leak caused by javax.swing.UIDefaults.ProxyLazyValue.acc + - S6967436, RH597227: lines longer than 2^15 can fill window. + - S6967433: dashed lines broken when using scaling transforms. + - S6976265: No STROKE_CONTROL + - S6967434, PR450, RH530642: Round joins/caps of scaled up lines have poor quality. + - S6438179, RH569121: XToolkit.isTraySupported() result has nothing to do with the system tray + * Fixes + - S7003777, RH647674: JTextPane produces incorrect content after parsing the html text + + 07 Dec 2010; Andrew John Hughes + +files/6.1.9.3-sparc.patch, icedtea-6.1.9.3.ebuild, icedtea-7.1.13.ebuild: + Apply patch from #344659 + + 07 Dec 2010; Andrew John Hughes + +files/7.1.13-alsa-sane-headers.patch, icedtea-7.1.13.ebuild: + Fix failure in IcedTea7 with make 3.82. + + 07 Dec 2010; Andrew John Hughes icedtea-7.1.13.ebuild: + Fix plugin dependency. Move to IcedTea server for drops. + + 02 Dec 2010; Vlastimil Babka metadata.xml: + Document the nsplugin flag in metadata.xml + + 02 Dec 2010; Andrew John Hughes icedtea-6.1.7.6.ebuild, + icedtea-6.1.8.3.ebuild, icedtea-6.1.9.3.ebuild: + Fail early if the user tries to build the plugin without webstart enabled. + + 02 Dec 2010; Vlastimil Babka icedtea-6.1.9.3.ebuild: + Inherit versionator eclass directly to be safe. + + 01 Dec 2010; Andrew John Hughes icedtea-6.1.9.3.ebuild: + Add Caster's change to the 1.9.3 ebuild. + +*icedtea-6.1.9.3 (01 Dec 2010) + + 01 Dec 2010; Andrew John Hughes -icedtea-6.1.9.2.ebuild, + +icedtea-6.1.9.3.ebuild: + Bump to 1.9.3, which fixes and re-enables compressed oops, increasing performance: + http://blog.fuseyism.com/index.php/2010/12/01/icedtea6-193-released/ + + 26 Nov 2010; Vlastimil Babka icedtea-6.1.7.6.ebuild, + icedtea-6.1.8.3.ebuild, icedtea-6.1.9.2.ebuild, icedtea-7.1.13.ebuild: + Derive ICEDTEA_VER from PV by versionator's get_version_component_range to + avoid manual updates on version bumps. + +*icedtea-6.1.9.2 (24 Nov 2010) +*icedtea-6.1.8.3 (24 Nov 2010) +*icedtea-6.1.7.6 (24 Nov 2010) + + 24 Nov 2010; Andrew John Hughes -icedtea-6.1.7.5.ebuild, + +icedtea-6.1.7.6.ebuild, -icedtea-6.1.8.2.ebuild, +icedtea-6.1.8.3.ebuild, + -icedtea-6.1.9.1.ebuild, +icedtea-6.1.9.2.ebuild, metadata.xml: + Latest security updates: + http://blog.fuseyism.com/index.php/2010/11/24/icedtea6-176-183-and-192-releas + ed/ + + 14 Nov 2010; Vlastimil Babka icedtea-6.1.7.5.ebuild, + icedtea-6.1.8.2.ebuild: + Fix eselect-ecj dep + + 13 Nov 2010; Vlastimil Babka icedtea-6.1.9.1.ebuild: + Fix eselect-ecj dep + + 13 Oct 2010; Vlastimil Babka metadata.xml: + Describe hs19 flag. + +*icedtea-6.1.9.1 (12 Oct 2010) +*icedtea-6.1.8.2 (12 Oct 2010) +*icedtea-6.1.7.5 (12 Oct 2010) + + 12 Oct 2010; Andrew John Hughes + -icedtea-6.1.7.4-r1.ebuild, +icedtea-6.1.7.5.ebuild, + -icedtea-6.1.8.1-r1.ebuild, +icedtea-6.1.8.2.ebuild, + -icedtea-6.1.9-r1.ebuild, +icedtea-6.1.9.1.ebuild, + -files/6.1.8.1-244901.patch, -files/6.1.7.4-244901.patch, + -files/6.1.8.1-266295.patch, -files/hs19.patch, + -files/6.1.7.4-266295.patch: + IcedTea6 security updates. + http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-October/010478.html + +*icedtea-6.1.9-r1 (20 Sep 2010) + + 20 Sep 2010; Andrew John Hughes +files/hs19.patch, + -icedtea-6.1.9.ebuild, +icedtea-6.1.9-r1.ebuild: + Backport support for HotSpot 19. + + 09 Sep 2010; Vlastimil Babka icedtea-6.1.9.ebuild, + icedtea-7.1.13.ebuild, metadata.xml: + Remove autotools from inherit where not used. Remove unused USE flags + descriptions. + + 07 Sep 2010; Andrew John Hughes icedtea-6.1.9.ebuild: + Fix missing arch value for plugin builds. + +*icedtea-6.1.9 (07 Sep 2010) + + 07 Sep 2010; Andrew John Hughes +icedtea-6.1.9.ebuild: + Add new major release: + http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-September/01018 + 6.html + + 06 Sep 2010; Andrew John Hughes + icedtea-6.1.7.4-r1.ebuild, icedtea-6.1.8.1-r1.ebuild, + icedtea-7.1.13.ebuild: + Provide a version-independent documentation symlink based on slot (e.g. + /usr/share/doc/icedtea6) + +*icedtea-6.1.8.1-r1 (11 Aug 2010) + + 11 Aug 2010; Andrew John Hughes + -icedtea-6.1.8.1.ebuild, +icedtea-6.1.8.1-r1.ebuild, + +files/6.1.8.1-244901.patch, +files/6.1.8.1-266295.patch: + Revision bump. Add patches to 1.8.1 to fix bug #244901 and #266295. + +*icedtea-6.1.7.4-r1 (06 Aug 2010) + + 06 Aug 2010; Andrew John Hughes + -files/6.1.7.3-systemtap-gcc-4.5.patch, -icedtea-6.1.7.4.ebuild, + +icedtea-6.1.7.4-r1.ebuild, +files/6.1.7.4-244901.patch, + +files/6.1.7.4-266295.patch: + Revision bump. Add patches to fix bug #244901 and #266295. Remove unused + patch. + +*icedtea-7.1.13 (29 Jul 2010) + + 29 Jul 2010; Andrew John Hughes + -files/1.12-shmproto.patch, -icedtea-7.1.12-r1.ebuild, + +icedtea-7.1.13.ebuild: + Move to IcedTea7 1.13 release. + + See http://blog.fuseyism.com/index.php/2010/07/29/icedtea7-113-released/ + +*icedtea-6.1.8.1 (28 Jul 2010) +*icedtea-6.1.7.4 (28 Jul 2010) + + 28 Jul 2010; Andrew John Hughes + -files/6.1.8.0-systemtap-gcc-4.5.patch, -icedtea-6.1.7.3.ebuild, + +icedtea-6.1.7.4.ebuild, -icedtea-6.1.8.0.ebuild, +icedtea-6.1.8.1.ebuild: + Bump to new 1.7.4 and 1.8.1 security releases. + + New in release 1.7.4 (2010-07-28): + + * NetX security issues: + - (CVE-2010-2783, RH616895): IcedTea 'Extended JNLP Services' arbitrary + file access + - (CVE-2010-2548, RH616893): IcedTea Incomplete property access check for + unsigned applications + * Backport --with-tzdata-dir support from IcedTea6 1.8 to ensure + that external timezone data works again. + * Restore icedtea-override-metacity.patch to allow full screen apps and + other expected behavioral improvements. + * S6678385, RH551835: Fixes JVM crashes when window is resized. + * S6668231: Presence of a critical subjectAltName causes JSSE's SunX509 to + fail trusted checks. + * S6963870: Eliminate NullPointerEx in swing class CompoundBorder method + getBorderInsets. + * S4891262: API spec, javax/accessibility: few invalid javadoc tags. + * S6737212: Fixed javadoc warning messages in RowSet classes. + * S6875861: javadoc build warning on java.util.Properites from + unconventional @see ordering. + * S6909563: Javadoc build warnings in rmi, security, management. + * S6879689: Fix warning about ignored return value when compiling with -O2 + * S6917485: Corba doc warnings. + * S6921068: Remove javadoc build warnings from specdefault tag. + * PR453, OJ100142: Fix policy evaluation to match the proprietary JDK. + * Make the new plugin the default. This is now the main supported + plugin. Use --disable-npplugin to use the old one. + * New plugin: + - Added support for JSObject.finalize() + - Liveconnect message processing design changes. + - Message protocol overhaul to fix race conditions + - PR166: Create FIFO pies in temp dir instead of ~/.icedteaplugin + - Profiled memory usage and implemented proper cleanup for C++ side. + - Update debug output string and function/structure names to + change 'GCJ' references to ITNP/IcedTea NP Plugin + - PR461: plugin working for NSS enabled builds with firefox including a + private NSS copy + - Removed unncessary debug and trace output + - PR474: Patch from Paulo Cesar Pereira de Andrade, incrementing malloc + size to account for NULL terminator. + - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error + - Set context classloader for all threads in an applet's threadgroup + - PR436: Close all applet threads on exit + - PR480: NPPlugin with NoScript extension. + - PR488: Question mark changing into underscore in URL. + - RH592553: Fix bug causing 100% CPU usage. + - Don't generate a random pointer from a pthread_t in the debug output. + - Add ForbiddenTargetException for legacy support. + - Use variadic macro for plugin debug message printing. + - Don't link the plugin with libxul libraries. + - Fix race conditions in plugin initialization code that were causing + hangs. + - RH506730: BankID (Norwegian common online banking authentication system) + applet fails to load. + - PR491: pass java_{code,codebase,archive} parameters to Java. + - Adds javawebstart.version property and give user permission to read that + property. + * NetX: + - Make path sanitization consistent; use a blacklisting approach. + - Make the SingleInstanceServer thread a daemon thread. + - Handle JNLP files which use native libraries but do not indicate it + - Allow JNLP classloaders to share native libraries + - Added encoding support + * PulseAudio provider: + - Eliminate spurious exception throwing. + * SystemTap support: + - PR476: Enable building SystemTap support on GCC 4.5. + - Fix HotSpot tapset object_alloc size variable. + * NIO2 support: + - Fix UnixNativeDispatcher to build on all systems, not just x86 and + x86_64. + + New in release 1.8.1 (2010-07-28): + + * OpenJDK: + - 6678385: Fixes jvm crashes when window is resized. + - Produces the "expected" behavior for full screen applications, when + running the Metacity window manager. + * IcedTeaNPPlugin. + - RH524387: javax.net.ssl.SSLKeyException: RSA premaster secret error + - Set context classloader for all threads in an applet's threadgroup + - PR436: Close all applet threads on exit + - PR480: NPPlugin with NoScript extension. + - PR488: Question mark changing into underscore in URL. + - RH592553: Fix bug causing 100% CPU usage. + - Don't generate a random pointer from a pthread_t in the debug output. + - Add ForbiddenTargetException for legacy support. + - Use variadic macro for plugin debug message printing. + - Don't link the plugin with libxul libraries. + - Fix race conditions in plugin initialization code that were causing + hangs. + - RH506730: BankID (Norwegian common online banking authentication system) + applet fails to load. + - Fix policy evaluation to match the proprietary JDK. + - PR491: pass java_{code,codebase,archive} parameters to Java. + - Adds javawebstart.version property and give user permission to read that + property. + * NetX: + - Fix security flaw in NetX that allows arbitrary unsigned apps to set + any java property. + - Fix a flaw that allows unsigned code to access any file on the + machine (accessible to the user) and write to it. + - Make path sanitization consistent; use a blacklisting approach. + - Make the SingleInstanceServer thread a daemon thread. + - Handle JNLP files which use native libraries but do not indicate it + - Allow JNLP classloaders to share native libraries + - Added encoding support + - PulseAudio: + - Eliminate spurious exception throwing. + - Zero/Shark: + - PR shark/483: Fix miscompilation of sun.misc.Unsafe::getByte. + - PR PR icedtea/324, icedtea/481: Fix Shark VM crash. + - Fix Zero build on Hitachi SH. + * SystemTap support: + - PR476: Enable building SystemTap support on GCC 4.5. + + 28 Apr 2010; Andrew John Hughes + + +files/6.1.8.0-systemtap-gcc-4.5.patch, + +files/6.1.7.3-systemtap-gcc-4.5.patch, icedtea-6.1.7.3.ebuild, + -icedtea-6.1.8.0.ebuild: + PR146: Fix build with GCC 4.5 & SystemTap + + 15 Apr 2010; Vlastimil Babka icedtea-6.1.8.0.ebuild: + Add ant-nodeps to DEPEND since it's used in ANT_TASKS variable. Bug + #315457. + + 14 Apr 2010; Vlastimil Babka icedtea-6.1.8.0.ebuild: + Restore keywords and redigest for the final 1.8 release. Remove the + npplugin flag as upstream removed to old plugin - the npplugin is now + installed always with USE=nsplugin. + +*icedtea-6.1.8.0 (12 Apr 2010) + + 12 Apr 2010; Andrew John Hughes + +icedtea-6.1.8.0.ebuild: + Add ebuild for upcoming 1.8 release of IcedTea6. To be enabled on release. + + 01 Apr 2010; Vlastimil Babka icedtea-6.1.7.3.ebuild, + icedtea-7.1.12-r1.ebuild: + Remove dep on >=virtual/jdk to prevent circular deps. Replaced by more + eclass-hack variables to allow VM switching to still work. Needs recent + java-utils-2.eclass, so update the main gentoo tree! + + 01 Apr 2010; Andrew John Hughes + icedtea-6.1.7.3.ebuild: + Depend on new eselect-ecj for ecj.jar, not a specific ecj. + +*icedtea-6.1.7.3 (31 Mar 2010) + + 31 Mar 2010; Andrew John Hughes + -files/1.7.2-free.patch, -icedtea-6.1.7.2-r1.ebuild, + +icedtea-6.1.7.3.ebuild: + Bump to 1.7.3; same as 1.7.2-r1 i.e. 1.7.2 with + https://bugzilla.mozilla.org/show_bug.cgi?id=555342 fix. + +*icedtea-6.1.7.2-r1 (31 Mar 2010) + + 31 Mar 2010; Andrew John Hughes + +files/1.7.2-free.patch, -icedtea-6.1.7.2.ebuild, + +icedtea-6.1.7.2-r1.ebuild: + Fix buffer overflow bug in plugin. + +*icedtea-6.1.7.2 (31 Mar 2010) + + 31 Mar 2010; Andrew John Hughes + -icedtea-6.1.7.1.ebuild, +icedtea-6.1.7.2.ebuild: + Bump to 1.7.2. + + - Latest security updates and hardening patches: + - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) + - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors + if run with -Xcomp (6894807) + - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability + (6899653) + - (CVE-2010-0082): Loader-constraint table allows arrays instead of only + the base-classes (6626217) + - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret + network addresses (6893954) + - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) + - (CVE-2010-0091): Unsigned applet can retrieve the dragged information + before drop action occurs (6887703) + - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) + - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. + (6633872) + - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR + error (6888149) + - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should + enforce stricter checks (6893947) + - (CVE-2010-0093): System.arraycopy unable to reference elements beyond + Integer.MAX_VALUE bytes (6892265) + - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation + Vulnerability (6904691) + - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) + - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability + (6914866) + - (CVE-2009-3555): TLS: MITM attacks via session renegotiation + - 6639665: ThreadGroup finalizer allows creation of false root + ThreadGroups + - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly + encoded CommonName OIDs + - 6910590: Application can modify command array in ProcessBuilder + - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability + - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? + - Backport of 6822370: + ReentrantReadWriteLock: threads hung when there are no threads holding + onto the lock + - Increase ThreadStackSize by 512kb on 32-bit Zero platforms + - Check cacerts database is valid + + 04 Mar 2010; Vlastimil Babka icedtea-6.1.7.1.ebuild, + icedtea-7.1.12-r1.ebuild: + Depend on gcj-jdk or cacao directly instead of gnu-classpath-jdk, as + gnu-classpath-jdk could pull jamvm which the ebuild no longer supports. + Sync the recent ant changes in icedtea:6 to icedtea:7 + + 01 Mar 2010; Vlastimil Babka ChangeLog: + Put xerces and xalan in ANT_TASK unconditionally since they are always in + DEPEND anyway. + + 01 Mar 2010; Andrew John Hughes + icedtea-6.1.7.1.ebuild: + No need to depend on Xerces and Xalan twice. + + 01 Mar 2010; Vlastimil Babka icedtea-6.1.7.1.ebuild: + Add workaround for ant 1.8.0 which needs xerces and xalan for ant + -diagnostics to work. + + 26 Feb 2010; Andrew John Hughes + icedtea-6.1.7.1.ebuild, metadata.xml: + Provide USE flag for enabling NSS security provider. + +*icedtea-6.1.7.1 (26 Feb 2010) + + 26 Feb 2010; Andrew John Hughes + -icedtea-6.1.7-r1.ebuild, +icedtea-6.1.7.1.ebuild: + Bump to 1.7.1 release. + + 24 Feb 2010; Andrew John Hughes + icedtea-6.1.7-r1.ebuild, icedtea-7.1.12-r1.ebuild: + Remove THANKYOU as not distributed by IcedTea (upstream bug rectified in + new releases) + + 24 Feb 2010; Andrew John Hughes + icedtea-6.1.7-r1.ebuild, icedtea-7.1.12-r1.ebuild: + Add an die clause to the new dodoc invocation. + +*icedtea-7.1.12-r1 (23 Feb 2010) +*icedtea-6.1.7-r1 (23 Feb 2010) + + 23 Feb 2010; Andrew John Hughes -icedtea-6.1.7.ebuild, + +icedtea-6.1.7-r1.ebuild, -icedtea-7.1.12.ebuild, + +icedtea-7.1.12-r1.ebuild: + Bump. Install README, NEWS, AUTHORS and THANKYOU from IcedTea. + + 09 Feb 2010; Vlastimil Babka icedtea-6.1.7.ebuild, + icedtea-7.1.12.ebuild: + Add missing app-arch/zip dependency for #258423 and fix some repoman warnings. + + 06 Feb 2010; Vlastimil Babka icedtea-6.1.7.ebuild, + icedtea-7.1.12.ebuild: + Add missing package-list files - bug #302654. + + 05 Feb 2010; Vlastimil Babka icedtea-6.1.7.ebuild, + icedtea-7.1.12.ebuild: + Honor user-set JAVA_PKG_FORCE_VM for easier troubleshooting as suggested by + Dennis Schridde in bug #294027. + + 05 Feb 2010; Vlastimil Babka icedtea-7.1.12.ebuild: + Restrict autoconf dependency to avoid 2.64 for bug #257596. + + 05 Feb 2010; Vlastimil Babka icedtea-7.1.12.ebuild: + Restrict xulrunner dependency to <1.9.2 for bug #303535. + + 04 Feb 2010; Vlastimil Babka icedtea-7.1.12.ebuild: + Reorder VM forcing to place icedtea:6 last (seems not work, might kill it + completely), fix checking for rebuild with icedtea:7, remove double + java-*_pkg_setup calls. + + 04 Feb 2010; Vlastimil Babka icedtea-6.1.7.ebuild, + icedtea-7.1.12.ebuild: + Depend on virtual/libffi - bug #302692. For icedtea:6, use slot deps where + appropriate, block on icedtea6 due to file collisions, and add more + information in postinst message about plugins. or icedtea:7, also use slot + deps, block on icedtea:0 and add missing slot variants to the VM choosing + logic. + +29 Jan 2010; Andrew John Hughes icedtea-6.1.7.ebuild: + Lower jpeg requirement; 1.7 works with 6b, 7 and 8 properly. + +29 Jan 2010; Andrew John Hughes icedtea-6.1.7.ebuild icedtea-7.1.12.ebuild: + Fix LICENSE to include all licenses used by OpenJDK. + +29 Jan 2010; Andrew John Hughes icedtea-6.1.7.ebuild icedtea-7.1.12.ebuild: + Combine IcedTea6 and IcedTea ebuilds, prefixing 6 or 7 to version number. + +28 Jan 2010; Andrew John Hughes icedtea6-1.7.ebuild + Add hs16 USE flag so HotSpot 16 can be turned off. + +28 Jan 2010; Vlastimil Babka icedtea6-1.7.ebuild: + Fix issue with merging binpkg as mentioned in bug #258423. + +* icedtea6-1.7 (27 01 2010) + +27 Jan 2010; Andrew John Hughes icedtea6-1.7.ebuild + icedtea6-1.5.3-r1.ebuild icedtea6-1.6.2-r1.ebuild files/splitdebug.patch + files/1.5-cacao-gcc-4.4.patch files/1.6.1-shmproto.patch files/1.6.1-jpeg7.patch + files/1.6.2-jpeg8.patch: + Bump to new release. Drop old releases. + +22 Jan 2010; Vlastimil Babka +files/1.6.2-jpeg8.patch, + icedtea6-1.6.2-r1.ebuild, +icedtea6-1.6.2-r2.ebuild: + Revbump that builds against jpeg-8. + +* icedtea6-1.6.2-r1 (11 12 2009) +* icedtea6-1.5.3-r1 (11 12 2009) + +11 Dec 2009; Andrew John Hughes icedtea6-1.6.2-r1.ebuild + icedtea6-1.5.3-r1.ebuild: + Bump. Include Andrew Haley's debuginfo patch so that jmap works when the + splitdebug feature is enabled. + +10 Dec 2009; Andrew John Hughes icedtea-1.12.ebuild: + Support building using IcedTea7. + +10 Dec 2009; Andrew John Hughes icedtea6-1.6.2.ebuild + icedtea6-1.5.3.ebuild: + Don't use IcedTea7 to build. Using a later version is not supported. + +20 Nov 2009; Vlastimil Babka icedtea-1.12.ebuild, + +files/1.12-shmproto.patch: + Fix building with new X headers - bug #288855. + +* icedtea-1.12 (17 11 2009) + +17 Nov 2009; Andrew John Hughes icedtea-1.12.ebuild: + Bump. + +* icedtea6-1.6.2 (09 11 2009) +* icedtea6-1.5.3 (09 11 2009) + +09 Nov 2009; Andrew John Hughes icedtea6-1.6.2.ebuild + icedtea6-1.5.3.ebuild: + New security releases (1.5.3, 1.6.2): + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) + Drop 1.2, 1.3 and 1.4 releases and associated patches. + +29 Oct 2009; Vlastimil Babka + +files/1.6.1-shmproto.patch, icedtea6-1.6.1-r1.ebuild: + Fix building with new libXext - bug #288855. + +11 Oct 2009; Vlastimil Babka +files/1.6.1-jpeg7.patch, + +icedtea6-1.6.1-r1.ebuild, +files/generate-cacerts.pl: + Revbump that fixes issues with jpeg-7 (bug #283248), generates cacerts file + from ca-certificates so that SSL works (bug #273306) and adds postinst info + about nsplugin compatibility (bug #251344). + +* icedtea6-1.6.1 (21 09 2009) + +21 Sep 2009; Andrew John Hughes icedtea6-1.6.1.ebuild: + New major release (1.6): + - Added java method tracing using systemtap version 0.9.9+. + - Security fixes for: + CVE-2009-2670 - OpenJDK Untrusted applet System properties access + CVE-2009-2671 CVE-2009-2672 - OpenJDK Proxy mechanism information leaks + CVE-2009-2673 - OpenJDK proxy mechanism allows non-authorized socket connections + CVE-2009-2674 - Java Web Start Buffer JPEG processing integer overflow + CVE-2009-2675 - Java Web Start Buffer unpack200 processing integer overflow + CVE-2009-2625 - OpenJDK XML parsing Denial-Of-Service + CVE-2009-2475 - OpenJDK information leaks in mutable variables + CVE-2009-2476 - OpenJDK OpenType checks can be bypassed + CVE-2009-2689 - OpenJDK JDK13Services grants unnecessary privileges + CVE-2009-2690 - OpenJDK private variable information disclosure + - FAST interpreter for ARM + - Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 + - Stackoverflow error fix: + http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 + - Backport regression (NPE) fix for AccessControlContext fix + - Bump to hs14b16 + - The plugin has been updated to improve stability and cookie support. + Support for certificates with mismatched CNs has been added as well. + Bug fix update (1.6.1): + - Fix no-plugin build + - JAR performance improvement (http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/b35f1e5075a4) + +08 Sep 2009; Andrew John Hughes icedtea-1.11.ebuild: + CACAO should be a tar.bz2 not a tar.gz + +* icedtea6-1.5.2 (04 09 2009) + +04 Sep 2009; Andrew John Hughes icedtea6-1.5.2.ebuild: + Bug fix update: + - Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 + - Stackoverflow error fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 + - Backport regression (NPE) fix for AccessControlContext fix: + http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=364 + - Bump to hs14b16 + +* icedtea-1.11 (26 08 2009) + +26 Aug 2009; Andrew John Hughes icedtea-1.11.ebuild: + Bump. Thanks to Ruediger Gad for reporting the GCC warning failure. + +12 Aug 2009; Petteri Räty icedtea6-1.5.1.ebuild: + Prefer icedtea6-bin over icedtea6 to avoid circular deps. + +* icedtea6-1.5.1 (07 08 2009) + +07 Aug 2009; Andrew John Hughes icedtea6-1.5.1.ebuild: + Security update. + +20 Jul 2009; Petteri Räty icedtea6-1.5.ebuild: + Make JAVA_PKG_STRICT happy by adding a DEPEND atom on either ecj or + icedtea. + +16 Jun 2009; Andrew John Hughes icedtea6-1.5.ebuild files/1.5-cacao-gcc-4.4.patch: + Fix issue with CACAO and GCC 4.4. + +* icedtea-1.10 (02 06 2009) + +02 Jun 2009; Andrew John Hughes icedtea-1.10.ebuild: + Bump. + +* icedtea6-1.5 (02 06 2009) + +02 Jun 2009; Andrew John Hughes icedtea6-1.5.ebuild: + Bump. + +18 May 2009; Vlastimil Babka icedtea6-1.4.1-r1.ebuild, + +files/1.4.1-xulrunner-1.9.1.patch: + Add support for API changes in xulrunner 1.9.1_beta4. Backported patch from + upstream trunk. + +03 May 2009; Vlastimil Babka icedtea6-1.4.1-r1.ebuild: + Remove unintentional pkgversion change. + +18 Apr 2009; Vlastimil Babka + +files/1.4.1-plugin.patch, +icedtea6-1.4.1-r1.ebuild: + Revbump to fix nsplugin. Patch from upstream that was supposed to be in 1.4.1. + +* icedtea6-1.4.1 (02 04 2009) + +02 Apr 2009; Andrew John Hughes icedtea6-1.4.1.ebuild: + Bump. + +14 Feb 2009; Petteri Räty icedtea6-1.4.ebuild: + unset vars in src_compile too so that paludis users don't come asking why + it does not work + +04 Feb 2009; Andrew John Hughes icedtea6-1.3.1-r2.ebuild icedtea6-1.4.ebuild: + Add HotSpot tarball to sources, only unpack icedtea6 (regression from 1.2). + +* icedtea6-1.4 (03 02 2009) + +03 Feb 2009; Andrew John Hughes icedtea6-1.4.ebuild: + Added. + +28 Jan 2009; Petteri Räty icedtea6-1.3.1-r2.ebuild: + Add slot deps to xerces and xalan atoms. + +18 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r2.ebuild icedtea6-1.2-r1.ebuild: + Remove ~sparc from 1.3, correct copyright headers. + +18 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r2.ebuild icedtea6-1.2-r1.ebuild: + Fix find used in permission fixing to not include symbolic links. + +12 Jan 2009; Petteri Räty icedtea6-1.3.1-r2.ebuild: + Move configure from src_compile to src_configure as should be done in EAPI 2. + +11 Jan 2009; Petteri Räty icedtea6-1.3.1-r2.ebuild: + Migrate to EAPI 2. + +18 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r2.ebuild: + Drop JamVM as it doesn't support -XX. + +*icedtea6-1.2-r1 (18 12 2008) + +18 Dec 2008; Andrew John Hughes icedtea6-1.2-r1.ebuild files/security-20081202-1.2.patch: + Backport security updates to 1.2. + +*icedtea6-1.3.1-r2 (18 12 2008) + +18 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r2.ebuild files/security-20081202.patch: + Security update; bumping revision to ensure this gets out. + Also adding support for icedtea6-bin. + +11 Dec 2008; Vlastimil Babka icedtea6-1.2.ebuild, + icedtea6-1.3.1-r1.ebuild: + Add missing libXtst dep. + +03 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild files/arch-prefix.patch: + Prefix 32-bit builds with 'linux32'. + +01 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild files/cacao-alias.patch: + Remove javac.in patch (gcj's java is now fixed) and add + support for building CACAO on mixed architectures (e.g. ppc64 with 32bit ul). + +01 Dec 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild icedtea6-1.2.ebuild: + Add missing X11 dependencies (libXp, libXt, libXau, libXdmcp) + +30 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild files/javac.in.patch: + Ensure the native version of ecj is used if available by passing the gcj + database to java in javac.in. + +10 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Bug 245428; + Work with the hack added to the newer Ant builds to properly support environment + variables. + +10 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Depend on xulrunner only; apparently firefox 3 doesn't always provide + enough for the XPCOM plugin. + +10 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Restore jdk 1.5 dependency for VM 'magic'. + +08 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Move Rhino to runtime dependencies. + +08 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Restore libXp fix + +07 Nov 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Remove broken modifications again! + +30 Oct 2008; Vlastimil Babka icedtea6-1.3.1-r1.ebuild: + Restore my 1.3.1 modifications in 1.3.1-r1. + +30 Oct 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Add missing libXp dependency. + +30 Oct 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Add back Caster's JAVA_PKG_FORCE_VM hack. + +*icedtea6-1.3.1-r1 (29 10 2008) + +29 Oct 2008; Andrew John Hughes icedtea6-1.3.1-r1.ebuild: + Switch to new plugin, cleanup ecj dependency, remove --with-gcj in favour + of new ecj ebuild and bump to revision 1. + +29 Oct 2008; Vlastimil Babka icedtea6-1.3.1.ebuild: + Change virtual/icedtea-jdk dep to dev-java/icedtea6 dependency to + workaround situations where the virtual is not yet installed although + icedtea6 is, and portage tries to satisfy the gnu-classpath instead. Hack + around with JAVA_PKG_FORCE_VM to select appropriate jdk for building + without need to set it as system vm or in jdk.conf. Put rhino also in + RDEPEND to fix building with java-strict until I get to know if it's + build-only dep or not. + +28 Oct 2008; Andrew John Hughes icedtea6-1.3.1.ebuild icedtea6-1.2.ebuild: + Add x11-proto/xineramaproto. + +*icedtea6-1.3.1 (27 10 2008) + +27 Oct 2008; Andrew John Hughes icedtea6-1.3.1.ebuild files/hotspot-1.3.1.patch: + Bump to new IcedTea6 1.3.1 release. + +20 Oct 2008; Petteri Räty +files/icedtea6-1.3-autoconf.patch, icedtea6-1.3-r1.ebuild: + Add patch for autoconf. Fixes bug #242746. Thanks to Alon Bar-Lev + . + +19 Oct 2008; Petteri Räty icedtea6-1.3-r1.ebuild: + Fix pulseaudio dependency atom. + +19 Oct 2008; Andrew John Hughes icedtea6-1.3-r1.ebuild: + Drop out if trying to bootstrap due to the broken tarball issue. + Add PulseAudio support. + +16 Oct 2008; Andrew John Hughes files/icedtea6.env: + Fixed naming of icedtea6 install directory. + +16 Oct 2008; Andrew John Hughes icedtea6-1.3-r1.ebuild: + Allow a CACAO build to build a normal IcedTea. + +*icedtea6-1.3-r1 (16 10 2008) + +15 Oct 2008; Andrew John Hughes icedtea6-1.3-r1.ebuild: + Fixed naming of icedtea6 install directory and added cacao and shark options. + +15 Oct 2008; Vlastimil Babka icedtea6-1.3.ebuild: + Prefer ecj 3.3 over 3.2 + +*icedtea6-1.3 (15 10 2008) + +15 Oct 2008; Andrew John Hughes icedtea6-1.3.ebuild: + Added (based on icedtea6-9999). + +13 Oct 2008; Andrew John Hughes icedtea6-1.2.ebuild: + Fix use of zero flag. + +12 Oct 2008; Andrew John Hughes icedtea6-1.2.ebuild: + Remove Gentoo-specific patches and force java, javac and javah with + locations from GENTOO_VM. + +09 Oct 2008; Andrew John Hughes icedtea6-1.2.ebuild: + Port back debug fix from 9999 ebuild and add JDK check. + +08 Oct 2008; Andrew John Hughes icedtea6-1.2.ebuild: + Depend on gnu-classpath-jdk and icedtea-jdk. + +14 Sep 2008; Andrew John Hughes files/enable_fix-1.2.patch: + Remove prefix on left file in patch; epatch no longer seems to like this. + +14 Sep 2008; Andrew John Hughes files/security_and_versioning.patch: + Correct placement of version. + +14 Sep 2008; Andrew John Hughes icedtea6-1.2.ebuild files/security_and_versioning.patch: + Backport security fixes and include the version number and 'gentoo' in + the versioning. + +15 Aug 2008; Petteri Räty icedtea6-9999.ebuild: + Remove KEYWORDS from the live ebuild so that users get 1.2 by default. + +07 Aug 2008; Andrew John Hughes icedtea6-9999.ebuild: + Fix rhino_jar declaration. + +01 Aug 2008; Andrew John Hughes metadata.xml: + Document zero USE flag. + +01 Aug 2008; Andrew John Hughes icedtea-1.7.ebuild icedtea-9999.ebuild: + Use dest not ddest for examples directory creation. + +31 Jul 2008; Andrew John Hughes icedtea6-1.2.ebuild icedtea6-9999.ebuild: + Create directory for examples. + +29 Jul 2008; Andrew John Hughes icedtea6-9999.ebuild: + Only check for Rhino jar when enabled. + +28 Jul 2008; Andrew John Hughes icedtea6-9999.ebuild: + Remove >= from Rhino dependency following previous change. + +27 Jul 2008; Andrew John Hughes icedtea6-9999.ebuild: + Use slots for Rhino dependency. + +24 Jul 2008; Andrew John Hughes icedtea6-9999.ebuild: + Fixing naming of directory from Mercurial eclass. + +24 Jul 2008; Andrew John Hughes icedtea6-9999.ebuild: + Fix Mercurial ebuild to use (undocumented) Mercurial eclass. + +*icedtea6-9999 (24 07 2008) + +24 Jul 2008; Andrew John Hughes icedtea6-9999.ebuild: + New ebuild for current Mercurial version. + +12 Jul 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild + files/motif.patch files/motif-config.patch files/motif-make.patch: + Remove motif dependency and 1.1 ebuild. + +19 Jul 2008; James Le Cuirot + icedtea6-1.1.ebuild, icedtea6-1.2.ebuild: + Add missing inputproto dependency. + +17 Jul 2008; James Le Cuirot + icedtea6-1.1.ebuild, icedtea6-1.2.ebuild: + Make sure ecj 3.4 isn't used because it doesn't work. Also remove duplicate + ant-core dependency. + +14 Jul 2008; James Le Cuirot + icedtea6-1.1.ebuild, icedtea6-1.2.ebuild: + Make sure only one version of ecj is passed to configure. + +12 Jul 2008; Andrew John Hughes metadata.xml: + Fix reference to OpenJDK to say OpenJDK6. + +12 Jul 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + Fix ecj building, cleanups and port changes to 1.1. + +12 Jul 2008; James Le Cuirot icedtea6-1.2.ebuild: + Add IcedTea upgrade functionality, cleanups and break ecj. + +02 Jul 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + x86 architecture should be i586 for build directory, and i386 for plugin (!?!?) + +30 Jun 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + x86 architecture should be 'i386' apparently + +30 Jun 2008; Andrew John Hughes files/javac.in.patch: + Remove the -J from the memory option. + +30 Jun 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild files/javac.in.patch: + Patch javac.in as well so it also gets the benefit of the new memory option. + +30 Jun 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + Supply ecj.jar directly to configure. + +30 Jun 2008: Andrew John Hughes files/icedtea6-1.1.env files/icedtea6-1.2.env files/icedtea6.env: + Removed version-specific environments (which are identical anyway). + +29 Jun 2008: Andrew John Hughes files/javac_fix-1.1.patch files/javac_fix-1.2.patch icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + Use Classpath's javac detection. + +26 Jun 2008; Andrew John Hughes icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + + Remove slot allocation, making both 0. + +01 Jun 2008; Andrew John Hughes files/gjar-1.1.patch files/gjar-1.2.patch icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + Fix gjar patches for both versions of icedtea6 and note source of each patch. + +30 May 2008; Andrew John Hughes files/gjar.patch icedtea6-1.1.ebuild icedtea6-1.2.ebuild: + Add fix for jar cfm@ issue and revert icedtea6-1.2 to depending on virtual/jdk-1.5. + +*icedtea6-1.2 (29 05 2008) + +29 May 2008; Andrew John Hughes icedtea6-1.2.ebuild: + Added. diff --git a/dev-java/icedtea/Manifest b/dev-java/icedtea/Manifest new file mode 100644 index 0000000..3fc20de --- /dev/null +++ b/dev-java/icedtea/Manifest @@ -0,0 +1,27 @@ +AUX 0-sharkllvm30-targetselect-138450.patch 717 RMD160 eab3954a679335b036d99cf572a61d670b92f1d5 SHA1 fd5546b2598f4be6d9c3220e49281793d0622c60 SHA256 732bd7df8ac43b708e21920d4c389de4f0ad1c8eaca1ee3c6dce5e4bb536b1de +AUX 2-sharkllvm30-PHI-128537-Call-ArrayRef-135265-v2.patch 10317 RMD160 c85e9810489cf52011473eff1eb18acb0fcceb53 SHA1 984b6bb3bccf4c1cf19fc9f13b63ae8b8eb02738 SHA256 b59cdebc0022a6824ba353d71bcac490dded8c8881961d6430164e46eee9f8bc +AUX 3-sharkllvm30-MCJIT-v3.patch 1630 RMD160 d0f58680b5f3dc1ae1e46acc3fc7ae39e7a28426 SHA1 6bdcc863a17c4471fe859dd50c5dff9fb44317b1 SHA256 899e3dae68f4d930ac06097860e9e4fe9ac1ffe149d20774bd680ae31e59ff71 +AUX disable_werror.patch 516 RMD160 fbfd860044ce6441cf097cee025aaa42320e3b61 SHA1 a7736228b86961d282645a2ea13ffd4f3ce8e666 SHA256 10cd9805b5986d502f47840adc2ec6030f380d86edb09447a1552de162207ad4 +AUX fontconfig.Gentoo.properties.src 15602 RMD160 d5ae1cb403072b630c126a908d14b5b462e1514f SHA1 04af30bfae3decf6fdb51187a07bf75fb04a83f0 SHA256 d48a9b43d82f45425464e985955f3f3700738a98c0dc97ab7577230ca11fe647 +AUX generate-cacerts.pl 11051 RMD160 9b874c62ffa0afe16353f1e7b32f124f1d31356f SHA1 65e55b84506ecf14711db0996eccf3cfba2fe9e3 SHA256 6ee6fb155e3fa85d0a7e9015b53ebd55948c6599d100fdb69b574b6d11f73433 +AUX icedtea-6.1.10.4_1-sharkllvm30-de-const-type-135375.patch 23047 RMD160 62eddf0f20377ea5cdff06cd2bbc17b279096e6e SHA1 bb10d8a9d1c8a5fb03e13fb33cc84c760656d4f4 SHA256 e6b2a95e630944b1dce3b5dd9c0836c956303daf287f46a59831bdaa89da4a4b +AUX icedtea-6.1.10.4_pax_kernel_support.patch 4152 RMD160 a1800e5985d90db6e4827b0bea784cb034962c69 SHA1 625177d004e57cad81d522d1436aaa33dba45a6a SHA256 4a6f3462e9dd47dcc5941dd67a56bbd9ea874dca2a94566f0f38c2d241efeb74 +AUX icedtea-6.1.10.4_separate_shark_target.patch 8216 RMD160 9af7e9d9681fd396542e7df492af9c310d0e2e3c SHA1 846b9169784d270f9174da4ecf7910b844e483f1 SHA256 7311bab084a285bbe427976be25e309ac190e13b094b028e47fbb90c3f7e836b +AUX icedtea-6.1.10.4_shark_jvm_rpath.patch 527 RMD160 b2985002e5ee6d340ff5cc34e11a01af120de780 SHA1 3a2f96bac78d11247ec122388223d978f8f5b210 SHA256 28e9df24b57f6a7b4a6244f1e6674ec53bc9860cd57d331048bf37bc3787fca5 +AUX icedtea-7.2.0_1-sharkllvm30-de-const-type-135375.patch 23111 RMD160 ee816b392f2b216b27a2538cc507012fac6be458 SHA1 531acd398982ec26d569aecbac4b709be8b98aa1 SHA256 bffb46db3d6cda438ceae07bd09fb56726192138186ae207338a4c231b6b6f90 +AUX icedtea-7.2.0_pax_kernel_support.patch 6511 RMD160 ca6ff5d7f8c1157558af28ef631ed4fd5f67f901 SHA1 538bb29bc10978ae14114cfed525c3905e808984 SHA256 4771937bbb89a92fd77dc5e5945231ae511f284fa368648bb7aa34e0fb48ba9e +AUX icedtea-7.2.0_separate_shark_target.patch 6102 RMD160 345e82048f81ff94b761dbb5fad820a76c3c5c02 SHA1 bbecab3ab3100cf51a9cab5d441d022a8e485660 SHA256 71ae48dc24239ac0710ac5496f2c8fa060eaeb66a9849f4f9477e52181d13e28 +AUX icedtea-7.2.0_shark_jvm_rpath.patch 527 RMD160 e35de06007a540250ea3af3602468b8c7088271b SHA1 c95aa536269d0b7ffec3ae3f9694f47bdf633bf6 SHA256 f86ab366bf715b0871e03be2df9d8c84ee41213b6bae783e942cc02a0154e8b8 +AUX icedtea-7.2.0_shark_llvm_flags.patch 1180 RMD160 7c412f8ac37c0b2281d0f477894981cd04684c72 SHA1 a47e87374276b727dfae1d32778ce6fc976a73a3 SHA256 494ceb93461f52e2a081989f6455fdbfe8785d43df6c9cfd88527aa63cd1085d +AUX icedtea.env 1074 RMD160 6806fd80d619c54f6ab50255c12ee2a9920ad72f SHA1 4ddbddd4464fcf11fad45426ba0430818747249d SHA256 b4ad677dede5c06785db6540d51a9dbe6401e894f03857f5b14dbf6bdf9a33a8 +DIST 4549072ab2de.tar.gz 4210747 RMD160 e4bd1f089e622e48bbb67c56352a0e9c789c6485 SHA1 0dd6440d9dea578324b6fec0ee28c38f97982855 SHA256 ec097ce96f047abbaeab4faab752c121d29f08bdeae358038a0b7cde03361d07 +DIST f0f676c5a2c6.tar.gz 8506038 RMD160 e00e7b602758eaa6cfdd04b109d99694ce2ae94c SHA1 bdc450f5a1b75b2445c960f43dbc7f605042a3c8 SHA256 aaa322239c181e50a61ec71869843eee7a0a82a9b80f113d32faf2a59d7ba5c4 +DIST icedtea6-1.10.5.tar.gz 6831721 RMD160 24e3c22dafaba9aac21b84643127c2e92f1dc2dd SHA1 ba260275bcfbbbaff153c99b066d2f4ba7a12270 SHA256 7d0f9e833a42b6af308a34d432431f0528a2efa52d7837aa446d1c4c27161a0c +DIST jamvm-310c491ddc14e92a6ffff27030a1a1821e6395a8.tar.gz 293833 RMD160 b34f4684e0c918c36d9fb9316a4ae7737b712296 SHA1 60d5782ccb9707699f9dfbfcf647a5c862ef4691 SHA256 b5174f59371017087139fd43d51074ad837ae29340220206ca06769c8329881a +DIST jaxp144_01.zip 5964803 RMD160 6844ae747a7e7de289ce263ed06050a512416aec SHA1 4f11f9525a83e7842cbd14cc47d967abde093c27 SHA256 d72c2e27a479e7e78e0141cfcf3a9c5dbc5677495bd21b2d52dce85d21322186 +DIST jdk6-jaf-b20.zip 71243 RMD160 40b49d12c39b7010ee917eb671f3c38cd16f271c SHA1 69a54373e169bd7b04a45de6a310a199260424b9 SHA256 78c7b5c9d6271e88ee46abadd018a61f1e9645f8936cc8df1617e5f4f5074012 +DIST jdk6-jaxws-b20.zip 5513069 RMD160 47b2d4fe528d770391e8926299df45cc6f68e9b5 SHA1 08366a70c9e2baa516afc77bb69f9e108e906aa9 SHA256 0c460583898b968a58bf88eb53f90a0e34369e2562d65fb3a143512dfcaeb3eb +DIST openjdk-6-src-b22-28_feb_2011.tar.gz 45279689 RMD160 2b8f92cdb4d7dd3eb3cbb800a73e1666ee4bf5b1 SHA1 65a60153adbc8bc47fb95bb2b588a9a0b8701c95 SHA256 14a097d45b8c040e984be164a8cefbf22040a9ad57474fe87dd8cf2d0b08328b +EBUILD icedtea-6.1.10.5.ebuild 11120 RMD160 cfafaba488bdb7b29ec8074892042c3681cd35ea SHA1 63f2f4306bab4dea98f691d54940d29dd4e98ba2 SHA256 483e8a578bdc367affd0cbf89792083c057cc350dd02687839a6cb26efb4aa87 +MISC ChangeLog 55586 RMD160 b77c3bcc1cc5d0213e82869e2a0591948dc504f3 SHA1 ae0ee6199659bc07d013b0eb4b201812557b0d81 SHA256 4ba5ba5882a03bcd8a07586174c582441f1f226ce603b1bb3de6e8500dd18372 +MISC metadata.xml 1841 RMD160 e11dc49cd85ae8e5cbd0008d9717db3d9cce10bb SHA1 8ea7ea30c8d75f6f5466da706ad06f6e9663d6c0 SHA256 730fb8505320e831f218a0968037a3f6c42e2a0f83d3467b45d7d99a4b8ec591 diff --git a/dev-java/icedtea/files/0-sharkllvm30-targetselect-138450.patch b/dev-java/icedtea/files/0-sharkllvm30-targetselect-138450.patch new file mode 100644 index 0000000..f0f8018 --- /dev/null +++ b/dev-java/icedtea/files/0-sharkllvm30-targetselect-138450.patch @@ -0,0 +1,19 @@ +Taken from: +http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000399.html + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-08-30 19:28:01.875227001 +0000 ++++ openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-08-30 19:30:16.885227001 +0000 +@@ -51,7 +51,11 @@ + #else + #include + #endif ++#if SHARK_LLVM_VERSION >= 30 ++#include ++#else + #include ++#endif + #include + #include + #include diff --git a/dev-java/icedtea/files/2-sharkllvm30-PHI-128537-Call-ArrayRef-135265-v2.patch b/dev-java/icedtea/files/2-sharkllvm30-PHI-128537-Call-ArrayRef-135265-v2.patch new file mode 100644 index 0000000..86f35c4 --- /dev/null +++ b/dev-java/icedtea/files/2-sharkllvm30-PHI-128537-Call-ArrayRef-135265-v2.patch @@ -0,0 +1,218 @@ +Taken from: +http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000399.html + +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp 2011-08-31 11:33:05.404964248 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp 2011-08-31 11:33:11.164992604 +0200 +@@ -1000,9 +1000,9 @@ + builder()->SetInsertPoint(done); + PHINode *result; + if (is_long) +- result = builder()->CreatePHI(SharkType::jlong_type(), "result"); ++ result = builder()->CreatePHI(SharkType::jlong_type(), 0, "result"); + else +- result = builder()->CreatePHI(SharkType::jint_type(), "result"); ++ result = builder()->CreatePHI(SharkType::jint_type(), 0, "result"); + result->addIncoming(special_result, special_case); + result->addIncoming(general_result, general_case); + +@@ -1105,7 +1105,7 @@ + builder()->CreateBr(done); + + builder()->SetInsertPoint(done); +- PHINode *result = builder()->CreatePHI(SharkType::jint_type(), "result"); ++ PHINode *result = builder()->CreatePHI(SharkType::jint_type(), 0, "result"); + result->addIncoming(LLVMValue::jint_constant(-1), lt); + result->addIncoming(LLVMValue::jint_constant(0), eq); + result->addIncoming(LLVMValue::jint_constant(1), gt); +@@ -1152,7 +1152,7 @@ + builder()->CreateBr(done); + + builder()->SetInsertPoint(done); +- PHINode *result = builder()->CreatePHI(SharkType::jint_type(), "result"); ++ PHINode *result = builder()->CreatePHI(SharkType::jint_type(), 0, "result"); + result->addIncoming(LLVMValue::jint_constant(-1), lt); + result->addIncoming(LLVMValue::jint_constant(0), eq); + result->addIncoming(LLVMValue::jint_constant(1), gt); +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp 2011-08-31 11:33:05.404964248 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp 2011-08-31 13:59:28.604517829 +0200 +@@ -465,7 +465,7 @@ + LLVMValue::bit_constant((flags & BARRIER_STORESTORE) ? 1 : 0), + LLVMValue::bit_constant(1)}; + +- return CreateCall(memory_barrier(), args, args + 5); ++ return CreateCall(memory_barrier(), llvm::makeArrayRef(args)); + } + + CallInst* SharkBuilder::CreateMemset(Value* dst, +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkIntrinsics.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkIntrinsics.cpp 2011-07-05 20:31:05.000000000 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkIntrinsics.cpp 2011-08-31 11:33:11.200992924 +0200 +@@ -171,7 +171,7 @@ + builder()->CreateBr(done); + + builder()->SetInsertPoint(done); +- PHINode *phi = builder()->CreatePHI(a->getType(), "result"); ++ PHINode *phi = builder()->CreatePHI(a->getType(), 0, "result"); + phi->addIncoming(a, return_a); + phi->addIncoming(b, return_b); + +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp 2011-08-31 11:33:05.408964281 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp 2011-08-31 13:58:49.448323631 +0200 +@@ -149,7 +149,7 @@ + builder()->CreateBr(merge); + + builder()->SetInsertPoint(merge); +- phi = builder()->CreatePHI(box_type, "boxed_object"); ++ phi = builder()->CreatePHI(box_type, 0, "boxed_object"); + phi->addIncoming(ConstantPointerNull::get(box_type), null); + phi->addIncoming(box, not_null); + box = phi; +@@ -213,7 +213,7 @@ + PointerType::getUnqual( + FunctionType::get(return_type, param_types, false))); + Value *result = builder()->CreateCall( +- native_function, param_values.begin(), param_values.end()); ++ native_function, llvm::makeArrayRef(param_values)); + + // Start the transition back to _thread_in_Java + CreateSetThreadState(_thread_in_native_trans); +@@ -305,7 +305,7 @@ + builder()->CreateBr(merge); + + builder()->SetInsertPoint(merge); +- PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "result"); ++ PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), 0, "result"); + phi->addIncoming(LLVMValue::null(), null); + phi->addIncoming(unboxed_result, not_null); + result = phi; +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp 2011-07-05 20:31:05.000000000 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp 2011-08-31 11:33:11.204992936 +0200 +@@ -290,7 +290,7 @@ + int exception_action) { + decache_for_VM_call(); + stack()->CreateSetLastJavaFrame(); +- llvm::CallInst *res = builder()->CreateCall(callee, args_start, args_end); ++ llvm::CallInst *res = builder()->CreateCall(callee, llvm::makeArrayRef(args_start, args_end)); + stack()->CreateResetLastJavaFrame(); + cache_after_VM_call(); + if (exception_action & EAM_CHECK) { +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkState.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkState.cpp 2011-07-05 20:31:05.000000000 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkState.cpp 2011-08-31 11:33:11.204992936 +0200 +@@ -131,7 +131,7 @@ + Value *this_method = this->method(); + Value *other_method = other->method(); + if (this_method != other_method) { +- PHINode *phi = builder()->CreatePHI(SharkType::methodOop_type(), "method"); ++ PHINode *phi = builder()->CreatePHI(SharkType::methodOop_type(), 0, "method"); + phi->addIncoming(this_method, this_block); + phi->addIncoming(other_method, other_block); + set_method(phi); +@@ -142,7 +142,7 @@ + Value *other_oop_tmp = other->oop_tmp(); + if (this_oop_tmp != other_oop_tmp) { + assert(this_oop_tmp && other_oop_tmp, "can't merge NULL with non-NULL"); +- PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "oop_tmp"); ++ PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), 0, "oop_tmp"); + phi->addIncoming(this_oop_tmp, this_block); + phi->addIncoming(other_oop_tmp, other_block); + set_oop_tmp(phi); +@@ -287,7 +287,7 @@ + char name[18]; + + // Method +- set_method(builder()->CreatePHI(SharkType::methodOop_type(), "method")); ++ set_method(builder()->CreatePHI(SharkType::methodOop_type(), 0, "method")); + + // Local variables + for (int i = 0; i < max_locals(); i++) { +@@ -307,7 +307,7 @@ + case T_ARRAY: + snprintf(name, sizeof(name), "local_%d_", i); + value = SharkValue::create_phi( +- type, builder()->CreatePHI(SharkType::to_stackType(type), name)); ++ type, builder()->CreatePHI(SharkType::to_stackType(type), 0, name)); + break; + + case T_ADDRESS: +@@ -345,7 +345,7 @@ + case T_ARRAY: + snprintf(name, sizeof(name), "stack_%d_", i); + value = SharkValue::create_phi( +- type, builder()->CreatePHI(SharkType::to_stackType(type), name)); ++ type, builder()->CreatePHI(SharkType::to_stackType(type), 0, name)); + break; + + case T_ADDRESS: +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp 2011-08-31 11:33:05.412964300 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp 2011-08-31 11:33:11.204992936 +0200 +@@ -1180,7 +1180,7 @@ + builder()->CreateBr(loop); + builder()->SetInsertPoint(loop); + PHINode *itable_entry_addr = builder()->CreatePHI( +- SharkType::intptr_type(), "itable_entry_addr"); ++ SharkType::intptr_type(), 0, "itable_entry_addr"); + itable_entry_addr->addIncoming(itable_start, loop_entry); + + Value *itable_entry = builder()->CreateIntToPtr( +@@ -1526,7 +1526,7 @@ + // First merge + builder()->SetInsertPoint(merge1); + PHINode *nonnull_result = builder()->CreatePHI( +- SharkType::jint_type(), "nonnull_result"); ++ SharkType::jint_type(), 0, "nonnull_result"); + nonnull_result->addIncoming( + LLVMValue::jint_constant(IC_IS_INSTANCE), is_instance); + nonnull_result->addIncoming( +@@ -1537,7 +1537,7 @@ + // Second merge + builder()->SetInsertPoint(merge2); + PHINode *result = builder()->CreatePHI( +- SharkType::jint_type(), "result"); ++ SharkType::jint_type(), 0, "result"); + result->addIncoming(LLVMValue::jint_constant(IC_IS_NULL), null_block); + result->addIncoming(nonnull_result, nonnull_block); + +@@ -1713,7 +1713,7 @@ + builder()->SetInsertPoint(initialize); + if (tlab_object) { + PHINode *phi = builder()->CreatePHI( +- SharkType::oop_type(), "fast_object"); ++ SharkType::oop_type(), 0, "fast_object"); + phi->addIncoming(tlab_object, got_tlab); + phi->addIncoming(heap_object, got_heap); + fast_object = phi; +@@ -1773,7 +1773,7 @@ + builder()->SetInsertPoint(push_object); + } + if (fast_object) { +- PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "object"); ++ PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), 0, "object"); + phi->addIncoming(fast_object, got_fast); + phi->addIncoming(slow_object, got_slow); + object = phi; +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkValue.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkValue.cpp 2011-07-05 20:31:05.000000000 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkValue.cpp 2011-08-31 11:33:11.204992936 +0200 +@@ -233,7 +233,7 @@ + assert(type() == other->type(), "should be"); + assert(zero_checked() == other->zero_checked(), "should be"); + +- PHINode *phi = builder->CreatePHI(SharkType::to_stackType(type()), name); ++ PHINode *phi = builder->CreatePHI(SharkType::to_stackType(type()), 0, name); + phi->addIncoming(this->generic_value(), this_block); + phi->addIncoming(other->generic_value(), other_block); + return SharkValue::create_generic(type(), phi, zero_checked()); diff --git a/dev-java/icedtea/files/3-sharkllvm30-MCJIT-v3.patch b/dev-java/icedtea/files/3-sharkllvm30-MCJIT-v3.patch new file mode 100644 index 0000000..4d88f15 --- /dev/null +++ b/dev-java/icedtea/files/3-sharkllvm30-MCJIT-v3.patch @@ -0,0 +1,38 @@ +Taken from: +http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000399.html + +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp 2011-08-31 11:39:35.630899283 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp 2011-08-31 16:10:00.459354097 +0200 +@@ -72,6 +72,9 @@ + // Initialize the native target + InitializeNativeTarget(); + ++ // MCJIT require a native AsmPrinter ++ InitializeNativeTargetAsmPrinter(); ++ + // Create the two contexts which we'll use + _normal_context = new SharkContext("normal"); + _native_context = new SharkContext("native"); +@@ -113,6 +116,7 @@ + builder.setJITMemoryManager(memory_manager()); + builder.setEngineKind(EngineKind::JIT); + builder.setErrorStr(&ErrorMsg); ++ builder.setUseMCJIT(true); + _execution_engine = builder.create(); + + if (!execution_engine()) { +Index: icedtea6-shark-llvm-3.0/openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-08-31 14:40:04.392596214 +0200 ++++ openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-08-31 14:41:27.569008721 +0200 +@@ -60,7 +60,7 @@ + #include + #include + #if SHARK_LLVM_VERSION >= 27 +-#include ++#include + #include + #include + #if SHARK_LLVM_VERSION >= 29 diff --git a/dev-java/icedtea/files/disable_werror.patch b/dev-java/icedtea/files/disable_werror.patch new file mode 100644 index 0000000..dbee097 --- /dev/null +++ b/dev-java/icedtea/files/disable_werror.patch @@ -0,0 +1,15 @@ +Author: Ralph Sennhauser + +Disables -Werror so shark builds with llvm-3.0 on amd64 + +--- openjdk/hotspot/make/linux/makefiles/gcc.make 2011-12-12 09:38:55.995256804 +0100 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2011-12-12 10:26:07.670560007 +0100 +@@ -123,7 +123,7 @@ + endif + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++WARNINGS_ARE_ERRORS = + + # Except for a few acceptable ones + # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff --git a/dev-java/icedtea/files/fontconfig.Gentoo.properties.src b/dev-java/icedtea/files/fontconfig.Gentoo.properties.src new file mode 100644 index 0000000..8671802 --- /dev/null +++ b/dev-java/icedtea/files/fontconfig.Gentoo.properties.src @@ -0,0 +1,385 @@ +# +# +# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Version + +version=1 + +# Component Font Mappings + +dialog.plain.latin-1=DejaVu Sans +dialog.plain.japanese-x0208=Sazanami Gothic +dialog.plain.korean=Baekmuk Gulim +dialog.plain.chinese-big5=AR PL ShanHeiSun Uni +dialog.plain.chinese-gb18030=AR PL ShanHeiSun Uni +dialog.plain.bengali=Lohit Bengali +dialog.plain.gujarati=Lohit Gujarati +dialog.plain.hindi=Lohit Hindi +dialog.plain.malayalam=Lohit Malayalam +dialog.plain.oriya=Lohit Oriya +dialog.plain.punjabi=Lohit Punjabi +dialog.plain.tamil=Lohit Tamil +dialog.plain.telugu=Lohit Telugu +dialog.plain.sinhala=LKLUG + +dialog.bold.latin-1=DejaVu Sans Bold +dialog.bold.japanese-x0208=Sazanami Gothic +dialog.bold.korean=Baekmuk Gulim +dialog.bold.chinese-big5=AR PL ShanHeiSun Uni +dialog.bold.chinese-gb18030=AR PL ShanHeiSun Uni +dialog.bold.bengali=Lohit Bengali +dialog.bold.gujarati=Lohit Gujarati +dialog.bold.hindi=Lohit Hindi +dialog.bold.malayalam=Lohit Malayalam +dialog.bold.oriya=Lohit Oriya +dialog.bold.punjabi=Lohit Punjabi +dialog.bold.tamil=Lohit Tamil +dialog.bold.telugu=Lohit Telugu +dialog.bold.sinhala=LKLUG + +dialog.italic.latin-1=DejaVu Sans Oblique +dialog.italic.japanese-x0208=Sazanami Gothic +dialog.italic.korean=Baekmuk Gulim +dialog.italic.chinese-big5=AR PL ShanHeiSun Uni +dialog.italic.chinese-gb18030=AR PL ShanHeiSun Uni +dialog.italic.bengali=Lohit Bengali +dialog.italic.gujarati=Lohit Gujarati +dialog.italic.hindi=Lohit Hindi +dialog.italic.malayalam=Lohit Malayalam +dialog.italic.oriya=Lohit Oriya +dialog.italic.punjabi=Lohit Punjabi +dialog.italic.tamil=Lohit Tamil +dialog.italic.telugu=Lohit Telugu +dialog.italic.sinhala=LKLUG + +dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique +dialog.bolditalic.japanese-x0208=Sazanami Gothic +dialog.bolditalic.korean=Baekmuk Gulim +dialog.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +dialog.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni +dialog.bolditalic.bengali=Lohit Bengali +dialog.bolditalic.gujarati=Lohit Gujarati +dialog.bolditalic.hindi=Lohit Hindi +dialog.bolditalic.malayalam=Lohit Malayalam +dialog.bolditalic.oriya=Lohit Oriya +dialog.bolditalic.punjabi=Lohit Punjabi +dialog.bolditalic.tamil=Lohit Tamil +dialog.bolditalic.telugu=Lohit Telugu +dialog.bolditalic.sinhala=LKLUG + +sansserif.plain.latin-1=DejaVu Sans +sansserif.plain.japanese-x0208=Sazanami Gothic +sansserif.plain.korean=Baekmuk Gulim +sansserif.plain.chinese-big5=AR PL ShanHeiSun Uni +sansserif.plain.chinese-gb18030=AR PL ShanHeiSun Uni +sansserif.plain.bengali=Lohit Bengali +sansserif.plain.gujarati=Lohit Gujarati +sansserif.plain.hindi=Lohit Hindi +sansserif.plain.malayalam=Lohit Malayalam +sansserif.plain.oriya=Lohit Oriya +sansserif.plain.punjabi=Lohit Punjabi +sansserif.plain.tamil=Lohit Tamil +sansserif.plain.telugu=Lohit Telugu +sansserif.plain.sinhala=LKLUG + +sansserif.bold.latin-1=DejaVu Sans Bold +sansserif.bold.japanese-x0208=Sazanami Gothic +sansserif.bold.korean=Baekmuk Gulim +sansserif.bold.chinese-big5=AR PL ShanHeiSun Uni +sansserif.bold.chinese-gb18030=AR PL ShanHeiSun Uni +sansserif.bold.bengali=Lohit Bengali +sansserif.bold.gujarati=Lohit Gujarati +sansserif.bold.hindi=Lohit Hindi +sansserif.bold.malayalam=Lohit Malayalam +sansserif.bold.oriya=Lohit Oriya +sansserif.bold.punjabi=Lohit Punjabi +sansserif.bold.tamil=Lohit Tamil +sansserif.bold.telugu=Lohit Telugu +sansserif.bold.sinhala=LKLUG + +sansserif.italic.latin-1=DejaVu Sans Oblique +sansserif.italic.japanese-x0208=Sazanami Gothic +sansserif.italic.korean=Baekmuk Gulim +sansserif.italic.chinese-big5=AR PL ShanHeiSun Uni +sansserif.italic.chinese-gb18030=AR PL ShanHeiSun Uni +sansserif.italic.bengali=Lohit Bengali +sansserif.italic.gujarati=Lohit Gujarati +sansserif.italic.hindi=Lohit Hindi +sansserif.italic.malayalam=Lohit Malayalam +sansserif.italic.oriya=Lohit Oriya +sansserif.italic.punjabi=Lohit Punjabi +sansserif.italic.tamil=Lohit Tamil +sansserif.italic.telugu=Lohit Telugu +sansserif.italic.sinhala=LKLUG + +sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique +sansserif.bolditalic.japanese-x0208=Sazanami Gothic +sansserif.bolditalic.korean=Baekmuk Gulim +sansserif.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +sansserif.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni +sansserif.bolditalic.bengali=Lohit Bengali +sansserif.bolditalic.gujarati=Lohit Gujarati +sansserif.bolditalic.hindi=Lohit Hindi +sansserif.bolditalic.malayalam=Lohit Malayalam +sansserif.bolditalic.oriya=Lohit Oriya +sansserif.bolditalic.punjabi=Lohit Punjabi +sansserif.bolditalic.tamil=Lohit Tamil +sansserif.bolditalic.telugu=Lohit Telugu +sansserif.bolditalic.sinhala=LKLUG + +serif.plain.latin-1=DejaVu Serif +serif.plain.japanese-x0208=Sazanami Mincho +serif.plain.korean=Baekmuk Batang +serif.plain.chinese-big5=AR PL ZenKai Uni +serif.plain.chinese-gb18030=AR PL ZenKai Uni +serif.plain.bengali=Lohit Bengali +serif.plain.gujarati=Lohit Gujarati +serif.plain.hindi=Lohit Hindi +serif.plain.malayalam=Lohit Malayalam +serif.plain.oriya=Lohit Oriya +serif.plain.punjabi=Lohit Punjabi +serif.plain.tamil=Lohit Tamil +serif.plain.telugu=Lohit Telugu +serif.plain.sinhala=LKLUG + +serif.bold.latin-1=DejaVu Serif Bold +serif.bold.japanese-x0208=Sazanami Mincho +serif.bold.korean=Baekmuk Batang +serif.bold.chinese-big5=AR PL ZenKai Uni +serif.bold.chinese-gb18030=AR PL ZenKai Uni +serif.bold.bengali=Lohit Bengali +serif.bold.gujarati=Lohit Gujarati +serif.bold.hindi=Lohit Hindi +serif.bold.malayalam=Lohit Malayalam +serif.bold.oriya=Lohit Oriya +serif.bold.punjabi=Lohit Punjabi +serif.bold.tamil=Lohit Tamil +serif.bold.telugu=Lohit Telugu +serif.bold.sinhala=LKLUG + +serif.italic.latin-1=DejaVu Serif Oblique +serif.italic.japanese-x0208=Sazanami Mincho +serif.italic.korean=Baekmuk Batang +serif.italic.chinese-big5=AR PL ZenKai Uni +serif.italic.chinese-gb18030=AR PL ZenKai Uni +serif.italic.bengali=Lohit Bengali +serif.italic.gujarati=Lohit Gujarati +serif.italic.hindi=Lohit Hindi +serif.italic.malayalam=Lohit Malayalam +serif.italic.oriya=Lohit Oriya +serif.italic.punjabi=Lohit Punjabi +serif.italic.tamil=Lohit Tamil +serif.italic.telugu=Lohit Telugu +serif.italic.sinhala=LKLUG + +serif.bolditalic.latin-1=DejaVu Serif Bold Oblique +serif.bolditalic.japanese-x0208=Sazanami Mincho +serif.bolditalic.korean=Baekmuk Batang +serif.bolditalic.chinese-big5=AR PL ZenKai Uni +serif.bolditalic.chinese-gb18030=AR PL ZenKai Uni +serif.bolditalic.bengali=Lohit Bengali +serif.bolditalic.gujarati=Lohit Gujarati +serif.bolditalic.hindi=Lohit Hindi +serif.bolditalic.malayalam=Lohit Malayalam +serif.bolditalic.oriya=Lohit Oriya +serif.bolditalic.punjabi=Lohit Punjabi +serif.bolditalic.tamil=Lohit Tamil +serif.bolditalic.telugu=Lohit Telugu +serif.bolditalic.sinhala=LKLUG + +monospaced.plain.latin-1=DejaVu Sans Mono +monospaced.plain.japanese-x0208=Sazanami Gothic +monospaced.plain.korean=Baekmuk Gulim +monospaced.plain.chinese-big5=AR PL ShanHeiSun Uni +monospaced.plain.chinese-gb18030=AR PL ShanHeiSun Uni +monospaced.plain.bengali=Lohit Bengali +monospaced.plain.gujarati=Lohit Gujarati +monospaced.plain.hindi=Lohit Hindi +monospaced.plain.malayalam=Lohit Malayalam +monospaced.plain.oriya=Lohit Oriya +monospaced.plain.punjabi=Lohit Punjabi +monospaced.plain.tamil=Lohit Tamil +monospaced.plain.telugu=Lohit Telugu +monospaced.plain.sinhala=LKLUG + +monospaced.bold.latin-1=DejaVu Sans Mono Bold +monospaced.bold.japanese-x0208=Sazanami Gothic +monospaced.bold.korean=Baekmuk Gulim +monospaced.bold.chinese-big5=AR PL ShanHeiSun Uni +monospaced.bold.chinese-gb18030=AR PL ShanHeiSun Uni +monospaced.bold.bengali=Lohit Bengali +monospaced.bold.gujarati=Lohit Gujarati +monospaced.bold.hindi=Lohit Hindi +monospaced.bold.malayalam=Lohit Malayalam +monospaced.bold.oriya=Lohit Oriya +monospaced.bold.punjabi=Lohit Punjabi +monospaced.bold.tamil=Lohit Tamil +monospaced.bold.telugu=Lohit Telugu +monospaced.bold.sinhala=LKLUG + +monospaced.italic.latin-1=DejaVu Sans Mono Oblique +monospaced.italic.japanese-x0208=Sazanami Gothic +monospaced.italic.korean=Baekmuk Gulim +monospaced.italic.chinese-big5=AR PL ShanHeiSun Uni +monospaced.italic.chinese-gb18030=AR PL ShanHeiSun Uni +monospaced.italic.bengali=Lohit Bengali +monospaced.italic.gujarati=Lohit Gujarati +monospaced.italic.hindi=Lohit Hindi +monospaced.italic.malayalam=Lohit Malayalam +monospaced.italic.oriya=Lohit Oriya +monospaced.italic.punjabi=Lohit Punjabi +monospaced.italic.tamil=Lohit Tamil +monospaced.italic.telugu=Lohit Telugu +monospaced.italic.sinhala=LKLUG + +monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique +monospaced.bolditalic.japanese-x0208=Sazanami Gothic +monospaced.bolditalic.korean=Baekmuk Gulim +monospaced.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +monospaced.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni +monospaced.bolditalic.bengali=Lohit Bengali +monospaced.bolditalic.gujarati=Lohit Gujarati +monospaced.bolditalic.hindi=Lohit Hindi +monospaced.bolditalic.malayalam=Lohit Malayalam +monospaced.bolditalic.oriya=Lohit Oriya +monospaced.bolditalic.punjabi=Lohit Punjabi +monospaced.bolditalic.tamil=Lohit Tamil +monospaced.bolditalic.telugu=Lohit Telugu +monospaced.bolditalic.sinhala=LKLUG + +dialoginput.plain.latin-1=DejaVu Sans Mono +dialoginput.plain.japanese-x0208=Sazanami Gothic +dialoginput.plain.korean=Baekmuk Gulim +dialoginput.plain.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.plain.chinese-gb18030=AR PL ShanHeiSun Uni +dialoginput.plain.bengali=Lohit Bengali +dialoginput.plain.gujarati=Lohit Gujarati +dialoginput.plain.hindi=Lohit Hindi +dialoginput.plain.malayalam=Lohit Malayalam +dialoginput.plain.oriya=Lohit Oriya +dialoginput.plain.punjabi=Lohit Punjabi +dialoginput.plain.tamil=Lohit Tamil +dialoginput.plain.telugu=Lohit Telugu +dialoginput.plain.sinhala=LKLUG + +dialoginput.bold.latin-1=DejaVu Sans Mono Bold +dialoginput.bold.japanese-x0208=Sazanami Gothic +dialoginput.bold.korean=Baekmuk Gulim +dialoginput.bold.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.bold.chinese-gb18030=AR PL ShanHeiSun Uni +dialoginput.bold.bengali=Lohit Bengali +dialoginput.bold.gujarati=Lohit Gujarati +dialoginput.bold.hindi=Lohit Hindi +dialoginput.bold.malayalam=Lohit Malayalam +dialoginput.bold.oriya=Lohit Oriya +dialoginput.bold.punjabi=Lohit Punjabi +dialoginput.bold.tamil=Lohit Tamil +dialoginput.bold.telugu=Lohit Telugu +dialoginput.bold.sinhala=LKLUG + +dialoginput.italic.latin-1=DejaVu Sans Mono Oblique +dialoginput.italic.japanese-x0208=Sazanami Gothic +dialoginput.italic.korean=Baekmuk Gulim +dialoginput.italic.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.italic.chinese-gb18030=AR PL ShanHeiSun Uni +dialoginput.italic.bengali=Lohit Bengali +dialoginput.italic.gujarati=Lohit Gujarati +dialoginput.italic.hindi=Lohit Hindi +dialoginput.italic.malayalam=Lohit Malayalam +dialoginput.italic.oriya=Lohit Oriya +dialoginput.italic.punjabi=Lohit Punjabi +dialoginput.italic.tamil=Lohit Tamil +dialoginput.italic.telugu=Lohit Telugu +dialoginput.italic.sinhala=LKLUG + +dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique +dialoginput.bolditalic.japanese-x0208=Sazanami Gothic +dialoginput.bolditalic.korean=Baekmuk Gulim +dialoginput.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni +dialoginput.bolditalic.bengali=Lohit Bengali +dialoginput.bolditalic.gujarati=Lohit Gujarati +dialoginput.bolditalic.hindi=Lohit Hindi +dialoginput.bolditalic.malayalam=Lohit Malayalam +dialoginput.bolditalic.oriya=Lohit Oriya +dialoginput.bolditalic.punjabi=Lohit Punjabi +dialoginput.bolditalic.tamil=Lohit Tamil +dialoginput.bolditalic.telugu=Lohit Telugu +dialoginput.bolditalic.sinhala=LKLUG + +# Search Sequences + +sequence.allfonts=latin-1 +sequence.allfonts.Big5=chinese-big5,latin-1 +sequence.allfonts.x-euc-jp-linux=japanese-x0208,latin-1 +sequence.allfonts.EUC-KR=korean,latin-1 +sequence.allfonts.GB18030=chinese-gb18030,latin-1 +sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala + +# Font File Names + +# media-fonts/dejavu +filename.DejaVu_Sans=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSans.ttf +filename.DejaVu_Sans_Bold=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf +filename.DejaVu_Sans_Oblique=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf +filename.DejaVu_Sans_Bold_Oblique=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf + +filename.DejaVu_Sans_Mono=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSansMono.ttf +filename.DejaVu_Sans_Mono_Bold=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf +filename.DejaVu_Sans_Mono_Oblique=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf +filename.DejaVu_Sans_Mono_Bold_Oblique=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf + +filename.DejaVu_Serif=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSerif.ttf +filename.DejaVu_Serif_Bold=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSerif-Bold.ttf +filename.DejaVu_Serif_Oblique=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSerif-Oblique.ttf +filename.DejaVu_Serif_Bold_Oblique=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/dejavu/DejaVuSerif-BoldOblique.ttf + +# media-fonts/sazanami +filename.Sazanami_Gothic=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/sazanami/sazanami-gothic.ttf +filename.Sazanami_Mincho=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/sazanami/sazanami-mincho.ttf + +# media-fonts/arphicfonts +filename.AR_PL_ShanHeiSun_Uni=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/uming.ttc +filename.AR_PL_ZenKai_Uni=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/ukai.ttc + +# media-fonts/baekmuk-fonts +filename.Baekmuk_Gulim=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/baekmuk-fonts/gulim.ttf +filename.Baekmuk_Batang=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/baekmuk-fonts/batang.ttf + +# media-fonts/lohit-fonts +filename.Lohit_Bengali=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_bn.ttf +filename.Lohit_Gujarati=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_gu.ttf +filename.Lohit_Hindi=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_hi.ttf +filename.Lohit_Kannda=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_kn.ttf +filename.Lohit_Malayalam=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_ml.ttf +filename.Lohit_Oriya=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_or.ttf +filename.Lohit_Punjabi=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_pa.ttf +filename.Lohit_Tamil=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_ta.ttf +filename.Lohit_Telugu=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/indic/lohit_te.ttf + +# media-fonts/lklug +filename.LKLUG=@GENTOO_PORTAGE_EPREFIX@/usr/share/fonts/lklug/lklug.ttf + diff --git a/dev-java/icedtea/files/generate-cacerts.pl b/dev-java/icedtea/files/generate-cacerts.pl new file mode 100644 index 0000000..17d29b3 --- /dev/null +++ b/dev-java/icedtea/files/generate-cacerts.pl @@ -0,0 +1,358 @@ +#!/usr/bin/perl + +# Copyright (C) 2007, 2008 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# generate-cacerts.pl generates a JKS keystore named 'cacerts' from +# OpenSSL's certificate bundle using OpenJDK's keytool. + +# First extract each of OpenSSL's bundled certificates into its own +# aliased filename. + +# Downloaded from http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-12/generate-cacerts.pl?revision=1.2 +# Check and prevention of duplicate aliases added by Vlastimil Babka + +$file = $ARGV[1]; +open(CERTS, $file); +@certs = ; +close(CERTS); + +$pem_file_count = 0; +$in_cert_block = 0; +$write_current_cert = 1; +foreach $cert (@certs) +{ + if ($cert =~ /Issuer: /) + { + $_ = $cert; + if ($cert =~ /personal-freemail/) + { + $cert_alias = "thawtepersonalfreemailca"; + } + elsif ($cert =~ /personal-basic/) + { + $cert_alias = "thawtepersonalbasicca"; + } + elsif ($cert =~ /personal-premium/) + { + $cert_alias = "thawtepersonalpremiumca"; + } + elsif ($cert =~ /server-certs/) + { + $cert_alias = "thawteserverca"; + } + elsif ($cert =~ /premium-server/) + { + $cert_alias = "thawtepremiumserverca"; + } + elsif ($cert =~ /Class 1 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass1ca"; + } + elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/) + { + $cert_alias = "verisignclass1g2ca"; + } + elsif ($cert =~ + /VeriSign Class 1 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass1g3ca"; + } + elsif ($cert =~ /Class 2 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass2ca"; + } + elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/) + { + $cert_alias = "verisignclass2g2ca"; + } + elsif ($cert =~ + /VeriSign Class 2 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass2g3ca"; + } + elsif ($cert =~ /Class 3 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass3ca"; + } + # Version 1 of Class 3 Public Primary Certification Authority + # - G2 is added. Version 3 is excluded. See below. + elsif ($cert =~ + /VeriSign Class 3 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass3g3ca"; + } + elsif ($cert =~ + /RSA Data Security.*Secure Server Certification Authority/) + { + $cert_alias = "verisignserverca"; + } + elsif ($cert =~ /GTE CyberTrust Global Root/) + { + $cert_alias = "gtecybertrustglobalca"; + } + elsif ($cert =~ /Baltimore CyberTrust Root/) + { + $cert_alias = "baltimorecybertrustca"; + } + elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/) + { + $cert_alias = "entrustclientca"; + } + elsif ($cert =~ /www.entrust.net\/GCCA_CPS/) + { + $cert_alias = "entrustglobalclientca"; + } + elsif ($cert =~ /www.entrust.net\/CPS_2048/) + { + $cert_alias = "entrust2048ca"; + } + elsif ($cert =~ /www.entrust.net\/CPS /) + { + $cert_alias = "entrustsslca"; + } + elsif ($cert =~ /www.entrust.net\/SSL_CPS/) + { + $cert_alias = "entrustgsslca"; + } + elsif ($cert =~ /The Go Daddy Group/) + { + $cert_alias = "godaddyclass2ca"; + } + elsif ($cert =~ /Starfield Class 2 Certification Authority/) + { + $cert_alias = "starfieldclass2ca"; + } + elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/) + { + $cert_alias = "valicertclass2ca"; + } + elsif ($cert =~ /GeoTrust Global CA$/) + { + $cert_alias = "geotrustglobalca"; + } + elsif ($cert =~ /Equifax Secure Certificate Authority/) + { + $cert_alias = "equifaxsecureca"; + } + elsif ($cert =~ /Equifax Secure eBusiness CA-1/) + { + $cert_alias = "equifaxsecureebusinessca1"; + } + elsif ($cert =~ /Equifax Secure eBusiness CA-2/) + { + $cert_alias = "equifaxsecureebusinessca2"; + } + elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/) + { + $cert_alias = "equifaxsecureglobalebusinessca1"; + } + elsif ($cert =~ /Sonera Class1 CA/) + { + $cert_alias = "soneraclass1ca"; + } + elsif ($cert =~ /Sonera Class2 CA/) + { + $cert_alias = "soneraclass2ca"; + } + elsif ($cert =~ /AAA Certificate Services/) + { + $cert_alias = "comodoaaaca"; + } + elsif ($cert =~ /AddTrust Class 1 CA Root/) + { + $cert_alias = "addtrustclass1ca"; + } + elsif ($cert =~ /AddTrust External CA Root/) + { + $cert_alias = "addtrustexternalca"; + } + elsif ($cert =~ /AddTrust Qualified CA Root/) + { + $cert_alias = "addtrustqualifiedca"; + } + elsif ($cert =~ /UTN-USERFirst-Hardware/) + { + $cert_alias = "utnuserfirsthardwareca"; + } + elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/) + { + $cert_alias = "utnuserfirstclientauthemailca"; + } + elsif ($cert =~ /UTN - DATACorp SGC/) + { + $cert_alias = "utndatacorpsgcca"; + } + elsif ($cert =~ /UTN-USERFirst-Object/) + { + $cert_alias = "utnuserfirstobjectca"; + } + elsif ($cert =~ /America Online Root Certification Authority 1/) + { + $cert_alias = "aolrootca1"; + } + elsif ($cert =~ /DigiCert Assured ID Root CA/) + { + $cert_alias = "digicertassuredidrootca"; + } + elsif ($cert =~ /DigiCert Global Root CA/) + { + $cert_alias = "digicertglobalrootca"; + } + elsif ($cert =~ /DigiCert High Assurance EV Root CA/) + { + $cert_alias = "digicerthighassuranceevrootca"; + } + elsif ($cert =~ /GlobalSign Root CA$/) + { + $cert_alias = "globalsignca"; + } + elsif ($cert =~ /GlobalSign Root CA - R2/) + { + $cert_alias = "globalsignr2ca"; + } + elsif ($cert =~ /Elektronik.*Kas.*2005/) + { + $cert_alias = "extra-elektronikkas2005"; + } + elsif ($cert =~ /Elektronik/) + { + $cert_alias = "extra-elektronik2005"; + } + # Mozilla does not provide these certificates: + # baltimorecodesigningca + # gtecybertrust5ca + # trustcenterclass2caii + # trustcenterclass4caii + # trustcenteruniversalcai + else + { + # Generate an alias using the OU and CN attributes of the + # Issuer field if both are present, otherwise use only the + # CN attribute. The Issuer field must have either the OU + # or the CN attribute. + $_ = $cert; + if ($cert =~ /OU=/) + { + s/Issuer:.*?OU=//; + # Remove other occurrences of OU=. + s/OU=.*CN=//; + # Remove CN= if there were not other occurrences of OU=. + s/CN=//; + s/\/emailAddress.*//; + s/Certificate Authority/ca/g; + s/Certification Authority/ca/g; + } + elsif ($cert =~ /CN=/) + { + s/Issuer:.*CN=//; + s/\/emailAddress.*//; + s/Certificate Authority/ca/g; + s/Certification Authority/ca/g; + } + s/\W//g; + tr/A-Z/a-z/; + $cert_alias = "extra-$_"; + + } + while (-e "$cert_alias.pem") + { + $cert_alias = "$cert_alias" . "_"; + } + } + # When it attempts to parse: + # + # Class 3 Public Primary Certification Authority - G2, Version 3 + # + # keytool says: + # + # #2: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false + # Unparseable AuthorityInfoAccess extension due to + # java.io.IOException: Invalid encoding of URI + # + # If we do not exclude this file + # openjdk/jdk/test/lib/security/cacerts/VerifyCACerts.java fails + # on this cert, printing: + # + # Couldn't verify: java.security.SignatureException: Signature + # does not match. + # + elsif ($cert =~ + /A6:0F:34:C8:62:6C:81:F6:8B:F7:7D:A9:F6:67:58:8A:90:3F:7D:36/) + { + $write_current_cert = 0; + $pem_file_count--; + } + elsif ($cert eq "-----BEGIN CERTIFICATE-----\n") + { + if ($in_cert_block != 0) + { + die "$file is malformed."; + } + $in_cert_block = 1; + if ($write_current_cert == 1) + { + $pem_file_count++; + if (-e "$cert_alias.pem") + { + print "$cert_alias"; + die "already exists" + } + open(PEM, ">$cert_alias.pem"); + print PEM $cert; + } + } + elsif ($cert eq "-----END CERTIFICATE-----\n") + { + $in_cert_block = 0; + if ($write_current_cert == 1) + { + print PEM $cert; + close(PEM); + } + $write_current_cert = 1 + } + else + { + if ($in_cert_block == 1 && $write_current_cert == 1) + { + print PEM $cert; + } + } +} + +# Check that the correct number of .pem files were produced. +@pem_files = <*.pem>; +if (@pem_files != $pem_file_count) +{ + print "$pem_file_count"; + die "Number of .pem files produced does not match". + " number of certs read from $file."; +} + +# Now store each cert in the 'cacerts' file using keytool. +$certs_written_count = 0; +foreach $pem_file (@pem_files) +{ + system "$ARGV[0] -noprompt -import". + " -alias `basename $pem_file .pem`". + " -keystore cacerts -storepass 'changeit' -file $pem_file"; + unlink($pem_file); + $certs_written_count++; +} + +# Check that the correct number of certs were added to the keystore. +if ($certs_written_count != $pem_file_count) +{ + die "Number of certs added to keystore does not match". + " number of certs read from $file."; +} diff --git a/dev-java/icedtea/files/icedtea-6.1.10.4_1-sharkllvm30-de-const-type-135375.patch b/dev-java/icedtea/files/icedtea-6.1.10.4_1-sharkllvm30-de-const-type-135375.patch new file mode 100644 index 0000000..a691324 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-6.1.10.4_1-sharkllvm30-de-const-type-135375.patch @@ -0,0 +1,577 @@ +Taken from: +http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000399.html + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp 2011-08-30 21:15:49.115227000 +0000 +@@ -1040,8 +1040,8 @@ + object = builder()->CreateInlineOop(field->holder()); + + BasicType basic_type = field->type()->basic_type(); +- const Type *stack_type = SharkType::to_stackType(basic_type); +- const Type *field_type = SharkType::to_arrayType(basic_type); ++ Type *stack_type = SharkType::to_stackType(basic_type); ++ Type *field_type = SharkType::to_arrayType(basic_type); + + Value *addr = builder()->CreateAddressOfStructEntry( + object, in_ByteSize(field->offset_in_bytes()), +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp 2011-08-30 21:15:49.315227000 +0000 +@@ -47,14 +47,14 @@ + // Helpers for accessing structures + Value* SharkBuilder::CreateAddressOfStructEntry(Value* base, + ByteSize offset, +- const Type* type, ++ Type* type, + const char* name) { + return CreateBitCast(CreateStructGEP(base, in_bytes(offset)), type, name); + } + + LoadInst* SharkBuilder::CreateValueOfStructEntry(Value* base, + ByteSize offset, +- const Type* type, ++ Type* type, + const char* name) { + return CreateLoad( + CreateAddressOfStructEntry( +@@ -71,7 +71,7 @@ + } + + Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, +- const Type* element_type, ++ Type* element_type, + int element_bytes, + ByteSize base_offset, + Value* index, +@@ -114,7 +114,7 @@ + + // Helpers for creating intrinsics and external functions. + +-const Type* SharkBuilder::make_type(char type, bool void_ok) { ++Type* SharkBuilder::make_type(char type, bool void_ok) { + switch (type) { + // Primitive types + case 'c': +@@ -159,14 +159,14 @@ + } + } + +-const FunctionType* SharkBuilder::make_ftype(const char* params, ++FunctionType* SharkBuilder::make_ftype(const char* params, + const char* ret) { +- std::vector param_types; ++ std::vector param_types; + for (const char* c = params; *c; c++) + param_types.push_back(make_type(*c, false)); + + assert(strlen(ret) == 1, "should be"); +- const Type *return_type = make_type(*ret, true); ++ Type *return_type = make_type(*ret, true); + + return FunctionType::get(return_type, param_types, false); + } +@@ -565,7 +565,7 @@ + + Value* SharkBuilder::CreateInlineData(void* data, + size_t size, +- const Type* type, ++ Type* type, + const char* name) { + return CreateIntToPtr( + code_buffer_address(code_buffer()->inline_data(data, size)), +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp 2011-08-30 19:52:46.735227001 +0000 +@@ -57,18 +57,18 @@ + public: + llvm::Value* CreateAddressOfStructEntry(llvm::Value* base, + ByteSize offset, +- const llvm::Type* type, ++ llvm::Type* type, + const char *name = ""); + llvm::LoadInst* CreateValueOfStructEntry(llvm::Value* base, + ByteSize offset, +- const llvm::Type* type, ++ llvm::Type* type, + const char *name = ""); + + // Helpers for accessing arrays. + public: + llvm::LoadInst* CreateArrayLength(llvm::Value* arrayoop); + llvm::Value* CreateArrayAddress(llvm::Value* arrayoop, +- const llvm::Type* element_type, ++ llvm::Type* element_type, + int element_bytes, + ByteSize base_offset, + llvm::Value* index, +@@ -85,8 +85,8 @@ + + // Helpers for creating intrinsics and external functions. + private: +- static const llvm::Type* make_type(char type, bool void_ok); +- static const llvm::FunctionType* make_ftype(const char* params, ++ static llvm::Type* make_type(char type, bool void_ok); ++ static llvm::FunctionType* make_ftype(const char* params, + const char* ret); + llvm::Value* make_function(const char* name, + const char* params, +@@ -211,7 +211,7 @@ + } + llvm::Value* CreateInlineData(void* data, + size_t size, +- const llvm::Type* type, ++ llvm::Type* type, + const char* name = ""); + + // Helpers for creating basic blocks. +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2011-08-30 19:52:46.735227001 +0000 +@@ -230,7 +230,7 @@ + } + + Value* SharkOSREntryCacher::CreateAddressOfOSRBufEntry(int offset, +- const Type* type) { ++ Type* type) { + Value *result = builder()->CreateStructGEP(osr_buf(), offset); + if (type != SharkType::intptr_type()) + result = builder()->CreateBitCast(result, PointerType::getUnqual(type)); +@@ -254,12 +254,12 @@ + } + } + +-void SharkDecacher::write_value_to_frame(const Type* type, ++void SharkDecacher::write_value_to_frame(Type* type, + Value* value, + int offset) { + builder()->CreateStore(value, stack()->slot_addr(offset, type)); + } + +-Value* SharkCacher::read_value_from_frame(const Type* type, int offset) { ++Value* SharkCacher::read_value_from_frame(Type* type, int offset) { + return builder()->CreateLoad(stack()->slot_addr(offset, type)); + } +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.hpp 2011-08-30 19:52:46.745227001 +0000 +@@ -192,7 +192,7 @@ + + // Writer helper + protected: +- void write_value_to_frame(const llvm::Type* type, ++ void write_value_to_frame(llvm::Type* type, + llvm::Value* value, + int offset); + }; +@@ -321,7 +321,7 @@ + + // Writer helper + protected: +- llvm::Value* read_value_from_frame(const llvm::Type* type, int offset); ++ llvm::Value* read_value_from_frame(llvm::Type* type, int offset); + }; + + class SharkJavaCallCacher : public SharkCacher { +@@ -422,7 +422,7 @@ + + // Helper + private: +- llvm::Value* CreateAddressOfOSRBufEntry(int offset, const llvm::Type* type); ++ llvm::Value* CreateAddressOfOSRBufEntry(int offset, llvm::Type* type); + }; + + #endif // SHARE_VM_SHARK_SHARKCACHEDECACHE_HPP +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkContext.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkContext.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkContext.cpp 2011-08-30 19:52:46.745227001 +0000 +@@ -76,7 +76,7 @@ + _zeroStack_type = PointerType::getUnqual( + ArrayType::get(jbyte_type(), sizeof(ZeroStack))); + +- std::vector params; ++ std::vector params; + params.push_back(methodOop_type()); + params.push_back(intptr_type()); + params.push_back(thread_type()); +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkContext.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkContext.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkContext.hpp 2011-08-30 19:55:03.425227001 +0000 +@@ -68,118 +68,118 @@ + module()->getFunctionList().push_back(function); + } + llvm::Constant* get_external(const char* name, +- const llvm::FunctionType* sig) { ++ llvm::FunctionType* sig) { + return module()->getOrInsertFunction(name, sig); + } + + // Basic types + private: +- const llvm::Type* _void_type; +- const llvm::IntegerType* _bit_type; +- const llvm::IntegerType* _jbyte_type; +- const llvm::IntegerType* _jshort_type; +- const llvm::IntegerType* _jint_type; +- const llvm::IntegerType* _jlong_type; +- const llvm::Type* _jfloat_type; +- const llvm::Type* _jdouble_type; ++ llvm::Type* _void_type; ++ llvm::IntegerType* _bit_type; ++ llvm::IntegerType* _jbyte_type; ++ llvm::IntegerType* _jshort_type; ++ llvm::IntegerType* _jint_type; ++ llvm::IntegerType* _jlong_type; ++ llvm::Type* _jfloat_type; ++ llvm::Type* _jdouble_type; + + public: +- const llvm::Type* void_type() const { ++ llvm::Type* void_type() const { + return _void_type; + } +- const llvm::IntegerType* bit_type() const { ++ llvm::IntegerType* bit_type() const { + return _bit_type; + } +- const llvm::IntegerType* jbyte_type() const { ++ llvm::IntegerType* jbyte_type() const { + return _jbyte_type; + } +- const llvm::IntegerType* jshort_type() const { ++ llvm::IntegerType* jshort_type() const { + return _jshort_type; + } +- const llvm::IntegerType* jint_type() const { ++ llvm::IntegerType* jint_type() const { + return _jint_type; + } +- const llvm::IntegerType* jlong_type() const { ++ llvm::IntegerType* jlong_type() const { + return _jlong_type; + } +- const llvm::Type* jfloat_type() const { ++ llvm::Type* jfloat_type() const { + return _jfloat_type; + } +- const llvm::Type* jdouble_type() const { ++ llvm::Type* jdouble_type() const { + return _jdouble_type; + } +- const llvm::IntegerType* intptr_type() const { ++ llvm::IntegerType* intptr_type() const { + return LP64_ONLY(jlong_type()) NOT_LP64(jint_type()); + } + + // Compound types + private: +- const llvm::PointerType* _itableOffsetEntry_type; +- const llvm::PointerType* _jniEnv_type; +- const llvm::PointerType* _jniHandleBlock_type; +- const llvm::PointerType* _klass_type; +- const llvm::PointerType* _methodOop_type; +- const llvm::ArrayType* _monitor_type; +- const llvm::PointerType* _oop_type; +- const llvm::PointerType* _thread_type; +- const llvm::PointerType* _zeroStack_type; +- const llvm::FunctionType* _entry_point_type; +- const llvm::FunctionType* _osr_entry_point_type; ++ llvm::PointerType* _itableOffsetEntry_type; ++ llvm::PointerType* _jniEnv_type; ++ llvm::PointerType* _jniHandleBlock_type; ++ llvm::PointerType* _klass_type; ++ llvm::PointerType* _methodOop_type; ++ llvm::ArrayType* _monitor_type; ++ llvm::PointerType* _oop_type; ++ llvm::PointerType* _thread_type; ++ llvm::PointerType* _zeroStack_type; ++ llvm::FunctionType* _entry_point_type; ++ llvm::FunctionType* _osr_entry_point_type; + + public: +- const llvm::PointerType* itableOffsetEntry_type() const { ++ llvm::PointerType* itableOffsetEntry_type() const { + return _itableOffsetEntry_type; + } +- const llvm::PointerType* jniEnv_type() const { ++ llvm::PointerType* jniEnv_type() const { + return _jniEnv_type; + } +- const llvm::PointerType* jniHandleBlock_type() const { ++ llvm::PointerType* jniHandleBlock_type() const { + return _jniHandleBlock_type; + } +- const llvm::PointerType* klass_type() const { ++ llvm::PointerType* klass_type() const { + return _klass_type; + } +- const llvm::PointerType* methodOop_type() const { ++ llvm::PointerType* methodOop_type() const { + return _methodOop_type; + } +- const llvm::ArrayType* monitor_type() const { ++ llvm::ArrayType* monitor_type() const { + return _monitor_type; + } +- const llvm::PointerType* oop_type() const { ++ llvm::PointerType* oop_type() const { + return _oop_type; + } +- const llvm::PointerType* thread_type() const { ++ llvm::PointerType* thread_type() const { + return _thread_type; + } +- const llvm::PointerType* zeroStack_type() const { ++ llvm::PointerType* zeroStack_type() const { + return _zeroStack_type; + } +- const llvm::FunctionType* entry_point_type() const { ++ llvm::FunctionType* entry_point_type() const { + return _entry_point_type; + } +- const llvm::FunctionType* osr_entry_point_type() const { ++ llvm::FunctionType* osr_entry_point_type() const { + return _osr_entry_point_type; + } + + // Mappings + private: +- const llvm::Type* _to_stackType[T_CONFLICT]; +- const llvm::Type* _to_arrayType[T_CONFLICT]; ++ llvm::Type* _to_stackType[T_CONFLICT]; ++ llvm::Type* _to_arrayType[T_CONFLICT]; + + private: +- const llvm::Type* map_type(const llvm::Type* const* table, ++ llvm::Type* map_type(llvm::Type* const* table, + BasicType type) const { + assert(type >= 0 && type < T_CONFLICT, "unhandled type"); +- const llvm::Type* result = table[type]; ++ llvm::Type* result = table[type]; + assert(type != NULL, "unhandled type"); + return result; + } + + public: +- const llvm::Type* to_stackType(BasicType type) const { ++ llvm::Type* to_stackType(BasicType type) const { + return map_type(_to_stackType, type); + } +- const llvm::Type* to_arrayType(BasicType type) const { ++ llvm::Type* to_arrayType(BasicType type) const { + return map_type(_to_arrayType, type); + } + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp 2011-08-30 21:16:20.725227002 +0000 +@@ -83,9 +83,9 @@ + } + + // Start building the argument list +- std::vector param_types; ++ std::vector param_types; + std::vector param_values; +- const PointerType *box_type = PointerType::getUnqual(SharkType::oop_type()); ++ PointerType *box_type = PointerType::getUnqual(SharkType::oop_type()); + + // First argument is the JNIEnv + param_types.push_back(SharkType::jniEnv_type()); +@@ -170,7 +170,7 @@ + // fall through + + default: +- const Type *param_type = SharkType::to_stackType(arg_type(i)); ++ Type *param_type = SharkType::to_stackType(arg_type(i)); + + param_types.push_back(param_type); + param_values.push_back( +@@ -201,7 +201,7 @@ + + // Make the call + BasicType result_type = target()->result_type(); +- const Type* return_type; ++ Type* return_type; + if (result_type == T_VOID) + return_type = SharkType::void_type(); + else if (is_returning_oop()) +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkStack.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkStack.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkStack.cpp 2011-08-30 19:52:46.745227001 +0000 +@@ -163,7 +163,7 @@ + } + + Value* SharkStack::slot_addr(int offset, +- const Type* type, ++ Type* type, + const char* name) const { + bool needs_cast = type && type != SharkType::intptr_type(); + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkStack.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkStack.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkStack.hpp 2011-08-30 19:52:46.755227001 +0000 +@@ -204,7 +204,7 @@ + // Addresses of things in the frame + public: + llvm::Value* slot_addr(int offset, +- const llvm::Type* type = NULL, ++ llvm::Type* type = NULL, + const char* name = "") const; + + llvm::Value* monitor_addr(int index) const { +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp 2011-08-30 19:52:46.755227001 +0000 +@@ -829,7 +829,7 @@ + builder()->CreateArrayAddress( + array->jarray_value(), basic_type, index->jint_value())); + +- const Type *stack_type = SharkType::to_stackType(basic_type); ++ Type *stack_type = SharkType::to_stackType(basic_type); + if (value->getType() != stack_type) + value = builder()->CreateIntCast(value, stack_type, basic_type != T_CHAR); + +@@ -916,7 +916,7 @@ + ShouldNotReachHere(); + } + +- const Type *array_type = SharkType::to_arrayType(basic_type); ++ Type *array_type = SharkType::to_arrayType(basic_type); + if (value->getType() != array_type) + value = builder()->CreateIntCast(value, array_type, basic_type != T_CHAR); + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkType.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkType.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkType.hpp 2011-08-30 19:52:46.755227001 +0000 +@@ -40,82 +40,82 @@ + + // Basic types + public: +- static const llvm::Type* void_type() { ++ static llvm::Type* void_type() { + return context().void_type(); + } +- static const llvm::IntegerType* bit_type() { ++ static llvm::IntegerType* bit_type() { + return context().bit_type(); + } +- static const llvm::IntegerType* jbyte_type() { ++ static llvm::IntegerType* jbyte_type() { + return context().jbyte_type(); + } +- static const llvm::IntegerType* jshort_type() { ++ static llvm::IntegerType* jshort_type() { + return context().jshort_type(); + } +- static const llvm::IntegerType* jint_type() { ++ static llvm::IntegerType* jint_type() { + return context().jint_type(); + } +- static const llvm::IntegerType* jlong_type() { ++ static llvm::IntegerType* jlong_type() { + return context().jlong_type(); + } +- static const llvm::Type* jfloat_type() { ++ static llvm::Type* jfloat_type() { + return context().jfloat_type(); + } +- static const llvm::Type* jdouble_type() { ++ static llvm::Type* jdouble_type() { + return context().jdouble_type(); + } +- static const llvm::IntegerType* intptr_type() { ++ static llvm::IntegerType* intptr_type() { + return context().intptr_type(); + } + + // Compound types + public: +- static const llvm::PointerType* itableOffsetEntry_type() { ++ static llvm::PointerType* itableOffsetEntry_type() { + return context().itableOffsetEntry_type(); + } +- static const llvm::PointerType* jniEnv_type() { ++ static llvm::PointerType* jniEnv_type() { + return context().jniEnv_type(); + } +- static const llvm::PointerType* jniHandleBlock_type() { ++ static llvm::PointerType* jniHandleBlock_type() { + return context().jniHandleBlock_type(); + } +- static const llvm::PointerType* klass_type() { ++ static llvm::PointerType* klass_type() { + return context().klass_type(); + } +- static const llvm::PointerType* methodOop_type() { ++ static llvm::PointerType* methodOop_type() { + return context().methodOop_type(); + } +- static const llvm::ArrayType* monitor_type() { ++ static llvm::ArrayType* monitor_type() { + return context().monitor_type(); + } +- static const llvm::PointerType* oop_type() { ++ static llvm::PointerType* oop_type() { + return context().oop_type(); + } +- static const llvm::PointerType* thread_type() { ++ static llvm::PointerType* thread_type() { + return context().thread_type(); + } +- static const llvm::PointerType* zeroStack_type() { ++ static llvm::PointerType* zeroStack_type() { + return context().zeroStack_type(); + } +- static const llvm::FunctionType* entry_point_type() { ++ static llvm::FunctionType* entry_point_type() { + return context().entry_point_type(); + } +- static const llvm::FunctionType* osr_entry_point_type() { ++ static llvm::FunctionType* osr_entry_point_type() { + return context().osr_entry_point_type(); + } + + // Mappings + public: +- static const llvm::Type* to_stackType(BasicType type) { ++ static llvm::Type* to_stackType(BasicType type) { + return context().to_stackType(type); + } +- static const llvm::Type* to_stackType(ciType* type) { ++ static llvm::Type* to_stackType(ciType* type) { + return to_stackType(type->basic_type()); + } +- static const llvm::Type* to_arrayType(BasicType type) { ++ static llvm::Type* to_arrayType(BasicType type) { + return context().to_arrayType(type); + } +- static const llvm::Type* to_arrayType(ciType* type) { ++ static llvm::Type* to_arrayType(ciType* type) { + return to_arrayType(type->basic_type()); + } + }; +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp 2011-08-30 20:23:51.805227002 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp 2011-08-30 20:24:26.455227000 +0000 +@@ -91,7 +91,7 @@ + bool is_osr() const { + return flow()->is_osr_flow(); + } +- const llvm::FunctionType* entry_point_type() const { ++ llvm::FunctionType* entry_point_type() const { + if (is_osr()) + return SharkType::osr_entry_point_type(); + else diff --git a/dev-java/icedtea/files/icedtea-6.1.10.4_pax_kernel_support.patch b/dev-java/icedtea/files/icedtea-6.1.10.4_pax_kernel_support.patch new file mode 100644 index 0000000..8046925 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-6.1.10.4_pax_kernel_support.patch @@ -0,0 +1,143 @@ +Author: Ralph Sennhaser + +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/files/icedtea-6.1.10.4_separate_shark_target.patch b/dev-java/icedtea/files/icedtea-6.1.10.4_separate_shark_target.patch new file mode 100644 index 0000000..993cd24 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-6.1.10.4_separate_shark_target.patch @@ -0,0 +1,217 @@ +Author: Ralph Sennhauser + +Split out add-shark target. + +This way the shark build will end up in shark instead of zero and java -zero +will work as expected. Ie. allows for easier setup of per app vm preferences +if desired. Also removes a bunch of conditionals which will simplify writing +jvm.cfg correctly without a full rebuild. + +diff --git a/Makefile.am b/Makefile.am +index 82ef261..cfd0d6b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1416,24 +1416,24 @@ clean-icedtea-debug: + rm -f stamps/icedtea-debug.stamp + + stamps/icedtea-against-icedtea.stamp: stamps/icedtea.stamp \ +- stamps/add-jamvm.stamp stamps/add-cacao.stamp stamps/add-zero.stamp \ ++ stamps/add-jamvm.stamp stamps/add-cacao.stamp stamps/add-zero.stamp stamps/add-shark.stamp \ + stamps/add-systemtap.stamp stamps/add-pulseaudio.stamp stamps/add-nss.stamp stamps/add-tzdata-support.stamp + mkdir -p stamps + touch stamps/icedtea-against-icedtea.stamp + +-clean-icedtea-against-icedtea: clean-add-jamvm clean-add-zero clean-add-cacao \ ++clean-icedtea-against-icedtea: clean-add-jamvm clean-add-zero clean-add-cacao clean-add-shark \ + clean-add-systemtap clean-add-pulseaudio \ + clean-add-nss clean-add-tzdata-support + rm -f stamps/icedtea-against-icedtea.stamp + + stamps/icedtea-debug-against-icedtea.stamp: stamps/icedtea-debug.stamp \ +- stamps/add-jamvm-debug.stamp stamps/add-cacao-debug.stamp \ ++ stamps/add-jamvm-debug.stamp stamps/add-cacao-debug.stamp stamps/add-shark-debug.stamp \ + stamps/add-zero-debug.stamp stamps/add-systemtap-debug.stamp stamps/add-pulseaudio-debug.stamp \ + stamps/add-nss-debug.stamp stamps/add-tzdata-support-debug.stamp + mkdir -p stamps + touch stamps/icedtea-debug-against-icedtea.stamp + +-clean-icedtea-debug-against-icedtea: clean-add-zero-debug \ ++clean-icedtea-debug-against-icedtea: clean-add-zero-debug clean-add-zero-debug \ + clean-add-jamvm-debug clean-add-cacao-debug clean-add-systemtap-debug \ + clean-add-pulseaudio-debug clean-add-nss-debug clean-add-tzdata-support-debug + rm -f stamps/icedtea-debug-against-icedtea.stamp +@@ -1946,27 +1946,22 @@ clean-add-cacao-debug: + # configure script arguments, quoted in single quotes + CONFIGURE_ARGS = @CONFIGURE_ARGS@ + ADD_ZERO_CONFIGURE_ARGS = \ +- --with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \ +- --enable-zero +-if ADD_SHARK_BUILD +-ADD_ZERO_CONFIGURE_ARGS += \ +- --enable-shark +-endif +-ADD_ZERO_CONFIGURE_ARGS += \ +- --disable-docs \ + $(filter-out '--with-jdk-home=% '--with-ecj=% \ + '--with-java=% '--with-javah=% \ + '--with-rmic=% '--with-additional-vms=% \ + '--with-openjdk '--with-openjdk=% , \ + $(CONFIGURE_ARGS)) \ + $(if $(findstring --with-openjdk-src-zip=, $(CONFIGURE_ARGS)),, \ +- --with-openjdk-src-zip=$(abs_top_builddir)/$(OPENJDK_SRC_ZIP)) ++ --with-openjdk-src-zip=$(abs_top_builddir)/$(OPENJDK_SRC_ZIP)) \ ++ --with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \ ++ --disable-bootstrap \ ++ --enable-zero \ ++ --disable-docs + if WITH_ALT_HSBUILD + ADD_ZERO_CONFIGURE_ARGS += \ + $(if $(findstring --with-hotspot-src-zip=, $(CONFIGURE_ARGS)),, \ + --with-hotspot-src-zip=$(abs_top_builddir)/$(HOTSPOT_SRC_ZIP)) + endif +-ADD_ZERO_CONFIGURE_ARGS += --disable-bootstrap + + ADD_ZERO_EXTRA_BUILD_ENV = \ + BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=$(BUILD_OUTPUT_DIR)/langtools/dist \ +@@ -2003,34 +1998,19 @@ if ADD_ZERO_BUILD + $(ADD_ZERO_EXTRA_BUILD_ENV) \ + $(ARCH_PREFIX) $(MAKE) -C zerovm $(ICEDTEA_BUILD_TARGET) + +-if ZERO_BUILD +- mkdir -p $(BUILD_JRE_ARCH_DIR)/shark +- cp -a zerovm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ +- $(BUILD_JRE_ARCH_DIR)/shark/ +- printf -- '-shark KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +-else + mkdir -p $(BUILD_JRE_ARCH_DIR)/zero + cp -a zerovm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ + $(BUILD_JRE_ARCH_DIR)/zero/ + printf -- '-zero KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +-if ADD_SHARK_BUILD +- printf -- '-shark ALIASED_TO -zero\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +-else +- printf -- '-shark ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +-endif +-endif + else + printf -- '-zero ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +- printf -- '-shark ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg + endif + touch $@ + + clean-add-zero: + rm -rf $(BUILD_JRE_ARCH_DIR)/zero +- rm -rf $(BUILD_JRE_ARCH_DIR)/shark + rm -rf zerovm + sed -i 's#-zero KNOWN#-zero ERROR#' jvm.cfg +- sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg + rm -f stamps/add-zero.stamp + + stamps/add-zero-debug.stamp: stamps/icedtea-debug.stamp +@@ -2044,30 +2024,96 @@ if ADD_ZERO_BUILD + $(ADD_ZERO_EXTRA_BUILD_ENV) \ + $(ARCH_PREFIX) $(MAKE) -C zerovm $(ICEDTEA_DEBUG_BUILD_TARGET) + +-if ZERO_BUILD +- mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/shark +- cp -a zerovm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ +- $(BUILD_DEBUG_JRE_ARCH_DIR)/shark/ +- printf -- '-shark KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg +-else + mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/zero + cp -a zerovm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ + $(BUILD_DEBUG_JRE_ARCH_DIR)/zero/ + printf -- '-zero KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg +-endif + else + printf -- '-zero ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg +- printf -- '-shark ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg + endif + touch $@ + + clean-add-zero-debug: + rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/zero +- rm -rf $(BUILD_JRE_ARCH_DIR)/shark + rm -rf zerovm + sed -i 's#-zero KNOWN#-zero ERROR#' jvm.cfg +- sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg + rm -f stamps/add-zero-debug.stamp ++ ++ADD_SHARK_CONFIGURE_ARGS = \ ++ $(ADD_ZERO_CONFIGURE_ARGS) \ ++ --enable-shark ++ ++ADD_SHARK_EXTRA_BUILD_ENV = \ ++ $(ADD_ZERO_EXTRA_BUILD_ENV) ++ ++ ++stamps/add-shark.stamp: stamps/icedtea.stamp ++if ADD_SHARK_BUILD ++ mkdir -p sharkvm ++ ++ cd sharkvm && \ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(abs_top_srcdir)/configure $(ADD_SHARK_CONFIGURE_ARGS) ++ ++ : # create directories which are expected by icedtea components, ++ : # implicitly assumed to be created by the jdk build. ++ mkdir -p $(patsubst $(abs_top_builddir)/%,$(abs_top_builddir)/sharkvm/%, \ ++ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) \ ++ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/man/man1 \ ++ $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) \ ++ $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/man/man1 \ ++ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) \ ++ $(BUILD_OUTPUT_DIR)/j2sdk-image/man/man1 \ ++ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) \ ++ $(BUILD_OUTPUT_DIR)/j2re-image/man/man1 \ ++ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) \ ++ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/man/man1 \ ++ $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) \ ++ $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/man/man1) ++ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(MAKE) -C sharkvm $(ICEDTEA_BUILD_TARGET) ++ ++ mkdir -p $(BUILD_JRE_ARCH_DIR)/shark ++ cp -a sharkvm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ ++ $(BUILD_JRE_ARCH_DIR)/shark/ ++ printf -- '-shark KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg ++else ++ printf -- '-shark ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg ++endif ++ touch $@ ++ ++clean-add-shark: ++ rm -rf $(BUILD_JRE_ARCH_DIR)/shark ++ rm -rf sharkvm ++ sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg ++ rm -f stamps/add-shark.stamp ++ ++stamps/add-shark-debug.stamp: stamps/icedtea-debug.stamp ++if ADD_SHARK_BUILD ++ mkdir -p sharkvm ++ ++ cd sharkvm && \ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(abs_top_srcdir)/configure $(ADD_SHARK_CONFIGURE_ARGS) ++ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(MAKE) -C sharkvm $(ICEDTEA_DEBUG_BUILD_TARGET) ++ ++ mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/shark ++ cp -a shark/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ ++ $(BUILD_DEBUG_JRE_ARCH_DIR)/shark/ ++ printf -- '-shark KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ++else ++ printf -- '-shark ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ++endif ++ touch $@ ++ ++clean-add-shark-debug: ++ rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/shark ++ rm -rf sharkvm ++ sed -i 's#-shark KNOWN#-shark ERROR#' jvm.cfg ++ rm -f stamps/add-shark-debug.stamp + + # end additional VMs + diff --git a/dev-java/icedtea/files/icedtea-6.1.10.4_shark_jvm_rpath.patch b/dev-java/icedtea/files/icedtea-6.1.10.4_shark_jvm_rpath.patch new file mode 100644 index 0000000..36f6b72 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-6.1.10.4_shark_jvm_rpath.patch @@ -0,0 +1,16 @@ +Author: Ralph Sennhauser + +The llvm libdir isn't in the default search path on Gentoo. Adding path explicitely. + +diff --git a/configure.ac b/configure.ac +index 580840e..852f5a8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -444,6 +444,7 @@ if test "x${SHARK_BUILD_TRUE}" = x || test "x${ADD_SHARK_BUILD_TRUE}" = x; then + LLVM_LDFLAGS="$LLVM_LDFLAGS$flag" + fi + done ++ LLVM_LDFLAGS="$LLVM_LDFLAGS -Wl,-rpath,$($LLVM_CONFIG --libdir)" + dnl LLVM_LIBS + LIBS_SAVED=$LIBS + LDFLAGS_SAVED=$LDFLAGS diff --git a/dev-java/icedtea/files/icedtea-7.2.0_1-sharkllvm30-de-const-type-135375.patch b/dev-java/icedtea/files/icedtea-7.2.0_1-sharkllvm30-de-const-type-135375.patch new file mode 100644 index 0000000..51d4902 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-7.2.0_1-sharkllvm30-de-const-type-135375.patch @@ -0,0 +1,578 @@ +Taken from: +http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000399.html +Adopted to icedtea-7 + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp 2011-08-30 21:15:49.115227000 +0000 +@@ -1040,8 +1040,8 @@ + object = builder()->CreateInlineOop(field->holder()); + + BasicType basic_type = field->type()->basic_type(); +- const Type *stack_type = SharkType::to_stackType(basic_type); +- const Type *field_type = SharkType::to_arrayType(basic_type); ++ Type *stack_type = SharkType::to_stackType(basic_type); ++ Type *field_type = SharkType::to_arrayType(basic_type); + + Value *addr = builder()->CreateAddressOfStructEntry( + object, in_ByteSize(field->offset_in_bytes()), +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkBuilder.cpp 2011-08-30 21:15:49.315227000 +0000 +@@ -47,14 +47,14 @@ + // Helpers for accessing structures + Value* SharkBuilder::CreateAddressOfStructEntry(Value* base, + ByteSize offset, +- const Type* type, ++ Type* type, + const char* name) { + return CreateBitCast(CreateStructGEP(base, in_bytes(offset)), type, name); + } + + LoadInst* SharkBuilder::CreateValueOfStructEntry(Value* base, + ByteSize offset, +- const Type* type, ++ Type* type, + const char* name) { + return CreateLoad( + CreateAddressOfStructEntry( +@@ -71,7 +71,7 @@ + } + + Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, +- const Type* element_type, ++ Type* element_type, + int element_bytes, + ByteSize base_offset, + Value* index, +@@ -114,7 +114,7 @@ + + // Helpers for creating intrinsics and external functions. + +-const Type* SharkBuilder::make_type(char type, bool void_ok) { ++Type* SharkBuilder::make_type(char type, bool void_ok) { + switch (type) { + // Primitive types + case 'c': +@@ -159,14 +159,14 @@ + } + } + +-const FunctionType* SharkBuilder::make_ftype(const char* params, ++FunctionType* SharkBuilder::make_ftype(const char* params, + const char* ret) { +- std::vector param_types; ++ std::vector param_types; + for (const char* c = params; *c; c++) + param_types.push_back(make_type(*c, false)); + + assert(strlen(ret) == 1, "should be"); +- const Type *return_type = make_type(*ret, true); ++ Type *return_type = make_type(*ret, true); + + return FunctionType::get(return_type, param_types, false); + } +@@ -565,7 +565,7 @@ + + Value* SharkBuilder::CreateInlineData(void* data, + size_t size, +- const Type* type, ++ Type* type, + const char* name) { + return CreateIntToPtr( + code_buffer_address(code_buffer()->inline_data(data, size)), +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkBuilder.hpp 2011-08-30 19:52:46.735227001 +0000 +@@ -57,18 +57,18 @@ + public: + llvm::Value* CreateAddressOfStructEntry(llvm::Value* base, + ByteSize offset, +- const llvm::Type* type, ++ llvm::Type* type, + const char *name = ""); + llvm::LoadInst* CreateValueOfStructEntry(llvm::Value* base, + ByteSize offset, +- const llvm::Type* type, ++ llvm::Type* type, + const char *name = ""); + + // Helpers for accessing arrays. + public: + llvm::LoadInst* CreateArrayLength(llvm::Value* arrayoop); + llvm::Value* CreateArrayAddress(llvm::Value* arrayoop, +- const llvm::Type* element_type, ++ llvm::Type* element_type, + int element_bytes, + ByteSize base_offset, + llvm::Value* index, +@@ -85,8 +85,8 @@ + + // Helpers for creating intrinsics and external functions. + private: +- static const llvm::Type* make_type(char type, bool void_ok); +- static const llvm::FunctionType* make_ftype(const char* params, ++ static llvm::Type* make_type(char type, bool void_ok); ++ static llvm::FunctionType* make_ftype(const char* params, + const char* ret); + llvm::Value* make_function(const char* name, + const char* params, +@@ -211,7 +211,7 @@ + } + llvm::Value* CreateInlineData(void* data, + size_t size, +- const llvm::Type* type, ++ llvm::Type* type, + const char* name = ""); + + // Helpers for creating basic blocks. +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2011-08-30 19:52:46.735227001 +0000 +@@ -230,7 +230,7 @@ + } + + Value* SharkOSREntryCacher::CreateAddressOfOSRBufEntry(int offset, +- const Type* type) { ++ Type* type) { + Value *result = builder()->CreateStructGEP(osr_buf(), offset); + if (type != SharkType::intptr_type()) + result = builder()->CreateBitCast(result, PointerType::getUnqual(type)); +@@ -254,12 +254,12 @@ + } + } + +-void SharkDecacher::write_value_to_frame(const Type* type, ++void SharkDecacher::write_value_to_frame(Type* type, + Value* value, + int offset) { + builder()->CreateStore(value, stack()->slot_addr(offset, type)); + } + +-Value* SharkCacher::read_value_from_frame(const Type* type, int offset) { ++Value* SharkCacher::read_value_from_frame(Type* type, int offset) { + return builder()->CreateLoad(stack()->slot_addr(offset, type)); + } +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkCacheDecache.hpp 2011-08-30 19:52:46.745227001 +0000 +@@ -192,7 +192,7 @@ + + // Writer helper + protected: +- void write_value_to_frame(const llvm::Type* type, ++ void write_value_to_frame(llvm::Type* type, + llvm::Value* value, + int offset); + }; +@@ -321,7 +321,7 @@ + + // Writer helper + protected: +- llvm::Value* read_value_from_frame(const llvm::Type* type, int offset); ++ llvm::Value* read_value_from_frame(llvm::Type* type, int offset); + }; + + class SharkJavaCallCacher : public SharkCacher { +@@ -422,7 +422,7 @@ + + // Helper + private: +- llvm::Value* CreateAddressOfOSRBufEntry(int offset, const llvm::Type* type); ++ llvm::Value* CreateAddressOfOSRBufEntry(int offset, llvm::Type* type); + }; + + #endif // SHARE_VM_SHARK_SHARKCACHEDECACHE_HPP +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkContext.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkContext.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkContext.cpp 2011-08-30 19:52:46.745227001 +0000 +@@ -76,7 +76,7 @@ + _zeroStack_type = PointerType::getUnqual( + ArrayType::get(jbyte_type(), sizeof(ZeroStack))); + +- std::vector params; ++ std::vector params; + params.push_back(methodOop_type()); + params.push_back(intptr_type()); + params.push_back(thread_type()); +Index: icedtea7-shark/openjdk/hotspot/src/share/vm/shark/sharkContext.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkContext.hpp 2011-09-29 00:13:07.000000000 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkContext.hpp 2011-12-12 12:49:57.481439513 +0100 +@@ -68,118 +68,118 @@ class SharkContext : public llvm::LLVMCo + module()->getFunctionList().push_back(function); + } + llvm::Constant* get_external(const char* name, +- const llvm::FunctionType* sig) { ++ llvm::FunctionType* sig) { + return module()->getOrInsertFunction(name, sig); + } + + // Basic types + private: +- const llvm::Type* _void_type; +- const llvm::IntegerType* _bit_type; +- const llvm::IntegerType* _jbyte_type; +- const llvm::IntegerType* _jshort_type; +- const llvm::IntegerType* _jint_type; +- const llvm::IntegerType* _jlong_type; +- const llvm::Type* _jfloat_type; +- const llvm::Type* _jdouble_type; ++ llvm::Type* _void_type; ++ llvm::IntegerType* _bit_type; ++ llvm::IntegerType* _jbyte_type; ++ llvm::IntegerType* _jshort_type; ++ llvm::IntegerType* _jint_type; ++ llvm::IntegerType* _jlong_type; ++ llvm::Type* _jfloat_type; ++ llvm::Type* _jdouble_type; + + public: +- const llvm::Type* void_type() const { ++ llvm::Type* void_type() const { + return _void_type; + } +- const llvm::IntegerType* bit_type() const { ++ llvm::IntegerType* bit_type() const { + return _bit_type; + } +- const llvm::IntegerType* jbyte_type() const { ++ llvm::IntegerType* jbyte_type() const { + return _jbyte_type; + } +- const llvm::IntegerType* jshort_type() const { ++ llvm::IntegerType* jshort_type() const { + return _jshort_type; + } +- const llvm::IntegerType* jint_type() const { ++ llvm::IntegerType* jint_type() const { + return _jint_type; + } +- const llvm::IntegerType* jlong_type() const { ++ llvm::IntegerType* jlong_type() const { + return _jlong_type; + } +- const llvm::Type* jfloat_type() const { ++ llvm::Type* jfloat_type() const { + return _jfloat_type; + } +- const llvm::Type* jdouble_type() const { ++ llvm::Type* jdouble_type() const { + return _jdouble_type; + } +- const llvm::IntegerType* intptr_type() const { ++ llvm::IntegerType* intptr_type() const { + return LP64_ONLY(jlong_type()) NOT_LP64(jint_type()); + } + + // Compound types + private: +- const llvm::PointerType* _itableOffsetEntry_type; +- const llvm::PointerType* _jniEnv_type; +- const llvm::PointerType* _jniHandleBlock_type; +- const llvm::PointerType* _klass_type; +- const llvm::PointerType* _methodOop_type; +- const llvm::ArrayType* _monitor_type; +- const llvm::PointerType* _oop_type; +- const llvm::PointerType* _thread_type; +- const llvm::PointerType* _zeroStack_type; +- const llvm::FunctionType* _entry_point_type; +- const llvm::FunctionType* _osr_entry_point_type; ++ llvm::PointerType* _itableOffsetEntry_type; ++ llvm::PointerType* _jniEnv_type; ++ llvm::PointerType* _jniHandleBlock_type; ++ llvm::PointerType* _klass_type; ++ llvm::PointerType* _methodOop_type; ++ llvm::ArrayType* _monitor_type; ++ llvm::PointerType* _oop_type; ++ llvm::PointerType* _thread_type; ++ llvm::PointerType* _zeroStack_type; ++ llvm::FunctionType* _entry_point_type; ++ llvm::FunctionType* _osr_entry_point_type; + + public: +- const llvm::PointerType* itableOffsetEntry_type() const { ++ llvm::PointerType* itableOffsetEntry_type() const { + return _itableOffsetEntry_type; + } +- const llvm::PointerType* jniEnv_type() const { ++ llvm::PointerType* jniEnv_type() const { + return _jniEnv_type; + } +- const llvm::PointerType* jniHandleBlock_type() const { ++ llvm::PointerType* jniHandleBlock_type() const { + return _jniHandleBlock_type; + } +- const llvm::PointerType* klass_type() const { ++ llvm::PointerType* klass_type() const { + return _klass_type; + } +- const llvm::PointerType* methodOop_type() const { ++ llvm::PointerType* methodOop_type() const { + return _methodOop_type; + } +- const llvm::ArrayType* monitor_type() const { ++ llvm::ArrayType* monitor_type() const { + return _monitor_type; + } +- const llvm::PointerType* oop_type() const { ++ llvm::PointerType* oop_type() const { + return _oop_type; + } +- const llvm::PointerType* thread_type() const { ++ llvm::PointerType* thread_type() const { + return _thread_type; + } +- const llvm::PointerType* zeroStack_type() const { ++ llvm::PointerType* zeroStack_type() const { + return _zeroStack_type; + } +- const llvm::FunctionType* entry_point_type() const { ++ llvm::FunctionType* entry_point_type() const { + return _entry_point_type; + } +- const llvm::FunctionType* osr_entry_point_type() const { ++ llvm::FunctionType* osr_entry_point_type() const { + return _osr_entry_point_type; + } + + // Mappings + private: +- const llvm::Type* _to_stackType[T_CONFLICT]; +- const llvm::Type* _to_arrayType[T_CONFLICT]; ++ llvm::Type* _to_stackType[T_CONFLICT]; ++ llvm::Type* _to_arrayType[T_CONFLICT]; + + private: +- const llvm::Type* map_type(const llvm::Type* const* table, ++ llvm::Type* map_type(llvm::Type* const* table, + BasicType type) const { + assert(type >= 0 && type < T_CONFLICT, "unhandled type"); +- const llvm::Type* result = table[type]; ++ llvm::Type* result = table[type]; + assert(result != NULL, "unhandled type"); + return result; + } + + public: +- const llvm::Type* to_stackType(BasicType type) const { ++ llvm::Type* to_stackType(BasicType type) const { + return map_type(_to_stackType, type); + } +- const llvm::Type* to_arrayType(BasicType type) const { ++ llvm::Type* to_arrayType(BasicType type) const { + return map_type(_to_arrayType, type); + } + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp 2011-08-30 21:16:20.725227002 +0000 +@@ -83,9 +83,9 @@ + } + + // Start building the argument list +- std::vector param_types; ++ std::vector param_types; + std::vector param_values; +- const PointerType *box_type = PointerType::getUnqual(SharkType::oop_type()); ++ PointerType *box_type = PointerType::getUnqual(SharkType::oop_type()); + + // First argument is the JNIEnv + param_types.push_back(SharkType::jniEnv_type()); +@@ -170,7 +170,7 @@ + // fall through + + default: +- const Type *param_type = SharkType::to_stackType(arg_type(i)); ++ Type *param_type = SharkType::to_stackType(arg_type(i)); + + param_types.push_back(param_type); + param_values.push_back( +@@ -201,7 +201,7 @@ + + // Make the call + BasicType result_type = target()->result_type(); +- const Type* return_type; ++ Type* return_type; + if (result_type == T_VOID) + return_type = SharkType::void_type(); + else if (is_returning_oop()) +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkStack.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkStack.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkStack.cpp 2011-08-30 19:52:46.745227001 +0000 +@@ -163,7 +163,7 @@ + } + + Value* SharkStack::slot_addr(int offset, +- const Type* type, ++ Type* type, + const char* name) const { + bool needs_cast = type && type != SharkType::intptr_type(); + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkStack.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkStack.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkStack.hpp 2011-08-30 19:52:46.755227001 +0000 +@@ -204,7 +204,7 @@ + // Addresses of things in the frame + public: + llvm::Value* slot_addr(int offset, +- const llvm::Type* type = NULL, ++ llvm::Type* type = NULL, + const char* name = "") const; + + llvm::Value* monitor_addr(int index) const { +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp 2011-08-30 19:52:46.755227001 +0000 +@@ -829,7 +829,7 @@ + builder()->CreateArrayAddress( + array->jarray_value(), basic_type, index->jint_value())); + +- const Type *stack_type = SharkType::to_stackType(basic_type); ++ Type *stack_type = SharkType::to_stackType(basic_type); + if (value->getType() != stack_type) + value = builder()->CreateIntCast(value, stack_type, basic_type != T_CHAR); + +@@ -916,7 +916,7 @@ + ShouldNotReachHere(); + } + +- const Type *array_type = SharkType::to_arrayType(basic_type); ++ Type *array_type = SharkType::to_arrayType(basic_type); + if (value->getType() != array_type) + value = builder()->CreateIntCast(value, array_type, basic_type != T_CHAR); + +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkType.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkType.hpp 2011-07-05 18:31:05.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkType.hpp 2011-08-30 19:52:46.755227001 +0000 +@@ -40,82 +40,82 @@ + + // Basic types + public: +- static const llvm::Type* void_type() { ++ static llvm::Type* void_type() { + return context().void_type(); + } +- static const llvm::IntegerType* bit_type() { ++ static llvm::IntegerType* bit_type() { + return context().bit_type(); + } +- static const llvm::IntegerType* jbyte_type() { ++ static llvm::IntegerType* jbyte_type() { + return context().jbyte_type(); + } +- static const llvm::IntegerType* jshort_type() { ++ static llvm::IntegerType* jshort_type() { + return context().jshort_type(); + } +- static const llvm::IntegerType* jint_type() { ++ static llvm::IntegerType* jint_type() { + return context().jint_type(); + } +- static const llvm::IntegerType* jlong_type() { ++ static llvm::IntegerType* jlong_type() { + return context().jlong_type(); + } +- static const llvm::Type* jfloat_type() { ++ static llvm::Type* jfloat_type() { + return context().jfloat_type(); + } +- static const llvm::Type* jdouble_type() { ++ static llvm::Type* jdouble_type() { + return context().jdouble_type(); + } +- static const llvm::IntegerType* intptr_type() { ++ static llvm::IntegerType* intptr_type() { + return context().intptr_type(); + } + + // Compound types + public: +- static const llvm::PointerType* itableOffsetEntry_type() { ++ static llvm::PointerType* itableOffsetEntry_type() { + return context().itableOffsetEntry_type(); + } +- static const llvm::PointerType* jniEnv_type() { ++ static llvm::PointerType* jniEnv_type() { + return context().jniEnv_type(); + } +- static const llvm::PointerType* jniHandleBlock_type() { ++ static llvm::PointerType* jniHandleBlock_type() { + return context().jniHandleBlock_type(); + } +- static const llvm::PointerType* klass_type() { ++ static llvm::PointerType* klass_type() { + return context().klass_type(); + } +- static const llvm::PointerType* methodOop_type() { ++ static llvm::PointerType* methodOop_type() { + return context().methodOop_type(); + } +- static const llvm::ArrayType* monitor_type() { ++ static llvm::ArrayType* monitor_type() { + return context().monitor_type(); + } +- static const llvm::PointerType* oop_type() { ++ static llvm::PointerType* oop_type() { + return context().oop_type(); + } +- static const llvm::PointerType* thread_type() { ++ static llvm::PointerType* thread_type() { + return context().thread_type(); + } +- static const llvm::PointerType* zeroStack_type() { ++ static llvm::PointerType* zeroStack_type() { + return context().zeroStack_type(); + } +- static const llvm::FunctionType* entry_point_type() { ++ static llvm::FunctionType* entry_point_type() { + return context().entry_point_type(); + } +- static const llvm::FunctionType* osr_entry_point_type() { ++ static llvm::FunctionType* osr_entry_point_type() { + return context().osr_entry_point_type(); + } + + // Mappings + public: +- static const llvm::Type* to_stackType(BasicType type) { ++ static llvm::Type* to_stackType(BasicType type) { + return context().to_stackType(type); + } +- static const llvm::Type* to_stackType(ciType* type) { ++ static llvm::Type* to_stackType(ciType* type) { + return to_stackType(type->basic_type()); + } +- static const llvm::Type* to_arrayType(BasicType type) { ++ static llvm::Type* to_arrayType(BasicType type) { + return context().to_arrayType(type); + } +- static const llvm::Type* to_arrayType(ciType* type) { ++ static llvm::Type* to_arrayType(ciType* type) { + return to_arrayType(type->basic_type()); + } + }; +Index: icedtea6-shark/openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp +=================================================================== +--- openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp 2011-08-30 20:23:51.805227002 +0000 ++++ openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp 2011-08-30 20:24:26.455227000 +0000 +@@ -91,7 +91,7 @@ + bool is_osr() const { + return flow()->is_osr_flow(); + } +- const llvm::FunctionType* entry_point_type() const { ++ llvm::FunctionType* entry_point_type() const { + if (is_osr()) + return SharkType::osr_entry_point_type(); + else diff --git a/dev-java/icedtea/files/icedtea-7.2.0_pax_kernel_support.patch b/dev-java/icedtea/files/icedtea-7.2.0_pax_kernel_support.patch new file mode 100644 index 0000000..2d8f8ce --- /dev/null +++ b/dev-java/icedtea/files/icedtea-7.2.0_pax_kernel_support.patch @@ -0,0 +1,202 @@ +Author: Ralph Sennhaser + +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. + +The embedded test_gamma.patch is taken from icedtea 2.0 itself. + +diff --git a/Makefile.am b/Makefile.am +index 129edf2..158b149 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -279,6 +279,10 @@ else + ICEDTEA_PATCHES += patches/nss-not-enabled-config.patch + endif + ++if WITH_PAX ++ICEDTEA_PATCHES += patches/test_gamma.patch ++endif ++ + ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) + + # Bootstrapping patches +@@ -300,7 +304,6 @@ ICEDTEA_BOOT_PATCHES = \ + patches/boot/jar.patch \ + patches/boot/symbols.patch \ + patches/boot/tobin.patch \ +- patches/boot/test_gamma.patch \ + patches/boot/tools.jar.patch \ + patches/boot/jopt.patch \ + patches/boot/jaxp-dependency.patch \ +@@ -320,6 +323,10 @@ ICEDTEA_BOOT_PATCHES = \ + patches/boot/ecj-autoboxing.patch \ + patches/boot/xsltproc.patch + ++if !WITH_PAX ++ICEDTEA_BOOT_PATCHES += patches/boot/test_gamma.patch ++endif ++ + if CP39408_JAVAH + ICEDTEA_BOOT_PATCHES += patches/boot/pr39408.patch + endif +@@ -1612,6 +1619,7 @@ stamps/icedtea.stamp: stamps/bootstrap-directory-symlink-stage2.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 +@@ -1765,6 +1773,7 @@ stamps/icedtea-boot.stamp: stamps/bootstrap-directory-symlink-stage1.stamp \ + $(ICEDTEA_ENV_BOOT) \ + -C openjdk-boot \ + $(ICEDTEA_BUILD_TARGET) ++ $(abs_top_builddir)/pax-mark-vm $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image + @echo "Bootstrapped IcedTea is served:" \ + $(BOOT_BUILD_OUTPUT_DIR) + mkdir -p stamps +diff --git a/acinclude.m4 b/acinclude.m4 +index 5310d71..f08f1a9 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2181,3 +2181,49 @@ rmdir tmp.$$ + AM_CONDITIONAL([NO_BYTECODE7], test x"${it_cv_bytecode7}" = "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 e0b866b..7c665ef 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -146,6 +146,9 @@ IT_WITH_PROJECT + IT_ENABLE_HG + IT_WITH_TZDATA_DIR + ++IT_WITH_PAX ++AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm]) ++ + AC_PATH_TOOL([HG],[hg]) + if test "x${enable_hg}" = "xyes"; then + if test "x${HG}" = x; then +diff --git a/patches/test_gamma.patch b/patches/test_gamma.patch +new file mode 100644 +index 0000000..7e8d3d6 +--- /dev/null ++++ b/patches/test_gamma.patch +@@ -0,0 +1,47 @@ ++diff -Nru ../openjdk.orig/openjdk/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile ++--- ../openjdk.orig/openjdk/hotspot/make/linux/Makefile 2009-10-30 17:37:07.000000000 +0000 +++++ openjdk/hotspot/make/linux/Makefile 2009-10-30 17:45:40.000000000 +0000 ++@@ -287,42 +287,36 @@ ++ ++ $(TARGETS_C2): $(SUBDIRS_C2) ++ cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) ++- cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma ++ ifdef INSTALL ++ cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install ++ endif ++ ++ $(TARGETS_TIERED): $(SUBDIRS_TIERED) ++ cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) ++- cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma ++ ifdef INSTALL ++ cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install ++ endif ++ ++ $(TARGETS_C1): $(SUBDIRS_C1) ++ cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) ++- cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma ++ ifdef INSTALL ++ cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install ++ endif ++ ++ $(TARGETS_CORE): $(SUBDIRS_CORE) ++ cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) ++- cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma ++ ifdef INSTALL ++ cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install ++ endif ++ ++ $(TARGETS_ZERO): $(SUBDIRS_ZERO) ++ cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) ++- cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma ++ ifdef INSTALL ++ cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install ++ endif ++ ++ $(TARGETS_SHARK): $(SUBDIRS_SHARK) ++ cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) ++- cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma ++ ifdef INSTALL ++ cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install ++ endif ++ +diff --git a/pax-mark-vm.in b/pax-mark-vm.in +new file mode 100644 +index 0000000..118bb61 +--- /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/files/icedtea-7.2.0_separate_shark_target.patch b/dev-java/icedtea/files/icedtea-7.2.0_separate_shark_target.patch new file mode 100644 index 0000000..5e0c41f --- /dev/null +++ b/dev-java/icedtea/files/icedtea-7.2.0_separate_shark_target.patch @@ -0,0 +1,178 @@ +Author: Ralph Sennhauser + +Split out add-shark target. + +This way the shark build will end up in shark instead of zero and java -zero +will work as expected. Ie. allows for easier setup of per app vm preferences +if desired. Also removes a bunch of conditionals which will simplify writing +jvm.cfg correctly without a full rebuild. + +diff --git a/Makefile.am b/Makefile.am +index 129edf2..fc4cc20 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1740,7 +1740,7 @@ clean-icedtea: + rm -f stamps/icedtea.stamp stamps/icedtea-debug.stamp + + stamps/icedtea-stage2.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp \ +- stamps/add-zero.stamp stamps/add-jamvm.stamp ++ stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/add-shark.stamp + mkdir -p stamps + touch $@ + +@@ -1748,7 +1748,8 @@ clean-icedtea-stage2: clean-add-jamvm + rm -f stamps/icedtea-stage2.stamp + + stamps/icedtea-debug-stage2.stamp: stamps/icedtea-debug.stamp \ +- stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp ++ stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp \ ++ stamps/add-shark-debug.stamp + mkdir -p stamps + touch $@ + +@@ -2060,12 +2061,7 @@ clean-add-cacao-debug: + CONFIGURE_ARGS = @CONFIGURE_ARGS@ + ADD_ZERO_CONFIGURE_ARGS = \ + --with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \ +- --disable-bootstrap --enable-zero +-if ADD_SHARK_BUILD +-ADD_ZERO_CONFIGURE_ARGS += \ +- --enable-shark +-endif +-ADD_ZERO_CONFIGURE_ARGS += \ ++ --disable-bootstrap --enable-zero \ + --disable-docs \ + $(filter-out '--with-jdk-home=% '--with-ecj=% \ + '--with-java=% '--with-javah=% \ +@@ -2096,32 +2092,20 @@ if ADD_ZERO_BUILD + $(ADD_ZERO_EXTRA_BUILD_ENV) \ + $(ARCH_PREFIX) $(MAKE) -C zerovm ICEDTEA_BUILD_TARGET=hotspot icedtea-stage2 + +-if ZERO_BUILD +- mkdir -p $(BUILD_JRE_ARCH_DIR)/shark +- cp -a zerovm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ +- $(BUILD_JRE_ARCH_DIR)/shark/ +- printf -- '-shark KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +- printf -- '-zero ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +-else + mkdir -p $(BUILD_JRE_ARCH_DIR)/zero + cp -a zerovm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ + $(BUILD_JRE_ARCH_DIR)/zero/ + printf -- '-zero KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +- printf -- '-shark ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +-endif + else + printf -- '-zero ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg +- printf -- '-shark ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg + endif + touch $@ + + clean-add-zero: + rm -rf $(BUILD_JRE_ARCH_DIR)/zero +- rm -rf $(BUILD_JRE_ARCH_DIR)/shark + rm -rf zerovm + if [ -e $(BUILD_JRE_ARCH_DIR)/jvm.cfg ] ; then \ + sed -i 's#-zero KNOWN#-zero ERROR#' $(BUILD_JRE_ARCH_DIR)/jvm.cfg ; \ +- sed -i 's#-shark KNOWN#-shark ERROR#' $(BUILD_JRE_ARCH_DIR)/jvm.cfg ; \ + fi + rm -f stamps/add-zero.stamp + +@@ -2137,33 +2121,88 @@ if ADD_ZERO_BUILD + $(ADD_ZERO_EXTRA_BUILD_ENV) \ + $(ARCH_PREFIX) $(MAKE) -C zerovm ICEDTEA_DEBUG_BUILD_TARGET=hotspot icedtea-stage2 + +-if ZERO_BUILD +- mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/shark +- cp -a zerovm/$(BUILD_OUTPUT_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ +- $(BUILD_DEBUG_JRE_ARCH_DIR)/shark/ +- printf -- '-shark KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg +-else + mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/zero + cp -a zerovm/$(BUILD_OUTPUT_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ + $(BUILD_DEBUG_JRE_ARCH_DIR)/zero/ + printf -- '-zero KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg +-endif + else + printf -- '-zero ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg +- printf -- '-shark ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg + endif + touch $@ + + clean-add-zero-debug: + rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/zero +- rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/shark + rm -rf zerovm + if [ -e $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ] ; then \ + sed -i 's#-zero KNOWN#-zero ERROR#' $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ; \ +- sed -i 's#-shark KNOWN#-shark ERROR#' $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ; \ + fi + rm -f stamps/add-zero-debug.stamp + ++ADD_SHARK_CONFIGURE_ARGS = \ ++ $(ADD_ZERO_CONFIGURE_ARGS) \ ++ --enable-shark ++ ++ADD_SHARK_EXTRA_BUILD_ENV = \ ++ $(ADD_ZERO_EXTRA_BUILD_ENV) ++ ++stamps/add-shark.stamp: stamps/icedtea.stamp ++ mkdir -p stamps ++if ADD_SHARK_BUILD ++ mkdir -p sharkvm ++ ++ cd sharkvm && \ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(abs_top_srcdir)/configure $(ADD_SHARK_CONFIGURE_ARGS) ++ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(MAKE) -C sharkvm ICEDTEA_BUILD_TARGET=hotspot icedtea-stage2 ++ ++ mkdir -p $(BUILD_JRE_ARCH_DIR)/shark ++ cp -a sharkvm/$(BUILD_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ ++ $(BUILD_JRE_ARCH_DIR)/shark/ ++ printf -- '-shark KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg ++else ++ printf -- '-shark ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg ++endif ++ touch $@ ++ ++clean-add-shark: ++ rm -rf $(BUILD_JRE_ARCH_DIR)/shark ++ rm -rf sharkvm ++ if [ -e $(BUILD_JRE_ARCH_DIR)/jvm.cfg ] ; then \ ++ sed -i 's#-shark KNOWN#-shark ERROR#' $(BUILD_JRE_ARCH_DIR)/jvm.cfg ; \ ++ fi ++ rm -f stamps/add-shark.stamp ++ ++stamps/add-shark-debug.stamp: stamps/icedtea-debug.stamp ++ mkdir -p stamps ++if ADD_SHARK_BUILD ++ mkdir -p sharkvm ++ ++ cd sharkvm && \ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(abs_top_srcdir)/configure $(ADD_SHARK_CONFIGURE_ARGS) ++ ++ $(ADD_SHARK_EXTRA_BUILD_ENV) \ ++ $(ARCH_PREFIX) $(MAKE) -C sharkvm ICEDTEA_DEBUG_BUILD_TARGET=hotspot icedtea-stage2 ++ ++ mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/shark ++ cp -a sharkvm/$(BUILD_OUTPUT_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ ++ $(BUILD_DEBUG_JRE_ARCH_DIR)/shark/ ++ printf -- '-shark KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ++else ++ printf -- '-shark ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ++endif ++ touch $@ ++ ++clean-add-shark-debug: ++ rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/shark ++ rm -rf sharkvm ++ if [ -e $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ] ; then \ ++ sed -i 's#-shark KNOWN#-shark ERROR#' $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg ; \ ++ fi ++ rm -f stamps/add-shark-debug.stamp ++ + # end additional VMs + + # jtreg diff --git a/dev-java/icedtea/files/icedtea-7.2.0_shark_jvm_rpath.patch b/dev-java/icedtea/files/icedtea-7.2.0_shark_jvm_rpath.patch new file mode 100644 index 0000000..3dd2f82 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-7.2.0_shark_jvm_rpath.patch @@ -0,0 +1,16 @@ +Author: Ralph Sennhauser + +The llvm libdir isn't in the default search path on Gentoo. Adding path explicitely. + +diff --git a/configure.ac b/configure.ac +index e0b866b..4a10cf3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -405,6 +405,7 @@ if test "x${SHARK_BUILD_TRUE}" = x || test "x${ADD_SHARK_BUILD_TRUE}" = x; then + LLVM_LDFLAGS="$LLVM_LDFLAGS$flag" + fi + done ++ LLVM_LDFLAGS="$LLVM_LDFLAGS -Wl,-rpath,$($LLVM_CONFIG --libdir)" + dnl LLVM_LIBS + LIBS_SAVED=$LIBS + LDFLAGS_SAVED=$LDFLAGS diff --git a/dev-java/icedtea/files/icedtea-7.2.0_shark_llvm_flags.patch b/dev-java/icedtea/files/icedtea-7.2.0_shark_llvm_flags.patch new file mode 100644 index 0000000..d5ce75a --- /dev/null +++ b/dev-java/icedtea/files/icedtea-7.2.0_shark_llvm_flags.patch @@ -0,0 +1,38 @@ +Author: Ralph Sennhauser + +This was fixed in openjdk6, this is a partial forward port of +http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=639 + +diff --git a/Makefile.am b/Makefile.am +index 129edf2..d77ac42 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -233,7 +233,8 @@ REWRITER_SRCS = $(top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java + + # Patch list + +-ICEDTEA_PATCHES = ++ICEDTEA_PATCHES = \ ++ patches/shark-llvm-flags.patch + + # Conditional patches + +diff --git a/patches/shark-llvm-flags.patch b/patches/shark-llvm-flags.patch +new file mode 100644 +index 0000000..3efcf7e +--- /dev/null ++++ b/patches/shark-llvm-flags.patch +@@ -0,0 +1,13 @@ ++--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2011-02-22 16:51:24.000000000 +0000 +++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2011-02-24 03:01:36.000000000 +0000 ++@@ -52,6 +52,10 @@ ++ LAUNCHER.o = launcher.o ++ LFLAGS_LAUNCHER += -L `pwd` ++ LIBS_LAUNCHER += -l$(JVM) $(LIBS) +++ ifeq ($(SHARK_BUILD), true) +++ LFLAGS_LAUNCHER += $(LLVM_LDFLAGS) +++ LIBS_LAUNCHER += $(LLVM_LIBS) +++ endif ++ endif ++ ++ LINK_LAUNCHER = $(LINK.c) diff --git a/dev-java/icedtea/files/icedtea.env b/dev-java/icedtea/files/icedtea.env new file mode 100644 index 0000000..2381b03 --- /dev/null +++ b/dev-java/icedtea/files/icedtea.env @@ -0,0 +1,18 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea/files/icedtea.env,v 1.3 2011/11/28 15:29:59 sera Exp $ + +VERSION="IcedTea JDK @PV@" +JAVA_HOME="@GENTOO_PORTAGE_EPREFIX@/usr/@LIBDIR@/icedtea@SLOT@" +JDK_HOME="@GENTOO_PORTAGE_EPREFIX@/usr/@LIBDIR@/icedtea@SLOT@" +JAVAC="${JAVA_HOME}/bin/javac" +PATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin" +ROOTPATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin" +LDPATH="${JAVA_HOME}/jre/lib/@PLATFORM@/:${JAVA_HOME}/jre/lib/@PLATFORM@/native_threads/:${JAVA_HOME}/jre/lib/@PLATFORM@/xawt/:${JAVA_HOME}/jre/lib/@PLATFORM@/server/" +MANPATH="@GENTOO_PORTAGE_EPREFIX@/usr/@LIBDIR@/icedtea@SLOT@/man" +PROVIDES_TYPE="JDK JRE" +PROVIDES_VERSION="1.@SLOT@" +# Taken from sun.boot.class.path property +BOOTCLASSPATH="${JAVA_HOME}/jre/lib/resources.jar:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/jre/lib/jsse.jar:${JAVA_HOME}/jre/lib/jce.jar:${JAVA_HOME}/jre/lib/charsets.jar" +GENERATION="2" +ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH" 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 0000000..227f30a --- /dev/null +++ b/dev-java/icedtea/icedtea-6.1.10.5.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.10.4-r3.ebuild,v 1.1 2011/12/02 12:27:17 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="4549072ab2de.tar.gz" # 30 Aug 2011 +JAMVM_TARBALL="jamvm-310c491ddc14e92a6ffff27030a1a1821e6395a8.tar.gz" # 26 Sep 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} ) + 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="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 -zero" + +# 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" + +# virtual/libffi is needed for Zero +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 ) + zero? ( virtual/libffi ) + !amd64? ( !sparc? ( !x86? ( virtual/libffi ) ) )" + +# 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 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="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 + mkdir "${S}" || die +} + +java_prepare() { + # icedtea doesn't like some locales. #330433 #389717 + export LANG="C" LC_ALL="C" +} + +src_configure() { + local config bootstrap extra_vms + 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" + build_bootstrap_jdk=yes + + # 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-jamvm --with-jamvm-src-zip=${DISTDIR}/${JAMVM_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_SOURCE="../${ICEDTEA_PKG}" 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) +} + +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 "${WORKDIR}"/${ICEDTEA_PKG}/{README,NEWS,AUTHORS,THANKYOU} + dosym /usr/share/doc/${PF} /usr/share/doc/${PN}${SLOT} + + cd openjdk.build/j2sdk-image || 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 + + # 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" +} + +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 new file mode 100644 index 0000000..e22527b --- /dev/null +++ b/dev-java/icedtea/metadata.xml @@ -0,0 +1,33 @@ + + + +java + + gnu_andrew@member.fsf.org + Andrew John Hughes + Proxy Maintainer + + + caster@gentoo.org + Vlastimil Babka + Committer (CC me) + +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. + + Build additionally the CACAO virtual machine. + Use the new version of HotSpot (16). + Use the new version of HotSpot (19). + Use the new version of HotSpot (20). + Build additionally the JamVM virtual machine. + If possible, recompile the final IcedTea executables with itself. + Enable backport of NIO2 to OpenJDK6. + Enable NSS security provider support. + Enable browser plugin (NPPlugin), requires also the webstart flag to be enabled. + Apply patch needed for pax enabled kernels. + Build additionally the Shark virtual machine. + Enable SystemTap probes in HotSpot. + Enable Web Start support (via NetX). + Enable support for using XRender with the AWT libraries. + Build additionally the Zero virtual machine. + +