summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/eclipse-ecj/ChangeLog356
-rw-r--r--dev-java/eclipse-ecj/Manifest15
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild86
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild92
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild103
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild103
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild103
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild103
-rw-r--r--dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch509
-rw-r--r--dev-java/eclipse-ecj/metadata.xml15
10 files changed, 1485 insertions, 0 deletions
diff --git a/dev-java/eclipse-ecj/ChangeLog b/dev-java/eclipse-ecj/ChangeLog
new file mode 100644
index 00000000..46c94dd4
--- /dev/null
+++ b/dev-java/eclipse-ecj/ChangeLog
@@ -0,0 +1,356 @@
+# ChangeLog for dev-java/eclipse-ecj
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/ChangeLog,v 1.81 2012/03/12 15:13:26 ranger Exp $
+
+ 12 Mar 2012; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.7.1.ebuild:
+ Marking eclipse-ecj-3.7.1 ppc64 for bug 392391
+
+ 10 Mar 2012; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.7.1.ebuild:
+ Marking eclipse-ecj-3.7.1 ppc for bug 392391
+
+*eclipse-ecj-3.7.2 (03 Mar 2012)
+
+ 03 Mar 2012; Vlastimil Babka <caster@gentoo.org> +eclipse-ecj-3.7.2.ebuild:
+ Version bump.
+
+ 31 Dec 2011; Ralph Sennhauser <sera@gentoo.org> eclipse-ecj-3.3.0-r3.ebuild,
+ eclipse-ecj-3.4-r4.ebuild:
+ Drop ia64 support #345433
+
+ 14 Dec 2011; Ralph Sennhauser <sera@gentoo.org> +eclipse-ecj-3.3.0-r3.ebuild:
+ Restore for now, forcing jdk < 1.7
+
+ 14 Dec 2011; Agostino Sarubbo <ago@gentoo.org> eclipse-ecj-3.7.1.ebuild:
+ Stable for AMD64, wrt bug #392391
+
+ 14 Dec 2011; Ralph Sennhauser <sera@gentoo.org> -eclipse-ecj-3.3.0-r3.ebuild:
+ Remove old, failes to build with Java 7.
+
+ 14 Dec 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org>
+ eclipse-ecj-3.7.1.ebuild:
+ x86 stable wrt bug #392391
+
+*eclipse-ecj-3.7.1 (19 Oct 2011)
+
+ 19 Oct 2011; Miroslav Šulc <fordfrog@gentoo.org> +eclipse-ecj-3.7.1.ebuild:
+ Added version 3.7 (bug #380165, thanks William L. Thomson Jr.
+ <wlt@obsidian-studios.com> for the ebuild)
+
+ 19 Oct 2011; Miroslav Šulc <fordfrog@gentoo.org> -eclipse-ecj-3.5.1.ebuild,
+ eclipse-ecj-3.5.2.ebuild, eclipse-ecj-3.6.ebuild:
+ Fixed links to source files (bug #382511, thanks to Sebastián Magrí
+ <sebasmagri@gmail.com> for the links), and removed old version
+
+*eclipse-ecj-3.6 (21 Dec 2010)
+
+ 21 Dec 2010; Alistair Bush <ali_bush@gentoo.org> +eclipse-ecj-3.6.ebuild:
+ Version Bump.
+
+ 05 Nov 2010; Mark Loeser <halcy0n@gentoo.org> eclipse-ecj-3.5.2.ebuild:
+ Stable for ppc64; bug #316293
+
+ 14 Oct 2010; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.5.2.ebuild:
+ Marking eclipse-ecj-3.5.2 ppc for bug 316293
+
+ 25 Jun 2010; Christoph Mende <angelos@gentoo.org>
+ eclipse-ecj-3.5.2.ebuild:
+ Stable on amd64 wrt bug #316293
+
+ 21 May 2010; Vlastimil Babka <caster@gentoo.org>
+ eclipse-ecj-3.3.0-r3.ebuild, eclipse-ecj-3.4-r4.ebuild:
+ Change SRC_URI to a live one. Bug #311137.
+
+ 27 Apr 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org>
+ eclipse-ecj-3.5.2.ebuild:
+ x86 stable wrt bug #316293
+
+*eclipse-ecj-3.5.2 (20 Mar 2010)
+
+ 20 Mar 2010; Vlastimil Babka <caster@gentoo.org>
+ +eclipse-ecj-3.5.2.ebuild:
+ Version bump, bug #310415.
+
+ 23 Jan 2010; Alexis Ballier <aballier@gentoo.org>
+ eclipse-ecj-3.5.1.ebuild:
+ depend on findutils only with userland_GNU for bsd userland compatibility,
+ part of bug #214768
+
+ 18 Jan 2010; Markus Meier <maekke@gentoo.org> eclipse-ecj-3.5.1.ebuild:
+ amd64 stable, bug #295678
+
+ 03 Jan 2010; Christian Faulhammer <fauli@gentoo.org>
+ eclipse-ecj-3.3.0-r3.ebuild, eclipse-ecj-3.4-r4.ebuild,
+ eclipse-ecj-3.5.1.ebuild:
+ Transfer Prefix keywords
+
+ 29 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
+ eclipse-ecj-3.5.1.ebuild:
+ stable x86, bug 295678
+
+ 10 Nov 2009; Vlastimil Babka <caster@gentoo.org>
+ -files/compiler-settings-3.2, -eclipse-ecj-3.2.2-r1.ebuild,
+ -files/eclipse-ecj-3.2-build-gentoo.patch:
+ Remove the obsolete 3.2.
+
+*eclipse-ecj-3.5.1 (04 Nov 2009)
+
+ 04 Nov 2009; Vlastimil Babka <caster@gentoo.org>
+ +eclipse-ecj-3.5.1.ebuild, metadata.xml:
+ Version bump. Fixes bug #277998. Instead of java6 flag, it builds most
+ using 1.4 bytecode and only 1.6 specific parts with 1.6 bytecode, as
+ upstream does. Adds local USE flag 'ant' enabled by default, which pulls
+ the Ant adapter in PDEPEND.
+
+ 04 Nov 2009; Vlastimil Babka <caster@gentoo.org>
+ -eclipse-ecj-3.2.2.ebuild, -files/ecj-3.3, -eclipse-ecj-3.3.0-r2.ebuild,
+ -eclipse-ecj-3.4-r3.ebuild:
+ Remove old.
+
+ 05 Sep 2009; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.3.0-r3.ebuild:
+ Marking eclipse-ecj-3.3.0-r3 ppc64 for bug 249521
+
+ 18 Mar 2009; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.4-r4.ebuild:
+ Marking eclipse-ecj-3.4-r4 ppc for bug 237689
+
+ 15 Mar 2009; Markus Meier <maekke@gentoo.org> eclipse-ecj-3.4-r4.ebuild:
+ amd64/x86 stable, bug #237689
+
+ 15 Mar 2009; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.4-r4.ebuild:
+ Marking eclipse-ecj-3.4-r4 ppc64 for bug 237689
+
+*eclipse-ecj-3.4-r4 (13 Feb 2009)
+
+ 13 Feb 2009; Jean-Noël Rivasseau <elvanor@gentoo.org> -files/ecj-3.4,
+ +eclipse-ecj-3.4-r4.ebuild:
+ Bump to fix #237689 by actually removing support for gcj. gcj support is
+ still available in the overlay.
+
+ 11 Feb 2009; Jean-Noël Rivasseau <elvanor@gentoo.org>
+ eclipse-ecj-3.3.0-r2.ebuild, eclipse-ecj-3.3.0-r3.ebuild,
+ eclipse-ecj-3.4-r3.ebuild:
+ Fixed bug #235410.
+
+ 19 Jan 2009; Petteri Räty <betelgeuse@gentoo.org>
+ eclipse-ecj-3.4-r3.ebuild:
+ Add app-arch/unzip to DEPEND.
+
+ 19 Jan 2009; Petteri Räty <betelgeuse@gentoo.org>
+ -eclipse-ecj-3.4-r2.ebuild:
+ Remove old ebuild.
+
+ 20 Dec 2008; Markus Meier <maekke@gentoo.org> eclipse-ecj-3.2.2-r1.ebuild,
+ eclipse-ecj-3.3.0-r3.ebuild:
+ amd64/x86 stable, bug #249521
+
+ 06 Dec 2008; nixnut <nixnut@gentoo.org> eclipse-ecj-3.2.2-r1.ebuild,
+ eclipse-ecj-3.3.0-r3.ebuild:
+ Stable on ppc wrt bug 249521
+
+*eclipse-ecj-3.4-r3 (27 Sep 2008)
+
+ 27 Sep 2008; Petteri Räty <betelgeuse@gentoo.org>
+ +eclipse-ecj-3.4-r3.ebuild:
+ Use EAPI 2 use dependencies for gcj.
+
+ 27 Sep 2008; Petteri Räty <betelgeuse@gentoo.org>
+ eclipse-ecj-3.4-r2.ebuild:
+ Make gcj support work with stable gcc.
+
+ 17 Sep 2008; Vlastimil Babka <caster@gentoo.org>
+ eclipse-ecj-3.4-r2.ebuild:
+ Don't restrict gcc dependency.
+
+*eclipse-ecj-3.4-r2 (01 Aug 2008)
+
+ 01 Aug 2008; Jean-Noël Rivasseau <elvanor@gentoo.org> +files/ecj-3.4,
+ +eclipse-ecj-3.4-r2.ebuild:
+ Bumping eclipse-ecj-3.4, moving from overlay to tree.
+
+*eclipse-ecj-3.3.0-r3 (21 Jul 2008)
+*eclipse-ecj-3.2.2-r1 (21 Jul 2008)
+
+ 21 Jul 2008; Petteri Räty <betelgeuse@gentoo.org>
+ +eclipse-ecj-3.2.2-r1.ebuild, +eclipse-ecj-3.3.0-r3.ebuild:
+ Add app-admin/eselect-ecj support.
+
+ 21 Jul 2008; Petteri Räty <betelgeuse@gentoo.org>
+ -eclipse-ecj-3.2.ebuild, -eclipse-ecj-3.3.0-r1.ebuild:
+ Remove old ebuilds.
+
+ 07 Apr 2008; Kenneth Prugh <ken69267@gentoo.org> eclipse-ecj-3.2.2.ebuild:
+ amd64 stable, bug #212643
+
+ 22 Mar 2008; Markus Meier <maekke@gentoo.org> eclipse-ecj-3.3.0-r2.ebuild:
+ amd64 stable, bug #204484
+
+ 11 Mar 2008; Brent Baude <ranger@gentoo.org> eclipse-ecj-3.2.2.ebuild:
+ stable ppc64, bug 212643
+
+ 08 Mar 2008; Krzysiek Pawlik <nelchael@gentoo.org>
+ eclipse-ecj-3.2.2.ebuild:
+ Stable on ppc, see bug #212643.
+
+ 08 Mar 2008; Markus Meier <maekke@gentoo.org> eclipse-ecj-3.2.2.ebuild:
+ x86 stable, bug #212643
+
+ 11 Feb 2008; Brent Baude <ranger@gentoo.org> ChangeLog:
+ Marking eclipse-ecj-3.3.0-r2 ppc64 for bug 204484
+
+ 05 Feb 2008; Markus Rothe <corsair@gentoo.org>
+ eclipse-ecj-3.3.0-r2.ebuild:
+ Stable on ppc64
+
+ 24 Jan 2008; nixnut <nixnut@gentoo.org> eclipse-ecj-3.3.0-r2.ebuild:
+ Stable on ppc wrt bug 204484
+
+ 23 Jan 2008; Raúl Porcel <armin76@gentoo.org>
+ eclipse-ecj-3.3.0-r2.ebuild:
+ Re-add ~ia64 wrt #204484
+
+ 23 Jan 2008; Christian Faulhammer <opfer@gentoo.org>
+ eclipse-ecj-3.3.0-r2.ebuild:
+ stable x86, bug 204484
+
+*eclipse-ecj-3.3.0-r2 (23 Jan 2008)
+
+ 23 Jan 2008; Vlastimil Babka <caster@gentoo.org>
+ +eclipse-ecj-3.3.0-r2.ebuild:
+ Revbump to inherit proper eclass, fixed bug #207000.
+
+ 06 Jan 2008; Vlastimil Babka <caster@gentoo.org>
+ -files/compiler-settings-3.1, -eclipse-ecj-3.1-r13.ebuild:
+ Removing ecj-3.1 - old, and does not work correctly with 1.6 JDK and ant 1.7.0.
+
+ 05 Jan 2008; Petteri Räty <betelgeuse@gentoo.org>
+ -eclipse-ecj-3.3.0.ebuild:
+ Delete old revision.
+
+ 01 Dec 2007; Markus Rothe <corsair@gentoo.org>
+ eclipse-ecj-3.3.0-r1.ebuild:
+ Stable on ppc64
+
+ 27 Oct 2007; Krzysiek Pawlik <nelchael@gentoo.org>
+ eclipse-ecj-3.3.0-r1.ebuild:
+ Stable on ppc.
+
+ 17 Oct 2007; Markus Rothe <corsair@gentoo.org>
+ eclipse-ecj-3.3.0-r1.ebuild:
+ Added ~ppc64; bug #191729
+
+ 12 Oct 2007; Roy Marples <uberlord@gentoo.org> eclipse-ecj-3.3.0.ebuild,
+ eclipse-ecj-3.3.0-r1.ebuild:
+ Added ~x86-fbsd keyword back - don't drop it again! #191729
+
+ 12 Oct 2007; Christian Faulhammer <opfer@gentoo.org>
+ eclipse-ecj-3.3.0-r1.ebuild:
+ stable x86, security bug 195571
+
+ 12 Oct 2007; William L. Thomson Jr. <wltjr@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild,
+ eclipse-ecj-3.2.2.ebuild, eclipse-ecj-3.3.0.ebuild,
+ eclipse-ecj-3.3.0-r1.ebuild:
+ QA fixed copyright, added quotes.
+
+ 12 Oct 2007; William L. Thomson Jr. <wltjr@gentoo.org>
+ eclipse-ecj-3.3.0-r1.ebuild:
+ amd64 stable, bug #195571.
+
+*eclipse-ecj-3.3.0-r1 (07 Sep 2007)
+
+ 07 Sep 2007; Petteri Räty <betelgeuse@gentoo.org>
+ +eclipse-ecj-3.3.0-r1.ebuild:
+ Use java-pkg_dolauncher instead of the hand written wrapper script.
+
+*eclipse-ecj-3.3.0 (27 Jul 2007)
+
+ 27 Jul 2007; Joshua Nichols <nichoj@gentoo.org> +files/ecj-3.3,
+ +files/eclipse-ecj-3.3.0-gcj.patch, +eclipse-ecj-3.3.0.ebuild:
+ Version bump imported from gcj-overlay.
+
+ 08 May 2007; Raúl Porcel <armin76@gentoo.org> eclipse-ecj-3.2.2.ebuild:
+ Add ~ia64 wrt #177466
+
+*eclipse-ecj-3.2.2 (25 Apr 2007)
+
+ 25 Apr 2007; Vlastimil Babka <caster@gentoo.org>
+ +eclipse-ecj-3.2.2.ebuild:
+ Version bump, bug #168806.
+
+ 25 Apr 2007; Petteri Räty <betelgeuse@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild:
+ Add dev-java/ant-core to RDEPEND and use java-pkg_dojavadoc.
+
+ 08 Mar 2007; Petteri Räty <betelgeuse@gentoo.org>
+ files/eclipse-ecj-3.2-build-gentoo.patch, -eclipse-ecj-3.1-r2.ebuild:
+ Remove old revision and fix javadoc installation for 3.2.
+
+ 09 Dec 2006; Diego Pettenò <flameeyes@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild:
+ Add ~x86-fbsd keyword.
+
+ 07 Dec 2006; Diego Pettenò <flameeyes@gentoo.org> eclipse-ecj-3.2.ebuild:
+ Add ~x86-fbsd keyword.
+
+ 15 Oct 2006; Tobias Scherbaum <dertobi123@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild:
+ ppc stable. bug #147254
+
+ 14 Oct 2006; Joshua Nichols <nichoj@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild:
+ Stabilizing on amd64 as part of new Java system, bug #147254.
+
+ 14 Oct 2006; Joshua Jackson <tsunam@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild, eclipse-ecj-3.2.ebuild:
+ New java stable on x86; bug #147254
+
+ 14 Sep 2006; Joshua Nichols <nichoj@gentoo.org> metadata.xml,
+ eclipse-ecj-3.1-r2.ebuild, eclipse-ecj-3.1-r13.ebuild,
+ eclipse-ecj-3.2.ebuild:
+ Added ~ppc64. Moved SRC_URI to Gentoo mirrors. Other minor whitespace cleanups.
+
+*eclipse-ecj-3.2 (10 Aug 2006)
+
+ 10 Aug 2006; Joshua Nichols <nichoj@gentoo.org>
+ +files/compiler-settings-3.2, +files/eclipse-ecj-3.2-build-gentoo.patch,
+ +eclipse-ecj-3.2.ebuild:
+ Version bump, thanks to Caster.
+
+ 07 Aug 2006; Krzysiek Pawlik <nelchael@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild:
+ Added classpath.
+
+ 22 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org>
+ eclipse-ecj-3.1-r13.ebuild:
+ Added ~ppc, bug #105223
+
+ 25 Jun 2006; <nichoj@gentoo.org> +files/compiler-settings-3.1:
+ Revision bump to add support for new Java system.
+
+ 10 Mar 2006; Markus Rothe <corsair@gentoo.org> eclipse-ecj-3.1-r2.ebuild:
+ Added ~ppc64; bug #125715
+
+ 24 Dec 2005; Thomas Matthijs <axxo@gentoo.org> -eclipse-ecj-3.1.ebuild:
+ remove
+
+ 18 Dec 2005; Joshua Nichols <nichoj@gentoo.org> eclipse-ecj-3.1-r2.ebuild:
+ Added ~amd64 keyword.
+
+*eclipse-ecj-3.1-r2 (04 Sep 2005)
+
+ 04 Sep 2005; Karl Trygve Kalleberg <karltk@gentoo.org>
+ +eclipse-ecj-3.1-r2.ebuild:
+ Added updates from Joshua. Also forgot to mention that this stuff is
+ inspired by the of work Scott Carr <scarr@progbits.com> over at #80526.
+
+*eclipse-ecj-3.1 (24 Aug 2005)
+
+ 24 Aug 2005; Karl Trygve Kalleberg <karltk@gentoo.org>
+ +eclipse-ecj-3.1.ebuild:
+ Initial import. The source snapshot was ripped straight out of
+ plugins/org.eclipse.jdt.core from the 3.1 zipfile. Note that the
+ directory layout has changed a bit; I don't maintain separate
+ batch and compiler directories. Our layout looks exactly like the
+ one used for the bootstrap compiler in jdtcoresrc/.
+
+
+
diff --git a/dev-java/eclipse-ecj/Manifest b/dev-java/eclipse-ecj/Manifest
new file mode 100644
index 00000000..fb1ec4f9
--- /dev/null
+++ b/dev-java/eclipse-ecj/Manifest
@@ -0,0 +1,15 @@
+AUX eclipse-ecj-3.3.0-gcj.patch 20084 RMD160 08944cef146676d9d7fddc46727bc172d75cdcb5 SHA1 900ccaaec2db0012defc016c65088f979a35e145 SHA256 6c5ffcefdc385305f01b63fcb7088b04698b5d1b8d9db54d058ffcf2252460e8
+DIST ecjsrc-3.4.zip 1280774 RMD160 8d12a84b9ff2b8df252bdc06309558559ce91d2e SHA1 dbf3300205717c165a1b1ec36af4c3fd1e45888b SHA256 a6ce5f0682462e85e5e47229e5b16555f74c60188fa0bb17536beb1138c537b4
+DIST ecjsrc-3.5.2.zip 1298691 RMD160 f6dc987418682dd9d776a692383a37497656fc04 SHA1 7d79ac9602ffa825f6f3ea8ab5a3387b687f5215 SHA256 4ae91449962b1e2781b70713e299f9fa16fb1ce25a4d2bb335c13b55c08d6d74
+DIST ecjsrc-3.6.zip 1310484 RMD160 82d9980aa4e6be1014d1bac396cceb2ab304cee3 SHA1 9bfda69c7c8528ecfe1b6cbcbe976b642069ca9c SHA256 bc2d624c5ca135d593c71a677674509f5801998ffe98c386749d15a46ee69242
+DIST ecjsrc-3.7.1.jar 1365199 RMD160 bc6c18ad68544b2a3071e769fe395633db232793 SHA1 fcf9751ba022c340e2d01456462ea4949ceee991 SHA256 d8567a5de289b750dd9853654aeb941a8e48766b1d7ae80803c71d1f47fbe9b4
+DIST ecjsrc-3.7.2.jar 1366333 RMD160 628827d9bed955078db412976204fc785cf2f882 SHA1 75d8b5b90ff3bac912e06aa94f0f09fe5bc81c7a SHA256 755d871c3066f15cfaf5ea84075527eb97c92f9685058c3a326057e797f69e6b
+DIST ecjsrc.zip 1215250 RMD160 938320ae54050e322bbb98c78b0e86d241862153 SHA1 e08a27fd77e5ac7af8f2c84beed175cd3fdd0c60 SHA256 f41194a9580023afd11d18b82f6815b064af83c4f9ca407a40cd8d960bd112cc
+EBUILD eclipse-ecj-3.3.0-r3.ebuild 2161 RMD160 7369ef82fdbb3bbd971cc541542d52a8c93e5796 SHA1 2f45a9cef2ad8a366f096bf1436b662edf9582e0 SHA256 6e76a6d5637af3796ba42b4e21c7fc905c2f5767bdc4635c8b8102b6f1d03c86
+EBUILD eclipse-ecj-3.4-r4.ebuild 2307 RMD160 e5c2e4482ba2cae562b18e123f54c61a73fcdbae SHA1 daa812c16a3fd668fe74622c9dc3a1663d60532d SHA256 dd93f38e418fe26939827a11f492160711194c0a0124b812dc39899fbf4819ff
+EBUILD eclipse-ecj-3.5.2.ebuild 2859 RMD160 a965480a9882f30c0c40a0da349d7b92f099ad30 SHA1 673fded0a18fef3745b35c46f1ff24ecb073d89c SHA256 b5199a992363c21a021e09dd90fc6d678278fb0dcc0c1ac94ad7c08875c4b25f
+EBUILD eclipse-ecj-3.6.ebuild 2860 RMD160 b44c1a2fe200a93523badb273b0c0c152a69c448 SHA1 1fab52ebac83928f2b9e83054668d1a49c650fb6 SHA256 0032e352917a487115d31ea1d6088a1ab6a4b9e5d58317e26a4b9c830ff82b54
+EBUILD eclipse-ecj-3.7.1.ebuild 2859 RMD160 d4ccb1db1ebea781833ad81c40eb597d7cf40737 SHA1 2dbd06fc003b2776d27f81b3ec7227798fd36f6d SHA256 eef28beaebc7318739f494c385974a7f3759f02b1f52782eb307bd26cb92207d
+EBUILD eclipse-ecj-3.7.2.ebuild 2863 RMD160 8c313f1cab4e560f5e754b33e425a491e0929ef6 SHA1 d80a183a0a44e4ec423900d48ecbc002883bd1a4 SHA256 1fabf338b86a38af207a78e161dc97bc40f8ba430ee59ba1cb7bfd4fd9df435a
+MISC ChangeLog 12114 RMD160 0a19a44eda1268512e12d7a3521455868fbc31eb SHA1 6f6e9338c2e0eb26f1ed8c452cc6e360fb20c586 SHA256 fa1c806884e12016ac707a1cc71bf45e9b3e86e56ce13db14a26c1b583938ee4
+MISC metadata.xml 570 RMD160 c3773d8e931a0e7a00eeb494f1f8f68cc1f799ed SHA1 71c2b881dc7b6733567777051b079745f3c2d70a SHA256 dd2a09440442264363911b455040196cbb42763fbacbb135c07b3f0de44a1e3a
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild
new file mode 100644
index 00000000..9e5c9cae
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.3.0-r3.ebuild,v 1.10 2011/12/31 14:25:23 sera Exp $
+
+inherit eutils java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-200706251500"
+S="${WORKDIR}"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://archive.eclipse.org/eclipse/downloads/drops/${DMF/.0}/${MY_PN}src.zip"
+
+LICENSE="EPL-1.0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="3.3"
+IUSE=""
+
+COMMON_DEPEND="app-admin/eselect-ecj"
+RDEPEND=">=virtual/jre-1.4
+ ${COMMON_DEPEND}"
+DEPEND="<virtual/jdk-1.7
+ sys-apps/findutils
+ app-arch/unzip
+ ${COMMON_DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # own package
+ rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
+ rm -fr org/eclipse/jdt/internal/antadapter
+
+ # what the heck...?! java6
+ rm -fr org/eclipse/jdt/internal/compiler/tool/ \
+ org/eclipse/jdt/internal/compiler/apt/
+
+ # gcj feature
+ epatch "${FILESDIR}"/${P}-gcj.patch
+}
+
+src_compile() {
+ local javac="javac" java="java" jar="jar"
+
+ mkdir -p bootstrap
+ cp -pPR org bootstrap
+
+ einfo "bootstrapping ${MY_PN} with javac"
+
+ cd "${S}"/bootstrap
+ ${javac} $(find org/ -name '*.java') || die "${MY_PN} bootstrap failed!"
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' | \
+ xargs ${jar} cf ${MY_PN}.jar
+
+ einfo "build ${MY_PN} with bootstrapped ${MY_PN}"
+
+ cd "${S}"
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main -encoding ISO-8859-1 org \
+ || die "${MY_PN} build failed!"
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' | \
+ xargs ${jar} cf ${MY_PN}.jar
+}
+
+src_install() {
+ java-pkg_dojar ${MY_PN}.jar
+ java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
+ org.eclipse.jdt.internal.compiler.batch.Main
+}
+
+pkg_postinst() {
+ einfo "To get the Compiler Adapter of ECJ for ANT..."
+ einfo " # emerge ant-eclipse-ecj"
+ echo
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild
new file mode 100644
index 00000000..fa7d6c5a
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.4-r4.ebuild,v 1.7 2011/12/31 14:25:23 sera Exp $
+
+EAPI=2
+
+inherit java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-200806172000"
+S="${WORKDIR}"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://archive.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.zip"
+
+IUSE="java6"
+
+LICENSE="EPL-1.0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="3.4"
+
+CDEPEND=">=app-admin/eselect-ecj-0.3"
+
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ !java6? ( >=virtual/jdk-1.4 )
+ java6? ( >=virtual/jdk-1.6 )"
+RDEPEND="${CDEPEND}
+ !java6? ( >=virtual/jre-1.4 )
+ java6? ( >=virtual/jre-1.6 )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}" || die
+
+ # These have their own package.
+ rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die
+ rm -fr org/eclipse/jdt/internal/antadapter || die
+
+ if ! use java6 ; then
+ rm -fr org/eclipse/jdt/internal/compiler/{apt,tool}/ || die
+ fi
+}
+
+src_compile() {
+ local javac_opts javac java jar
+
+ javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1"
+ javac="$(java-config -c)"
+ java="$(java-config -J)"
+ jar="$(java-config -j)"
+
+ mkdir -p bootstrap || die
+ cp -pPR org bootstrap || die
+ cd "${S}/bootstrap" || die
+
+ einfo "bootstrapping ${MY_PN} with ${javac} ..."
+ ${javac} ${javac_opts} $(find org/ -name '*.java') || die
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' |\
+ xargs ${jar} cf ${MY_PN}.jar
+
+ cd "${S}" || die
+ einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..."
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ ${javac_opts} -nowarn org || die
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' |\
+ xargs ${jar} cf ${MY_PN}.jar
+}
+
+src_install() {
+
+ java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
+ org.eclipse.jdt.internal.compiler.batch.Main
+
+ java-pkg_dojar ${MY_PN}.jar
+}
+
+pkg_postinst() {
+ einfo "To get the Compiler Adapter of ECJ for ANT..."
+ einfo " # emerge ant-eclipse-ecj"
+ echo
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild
new file mode 100644
index 00000000..e1808a7a
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.5.2.ebuild,v 1.7 2011/10/19 20:09:46 mr_bones_ Exp $
+
+EAPI=2
+
+inherit java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-201002111343"
+S="${WORKDIR}"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://archive.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.zip"
+
+IUSE="+ant userland_GNU"
+
+LICENSE="EPL-1.0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="3.5"
+
+CDEPEND=">=app-admin/eselect-ecj-0.3"
+
+JAVA_PKG_WANT_SOURCE=1.4
+JAVA_PKG_WANT_TARGET=1.4
+
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ >=virtual/jdk-1.6
+ userland_GNU? ( sys-apps/findutils )"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.4"
+PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # These have their own package.
+ rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die
+ rm -fr org/eclipse/jdt/internal/antadapter || die
+
+ # upstream build.xml excludes this
+ rm META-INF/eclipse.inf
+}
+
+src_compile() {
+ local javac_opts javac java jar
+
+ javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1"
+ javac="$(java-config -c)"
+ java="$(java-config -J)"
+ jar="$(java-config -j)"
+
+ find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \
+ -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \
+ -print > sources-1.4
+ find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6
+
+ mkdir -p bootstrap || die
+ cp -pPR org bootstrap || die
+ cd "${S}/bootstrap" || die
+
+ einfo "bootstrapping ${MY_PN} with ${javac} ..."
+ ${javac} ${javac_opts} @../sources-1.4 || die
+ ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+
+ cd "${S}" || die
+ einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..."
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ ${javac_opts} -nowarn @sources-1.4 || die
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+}
+
+src_install() {
+ java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
+ org.eclipse.jdt.internal.compiler.batch.Main
+
+ # disable the class version verify, this has intentionally
+ # some classes with 1.6, but most is 1.4
+ JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild
new file mode 100644
index 00000000..45a4437e
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.6.ebuild,v 1.2 2011/10/19 15:44:02 fordfrog Exp $
+
+EAPI=2
+
+inherit java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-201006080911"
+S="${WORKDIR}"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://archive.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.zip"
+
+IUSE="+ant userland_GNU"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="3.6"
+
+CDEPEND=">=app-admin/eselect-ecj-0.3"
+
+JAVA_PKG_WANT_SOURCE=1.4
+JAVA_PKG_WANT_TARGET=1.4
+
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ >=virtual/jdk-1.6
+ userland_GNU? ( sys-apps/findutils )"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.4"
+PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # These have their own package.
+ rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die
+ rm -fr org/eclipse/jdt/internal/antadapter || die
+
+ # upstream build.xml excludes this
+ rm META-INF/eclipse.inf
+}
+
+src_compile() {
+ local javac_opts javac java jar
+
+ javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1"
+ javac="$(java-config -c)"
+ java="$(java-config -J)"
+ jar="$(java-config -j)"
+
+ find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \
+ -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \
+ -print > sources-1.4
+ find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6
+
+ mkdir -p bootstrap || die
+ cp -pPR org bootstrap || die
+ cd "${S}/bootstrap" || die
+
+ einfo "bootstrapping ${MY_PN} with ${javac} ..."
+ ${javac} ${javac_opts} @../sources-1.4 || die
+ ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+
+ cd "${S}" || die
+ einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..."
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ ${javac_opts} -nowarn @sources-1.4 || die
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+}
+
+src_install() {
+ java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
+ org.eclipse.jdt.internal.compiler.batch.Main
+
+ # disable the class version verify, this has intentionally
+ # some classes with 1.6, but most is 1.4
+ JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild
new file mode 100644
index 00000000..79dfb9ea
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.7.1.ebuild,v 1.5 2012/03/12 15:13:26 ranger Exp $
+
+EAPI="4"
+
+inherit java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-201109091335"
+S="${WORKDIR}"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.jar"
+
+IUSE="+ant userland_GNU"
+
+LICENSE="EPL-1.0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="3.7"
+
+CDEPEND=">=app-admin/eselect-ecj-0.3"
+
+JAVA_PKG_WANT_SOURCE=1.4
+JAVA_PKG_WANT_TARGET=1.4
+
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ >=virtual/jdk-1.6
+ userland_GNU? ( sys-apps/findutils )"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.4"
+PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # These have their own package.
+ rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die
+ rm -fr org/eclipse/jdt/internal/antadapter || die
+
+ # upstream build.xml excludes this
+ rm META-INF/eclipse.inf
+}
+
+src_compile() {
+ local javac_opts javac java jar
+
+ javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1"
+ javac="$(java-config -c)"
+ java="$(java-config -J)"
+ jar="$(java-config -j)"
+
+ find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \
+ -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \
+ -print > sources-1.4
+ find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6
+
+ mkdir -p bootstrap || die
+ cp -pPR org bootstrap || die
+ cd "${S}/bootstrap" || die
+
+ einfo "bootstrapping ${MY_PN} with ${javac} ..."
+ ${javac} ${javac_opts} @../sources-1.4 || die
+ ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+
+ cd "${S}" || die
+ einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..."
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ ${javac_opts} -nowarn @sources-1.4 || die
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+}
+
+src_install() {
+ java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
+ org.eclipse.jdt.internal.compiler.batch.Main
+
+ # disable the class version verify, this has intentionally
+ # some classes with 1.6, but most is 1.4
+ JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild
new file mode 100644
index 00000000..ba569b6e
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/eclipse-ecj-3.7.2.ebuild,v 1.1 2012/03/03 22:15:42 caster Exp $
+
+EAPI="4"
+
+inherit java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-201202080800"
+S="${WORKDIR}"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.jar"
+
+IUSE="+ant userland_GNU"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="3.7"
+
+CDEPEND=">=app-admin/eselect-ecj-0.3"
+
+JAVA_PKG_WANT_SOURCE=1.4
+JAVA_PKG_WANT_TARGET=1.4
+
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ >=virtual/jdk-1.6
+ userland_GNU? ( sys-apps/findutils )"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.4"
+PDEPEND="ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # These have their own package.
+ rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die
+ rm -fr org/eclipse/jdt/internal/antadapter || die
+
+ # upstream build.xml excludes this
+ rm META-INF/eclipse.inf
+}
+
+src_compile() {
+ local javac_opts javac java jar
+
+ javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1"
+ javac="$(java-config -c)"
+ java="$(java-config -J)"
+ jar="$(java-config -j)"
+
+ find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \
+ -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \
+ -print > sources-1.4
+ find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6
+
+ mkdir -p bootstrap || die
+ cp -pPR org bootstrap || die
+ cd "${S}/bootstrap" || die
+
+ einfo "bootstrapping ${MY_PN} with ${javac} ..."
+ ${javac} ${javac_opts} @../sources-1.4 || die
+ ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+
+ cd "${S}" || die
+ einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..."
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ ${javac_opts} -nowarn @sources-1.4 || die
+ ${java} -classpath bootstrap/${MY_PN}.jar \
+ org.eclipse.jdt.internal.compiler.batch.Main \
+ -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die
+
+ find org/ -name '*.class' -o -name '*.properties' -o -name '*.rsc' \
+ | xargs ${jar} cf ${MY_PN}.jar
+}
+
+src_install() {
+ java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
+ org.eclipse.jdt.internal.compiler.batch.Main
+
+ # disable the class version verify, this has intentionally
+ # some classes with 1.6, but most is 1.4
+ JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch b/dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch
new file mode 100644
index 00000000..e87aa4f8
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/eclipse-ecj-3.3.0-gcj.patch
@@ -0,0 +1,509 @@
+--- org/eclipse/jdt/internal/compiler/batch/messages.properties 8 Feb 2007 15:04:43 -0000 1.546.2.23
++++ org/eclipse/jdt/internal/compiler/batch/messages.properties 26 Feb 2007 18:21:06 -0000
+@@ -249,3 +249,8 @@
+ template.restrictedAccess.constructor = The constructor {0} is not accessible due to restriction on classpath entry {1}
+ template.restrictedAccess.field = The field {0} from the type {1} is not accessible due to restriction on classpath entry {2}
+ template.restrictedAccess.method = The method {0} from the type {1} is not accessible due to restriction on classpath entry {2}
++
++# GCCMain messages.
++gcc.zipArg=-fzip-target requires argument
++gcc.zipDepArg=-fzip-dependency requires argument
++gcc.noClasspath=no classpath specified
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ org/eclipse/jdt/internal/compiler/batch/GCCMain.java 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,495 @@
++/**
++ *
++ */
++package org.eclipse.jdt.internal.compiler.batch;
++
++import java.io.BufferedOutputStream;
++import java.io.BufferedReader;
++import java.io.ByteArrayInputStream;
++import java.io.File;
++import java.io.FileOutputStream;
++import java.io.FileReader;
++import java.io.IOException;
++import java.io.InputStreamReader;
++import java.io.OutputStream;
++import java.io.PrintWriter;
++import java.io.UnsupportedEncodingException;
++import java.util.ArrayList;
++import java.util.HashSet;
++import java.util.Iterator;
++import java.util.Map;
++import java.util.StringTokenizer;
++import java.util.zip.CRC32;
++import java.util.zip.ZipEntry;
++import java.util.zip.ZipOutputStream;
++
++import org.eclipse.jdt.core.compiler.InvalidInputException;
++import org.eclipse.jdt.internal.compiler.ClassFile;
++import org.eclipse.jdt.internal.compiler.CompilationResult;
++import org.eclipse.jdt.internal.compiler.env.AccessRule;
++import org.eclipse.jdt.internal.compiler.env.AccessRuleSet;
++import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
++import org.eclipse.jdt.internal.compiler.util.Messages;
++import org.eclipse.jdt.internal.compiler.util.SuffixConstants;
++
++/**
++ * This is an alternate entry point for the command-line compiler which
++ * is simpler to integrate into GCC. In particular the option processing
++ * is more GNU-like and the recognized options are similar to those supported
++ * by other GCC front ends.
++ */
++public class GCCMain extends Main {
++
++ // All the compilation units specified on the command line.
++ private HashSet commandLineCompilationUnits = new HashSet();
++ // True if we are only checking syntax.
++ private boolean syntaxOnly;
++ // If not null, the name of the output zip file.
++ // If null, we are generating class files in the file system,
++ // not a zip file.
++ private String zipDestination;
++ // The zip stream to which we're writing, or null if it hasn't been opened.
++ private ZipOutputStream zipStream;
++
++ // If not null, the name of the zip file to which dependency class files
++ // should be written.
++ private String zipDependencyDestination;
++ // The zip stream to which dependency files should be written.
++ private ZipOutputStream zipDependencyStream;
++
++ public GCCMain(PrintWriter outWriter, PrintWriter errWriter,
++ boolean systemExitWhenFinished) {
++ super(outWriter, errWriter, systemExitWhenFinished);
++ this.logger.setEmacs();
++ }
++
++ public GCCMain(PrintWriter outWriter, PrintWriter errWriter,
++ boolean systemExitWhenFinished, Map customDefaultOptions) {
++ super(outWriter, errWriter, systemExitWhenFinished,
++ customDefaultOptions);
++ this.logger.setEmacs();
++ }
++
++ private void fail(Exception t) {
++ this.logger.logException(t);
++ System.exit(1);
++ }
++
++ public CompilationUnit[] getCompilationUnits() throws InvalidInputException {
++ CompilationUnit[] units = super.getCompilationUnits();
++ for (int i = 0; i < units.length; ++i)
++ this.commandLineCompilationUnits.add(units[i]);
++ return units;
++ }
++
++ private String combine(char[] one, char[] two) {
++ StringBuffer b = new StringBuffer();
++ b.append(one);
++ b.append(two);
++ return b.toString();
++ }
++
++ private ZipOutputStream getZipOutput() throws IOException {
++ if (this.zipDestination != null && this.zipStream == null) {
++ OutputStream os;
++ if ("-".equals(this.zipDestination)) { //$NON-NLS-1$
++ os = System.out;
++ } else {
++ os = new FileOutputStream(this.zipDestination);
++ }
++ zipStream = new ZipOutputStream(new BufferedOutputStream(os));
++ zipStream.setMethod(ZipOutputStream.STORED);
++ }
++ return zipStream;
++ }
++
++ private ZipOutputStream getDependencyOutput() throws IOException {
++ if (this.zipDependencyDestination != null && this.zipDependencyStream == null) {
++ OutputStream os = new FileOutputStream(zipDependencyDestination);
++ zipDependencyStream = new ZipOutputStream(new BufferedOutputStream(os));
++ zipDependencyStream.setMethod(ZipOutputStream.STORED);
++ }
++ return zipDependencyStream;
++ }
++
++ public void outputClassFiles(CompilationResult unitResult) {
++ if (this.syntaxOnly) {
++ return;
++ }
++ if (this.zipDestination == null) {
++ // Nothing special to do here.
++ super.outputClassFiles(unitResult);
++ return;
++ }
++ if (unitResult == null || unitResult.hasErrors()) {
++ return;
++ }
++
++ // If we are compiling with indirect dispatch, we don't need
++ // any dependent classes. If we are using the C++ ABI, then we
++ // do need the dependencies in order to do proper layout.
++ boolean gcjCompile = this.commandLineCompilationUnits.contains(unitResult.getCompilationUnit());
++ if (this.zipDependencyDestination == null && !gcjCompile) {
++ return;
++ }
++
++ try {
++ ZipOutputStream dest = gcjCompile ? getZipOutput() : getDependencyOutput();
++ ClassFile[] classFiles = unitResult.getClassFiles();
++ for (int i = 0; i < classFiles.length; ++i) {
++ ClassFile classFile = classFiles[i];
++ String filename = combine(classFile.fileName(), SuffixConstants.SUFFIX_class);
++ if (this.verbose)
++ this.out.println(
++ Messages.bind(
++ Messages.compilation_write,
++ new String[] {
++ String.valueOf(this.exportedClassFilesCounter+1),
++ filename
++ }));
++ ZipEntry entry = new ZipEntry(filename);
++ byte[] contents = classFile.getBytes();
++ CRC32 crc = new CRC32();
++ crc.update(contents);
++ entry.setSize(contents.length);
++ entry.setCrc(crc.getValue());
++ dest.putNextEntry(entry);
++ dest.write(contents);
++ dest.closeEntry();
++ }
++ } catch (IOException err) {
++ fail(err);
++ }
++ }
++
++ private String getArgument(String option) {
++ int index = option.indexOf('=');
++ return option.substring(index + 1);
++ }
++
++ private void addPath(ArrayList result, String currentClasspathName) {
++ String customEncoding = null;
++ AccessRule[] accessRules = new AccessRule[0];
++ String templates[] = new String[AccessRuleSet.MESSAGE_TEMPLATES_LENGTH];
++ templates[0] = this.bind(
++ "template.restrictedAccess.type", //$NON-NLS-1$
++ new String[] {"{0}", currentClasspathName}); //$NON-NLS-1$
++ templates[1] = this.bind(
++ "template.restrictedAccess.constructor", //$NON-NLS-1$
++ new String[] {"{0}", currentClasspathName}); //$NON-NLS-1$
++ templates[2] = this.bind(
++ "template.restrictedAccess.method", //$NON-NLS-1$
++ new String[] {"{0}", "{1}", currentClasspathName}); //$NON-NLS-1$ //$NON-NLS-2$
++ templates[3] = this.bind(
++ "template.restrictedAccess.field", //$NON-NLS-1$
++ new String[] {"{0}", "{1}", currentClasspathName}); //$NON-NLS-1$ //$NON-NLS-2$
++ AccessRuleSet accessRuleSet = new AccessRuleSet(accessRules, templates);
++ FileSystem.Classpath currentClasspath = FileSystem
++ .getClasspath(currentClasspathName,
++ customEncoding, accessRuleSet);
++ if (currentClasspath != null) {
++ result.add(currentClasspath);
++ }
++ }
++
++ private void parsePath(ArrayList result, String path) {
++ StringTokenizer iter = new StringTokenizer(path, File.pathSeparator);
++ while (iter.hasMoreTokens()) {
++ addPath(result, iter.nextToken());
++ }
++ }
++
++ protected void handleWarningToken(String token, boolean isEnabling,
++ boolean useEnableJavadoc) throws InvalidInputException {
++ // Recognize this for compatibility with older versions of gcj.
++ if ("deprecated".equals(token)) //$NON-NLS-1$
++ token = "deprecation"; //$NON-NLS-1$
++ else if ("static-access".equals(token) //$NON-NLS-1$
++ || "dep-ann".equals(token) //$NON-NLS-1$
++ || "over-ann".equals(token)) { //$NON-NLS-1$
++ // Some exceptions to the warning naming rule.
++ } else if ("extraneous-semicolon".equals(token)) { //$NON-NLS-1$
++ // Compatibility with earlier versions of gcj.
++ token = "semicolon"; //$NON-NLS-1$
++ } else {
++ // Turn "foo-bar-baz" into eclipse-style "fooBarBaz".
++ StringBuffer newToken = new StringBuffer(token.length());
++ StringTokenizer t = new StringTokenizer(token, "-"); //$NON-NLS-1$
++ boolean first = true;
++ while (t.hasMoreTokens()) {
++ String next = t.nextToken();
++ if (first) {
++ newToken.append(next);
++ first = false;
++ } else {
++ newToken.append(Character.toUpperCase(next.charAt(0)));
++ newToken.append(next.substring(1));
++ }
++ }
++ token = newToken.toString();
++ }
++ super.handleWarningToken(token, isEnabling, useEnableJavadoc);
++ }
++
++ private void turnWarningsToErrors() {
++ Object[] entries = this.options.entrySet().toArray();
++ for (int i = 0, max = entries.length; i < max; i++) {
++ Map.Entry entry = (Map.Entry) entries[i];
++ if (!(entry.getKey() instanceof String))
++ continue;
++ if (!(entry.getValue() instanceof String))
++ continue;
++ if (((String) entry.getValue()).equals(CompilerOptions.WARNING)) {
++ this.options.put(entry.getKey(), CompilerOptions.ERROR);
++ }
++ }
++ }
++
++ /**
++ * Set the debug level to the indicated value. The level should be
++ * between 0 and 2, inclusive, but this is not checked.
++ * @param level the debug level
++ */
++ private void setDebugLevel(int level) {
++ this.options.put(
++ CompilerOptions.OPTION_LocalVariableAttribute,
++ level > 1 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE);
++ this.options.put(
++ CompilerOptions.OPTION_LineNumberAttribute,
++ level > 0 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE);
++ this.options.put(
++ CompilerOptions.OPTION_SourceFileAttribute,
++ CompilerOptions.GENERATE);
++ }
++
++ private void readFileList(String file, ArrayList result) {
++ try {
++ BufferedReader b = new BufferedReader(new FileReader(file));
++ String line;
++ while ((line = b.readLine()) != null) {
++ if (line.endsWith(SUFFIX_STRING_java))
++ result.add(line);
++ }
++ b.close();
++ } catch (IOException err) {
++ fail(err);
++ }
++ }
++
++ private void readAllFileListFiles(ArrayList fileList, ArrayList result) {
++ Iterator it = fileList.iterator();
++ while (it.hasNext()) {
++ readFileList((String) it.next(), result);
++ }
++ }
++
++ private void handleWall(boolean enable) throws InvalidInputException {
++ // A somewhat arbitrary list. We use the GCC names
++ // here, and the local handleWarningToken translates
++ // for us.
++ handleWarningToken("constructor-name", enable, false);
++ handleWarningToken("pkg-default-method", enable, false);
++ handleWarningToken("masked-catch-block", enable, false);
++ handleWarningToken("all-deprecation", enable, false);
++ handleWarningToken("unused-local", enable, false);
++ handleWarningToken("unused-label", enable, false);
++ handleWarningToken("static-receiver", enable, false);
++ handleWarningToken("indirect-static", enable, false);
++ handleWarningToken("no-effect-assign", enable, false);
++ handleWarningToken("char-concat", enable, false);
++ handleWarningToken("useless-type-check", enable, false);
++ handleWarningToken("final-bound", enable, false);
++ handleWarningToken("assert-identifier", enable, false);
++ handleWarningToken("enum-identifier", enable, false);
++ handleWarningToken("finally", enable, false);
++ handleWarningToken("varargs-cast", enable, false);
++ handleWarningToken("unused", enable, false);
++ handleWarningToken("forbidden", enable, false);
++ }
++
++ public void configure(String[] argv) throws InvalidInputException {
++ if ((argv == null) || (argv.length == 0)) {
++ // This is a "can't happen".
++ System.exit(1);
++ }
++
++ ArrayList files = new ArrayList();
++ ArrayList otherFiles = new ArrayList();
++ String classpath = null;
++ boolean haveFileList = false;
++ boolean inhibitAllWarnings = false;
++ boolean treatWarningsAsErrors = false;
++
++ for (int i = 0; i < argv.length; ++i) {
++ String currentArg = argv[i];
++
++ if (currentArg.startsWith("-fencoding=")) { //$NON-NLS-1$
++ // Simply accept the last one.
++ String encoding = getArgument(currentArg);
++ try { // ensure encoding is supported
++ new InputStreamReader(new ByteArrayInputStream(new byte[0]), encoding);
++ } catch (UnsupportedEncodingException e) {
++ throw new InvalidInputException(
++ this.bind("configure.unsupportedEncoding", encoding)); //$NON-NLS-1$
++ }
++ this.options.put(CompilerOptions.OPTION_Encoding, encoding);
++ } else if (currentArg.startsWith("-foutput-class-dir=")) { //$NON-NLS-1$
++ String arg = getArgument(currentArg);
++ if (this.destinationPath != null) {
++ StringBuffer errorMessage = new StringBuffer();
++ errorMessage.append("-d"); //$NON-NLS-1$
++ errorMessage.append(' ');
++ errorMessage.append(arg);
++ throw new InvalidInputException(
++ this.bind("configure.duplicateOutputPath", errorMessage.toString())); //$NON-NLS-1$
++ }
++ this.destinationPath = arg;
++ //this.generatePackagesStructure = true;
++ } else if (currentArg.startsWith("-fbootclasspath=")) { //$NON-NLS-1$
++ classpath = getArgument(currentArg);
++ } else if (currentArg.equals("-fzip-target")) { //$NON-NLS-1$
++ ++i;
++ if (i >= argv.length)
++ throw new InvalidInputException(this.bind("gcc.zipArg")); //$NON-NLS-1$
++ this.zipDestination = argv[i];
++ } else if (currentArg.equals("-fzip-dependency")) { //$NON-NLS-1$
++ ++i;
++ if (i >= argv.length)
++ throw new InvalidInputException(this.bind("gcc.zipDepArg")); //$NON-NLS-1$
++ this.zipDependencyDestination = argv[i];
++ } else if (currentArg.startsWith("-g")) { //$NON-NLS-1$
++ if (currentArg.equals("-g0")) { //$NON-NLS-1$
++ setDebugLevel(0);
++ } else if (currentArg.equals("-g2") || currentArg.equals("-g3") //$NON-NLS-1$ //$NON-NLS-2$
++ || currentArg.equals("-g")) { //$NON-NLS-1$
++ setDebugLevel(2);
++ } else {
++ // Handle -g1 but also things like -gstabs.
++ setDebugLevel(1);
++ }
++ } else if (currentArg.equals("-Werror")) { //$NON-NLS-1$
++ treatWarningsAsErrors = true;
++ } else if (currentArg.equals("-Wno-error")) { //$NON-NLS-1$
++ treatWarningsAsErrors = false;
++ } else if (currentArg.equals("-Wall")) { //$NON-NLS-1$
++ handleWall(true);
++ } else if (currentArg.equals("-Wno-all")) { //$NON-NLS-1$
++ handleWall(false);
++ } else if (currentArg.startsWith("-Wno-")) { //$NON-NLS-1$
++ handleWarningToken(currentArg.substring(5), false, false);
++ } else if (currentArg.startsWith("-W")) { //$NON-NLS-1$
++ handleWarningToken(currentArg.substring(2), true, false);
++ } else if (currentArg.equals("-w")) { //$NON-NLS-1$
++ inhibitAllWarnings = true;
++ } else if (currentArg.startsWith("-O")) { //$NON-NLS-1$
++ // Ignore.
++ } else if (currentArg.equals("-v")) { //$NON-NLS-1$
++ this.verbose = true;
++ } else if (currentArg.equals("-fsyntax-only")) { //$NON-NLS-1$
++ this.syntaxOnly = true;
++ } else if (currentArg.startsWith("-fsource=")) { //$NON-NLS-1$
++ currentArg = getArgument(currentArg);
++ if (currentArg.equals("1.3")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_3);
++ } else if (currentArg.equals("1.4")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_4);
++ } else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_5);
++ } else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_6);
++ } else {
++ throw new InvalidInputException(this.bind("configure.source", currentArg)); //$NON-NLS-1$
++ }
++ } else if (currentArg.startsWith("-ftarget=")) { //$NON-NLS-1$
++ currentArg = getArgument(currentArg);
++ if (currentArg.equals("1.1")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_1);
++ } else if (currentArg.equals("1.2")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_2);
++ } else if (currentArg.equals("1.3")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_3);
++ } else if (currentArg.equals("1.4")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_4);
++ } else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_5);
++ } else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_6);
++ } else if (currentArg.equals("jsr14")) { //$NON-NLS-1$
++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_JSR14);
++ } else {
++ throw new InvalidInputException(this.bind("configure.targetJDK", currentArg)); //$NON-NLS-1$
++ }
++ } else if (currentArg.equals("-ffilelist-file")) { //$NON-NLS-1$
++ haveFileList = true;
++ } else if (currentArg.endsWith(SuffixConstants.SUFFIX_STRING_java)) {
++ files.add(currentArg);
++ } else if (currentArg.charAt(0) == '-'){
++ // FIXME: error if not a file?
++ } else {
++ otherFiles.add(currentArg);
++ }
++ }
++
++ // Read the file list file. We read them all, but really there
++ // will only be one.
++ if (haveFileList)
++ readAllFileListFiles(otherFiles, files);
++
++ this.filenames = (String[]) files.toArray(new String[0]);
++ this.encodings = new String[this.filenames.length];
++ this.destinationPaths = new String[this.filenames.length];
++ for (int i = 0; i < this.filenames.length; ++i)
++ this.destinationPaths[i] = this.destinationPath;
++
++ // Classpath processing.
++ ArrayList result = new ArrayList();
++ if (classpath == null)
++ throw new InvalidInputException(this.bind("gcc.noClasspath")); //$NON-NLS-1$
++ parsePath(result, classpath);
++
++ // We must always create both output files, even if one is not used.
++ // That way we will always pass valid zip file on to jc1.
++ try {
++ getZipOutput();
++ getDependencyOutput();
++ } catch (IOException err) {
++ fail(err);
++ }
++
++ if (inhibitAllWarnings)
++ disableWarnings();
++ if (treatWarningsAsErrors)
++ turnWarningsToErrors();
++
++ this.checkedClasspaths = new FileSystem.Classpath[result.size()];
++ result.toArray(this.checkedClasspaths);
++
++ this.logger.logCommandLineArguments(argv);
++ this.logger.logOptions(this.options);
++ this.logger.logClasspath(this.checkedClasspaths);
++
++ this.repetitions = 1;
++ }
++
++ public boolean compile(String[] argv) {
++ boolean result = super.compile(argv);
++ try {
++ if (zipStream != null) {
++ zipStream.finish();
++ zipStream.close();
++ }
++ if (zipDependencyStream != null) {
++ zipDependencyStream.finish();
++ zipDependencyStream.close();
++ }
++ } catch (IOException err) {
++ fail(err);
++ }
++ return result;
++ }
++
++ public static void main(String[] argv) {
++ boolean result = new GCCMain(new PrintWriter(System.out), new PrintWriter(System.err), false).compile(argv);
++ System.exit(result ? 0 : 1);
++ }
++}
diff --git a/dev-java/eclipse-ecj/metadata.xml b/dev-java/eclipse-ecj/metadata.xml
new file mode 100644
index 00000000..2b50537a
--- /dev/null
+++ b/dev-java/eclipse-ecj/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>java</herd>
+<longdescription>
+ECJ is the Eclipse Compiler for Java. It's a separate packaging of
+the embedded Java compiler that comes with Eclipse. It can be used
+as a batch-compiler by running the ecj-3.x script, or it can be
+used with Ant by using the -lib option to and and setting
+-Dbuild.compiler=ecj
+</longdescription>
+<use>
+ <flag name="ant">Support using ecj in Ant builds via dev-java/ant-eclipse-ecj</flag>
+</use>
+</pkgmetadata>