summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlastimil Babka <caster@gentoo.org>2009-11-04 19:05:35 +0000
committerVlastimil Babka <caster@gentoo.org>2009-11-04 19:05:35 +0000
commitb4a8ea66c1ba5fc796d0217d8f917b84d0f179ff (patch)
tree3e6e6314dc70e8cbf4829a083492d7bc544548c0 /dev-java/eclipse-ecj
parentold (diff)
downloadgentoo-2-b4a8ea66c1ba5fc796d0217d8f917b84d0f179ff.tar.gz
gentoo-2-b4a8ea66c1ba5fc796d0217d8f917b84d0f179ff.tar.bz2
gentoo-2-b4a8ea66c1ba5fc796d0217d8f917b84d0f179ff.zip
Version bump. Fixes bug #278000 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.
(Portage version: 2.2_rc48/cvs/Linux x86_64)
Diffstat (limited to 'dev-java/eclipse-ecj')
-rw-r--r--dev-java/eclipse-ecj/ChangeLog11
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-3.5.1.ebuild103
-rw-r--r--dev-java/eclipse-ecj/metadata.xml3
3 files changed, 116 insertions, 1 deletions
diff --git a/dev-java/eclipse-ecj/ChangeLog b/dev-java/eclipse-ecj/ChangeLog
index 2412a3b1a851..d95efe9a2b8a 100644
--- a/dev-java/eclipse-ecj/ChangeLog
+++ b/dev-java/eclipse-ecj/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-java/eclipse-ecj
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/ChangeLog,v 1.58 2009/11/04 17:50:42 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/ChangeLog,v 1.59 2009/11/04 19:05:35 caster Exp $
+
+*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,
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.5.1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.5.1.ebuild
new file mode 100644
index 000000000000..c2e9730b7053
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-3.5.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2009 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.1.ebuild,v 1.1 2009/11/04 19:05:35 caster Exp $
+
+EAPI=2
+
+inherit java-pkg-2
+
+MY_PN="ecj"
+DMF="R-${PV}-200909170800"
+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}.zip"
+
+IUSE="+ant"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+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
+ 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/metadata.xml b/dev-java/eclipse-ecj/metadata.xml
index cffcc6a6d958..2b50537a62dd 100644
--- a/dev-java/eclipse-ecj/metadata.xml
+++ b/dev-java/eclipse-ecj/metadata.xml
@@ -9,4 +9,7 @@ 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>