diff options
author | Petteri Räty <betelgeuse@gentoo.org> | 2008-09-27 12:02:01 +0000 |
---|---|---|
committer | Petteri Räty <betelgeuse@gentoo.org> | 2008-09-27 12:02:01 +0000 |
commit | 5677a6a6b6df9eebc6de3fdf311e80c298f47657 (patch) | |
tree | e09e98e874de73864d33b1710990f522a3ae1f3b /dev-java/eclipse-ecj | |
parent | Add use deps for dev-java/antlr java use flag. (diff) | |
download | gentoo-2-5677a6a6b6df9eebc6de3fdf311e80c298f47657.tar.gz gentoo-2-5677a6a6b6df9eebc6de3fdf311e80c298f47657.tar.bz2 gentoo-2-5677a6a6b6df9eebc6de3fdf311e80c298f47657.zip |
Use EAPI 2 use dependencies for gcj.
(Portage version: 2.2_rc11/cvs/Linux 2.6.26-gentoo-r1 i686)
Diffstat (limited to 'dev-java/eclipse-ecj')
-rw-r--r-- | dev-java/eclipse-ecj/ChangeLog | 8 | ||||
-rw-r--r-- | dev-java/eclipse-ecj/eclipse-ecj-3.4-r3.ebuild | 121 |
2 files changed, 128 insertions, 1 deletions
diff --git a/dev-java/eclipse-ecj/ChangeLog b/dev-java/eclipse-ecj/ChangeLog index 659c7295fd0a..f2950c3426d6 100644 --- a/dev-java/eclipse-ecj/ChangeLog +++ b/dev-java/eclipse-ecj/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-java/eclipse-ecj # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/ChangeLog,v 1.46 2008/09/27 11:53:45 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/eclipse-ecj/ChangeLog,v 1.47 2008/09/27 12:02:01 betelgeuse Exp $ + +*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: diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.4-r3.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.4-r3.ebuild new file mode 100644 index 000000000000..b6c57d0c984f --- /dev/null +++ b/dev-java/eclipse-ecj/eclipse-ecj-3.4-r3.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2008 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-r3.ebuild,v 1.1 2008/09/27 12:02:01 betelgeuse 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://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_PN}src-${PV}.zip" + +IUSE="gcj java6" + +LICENSE="EPL-1.0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd" +SLOT="3.4" + +CDEPEND=">=app-admin/eselect-ecj-0.3 + sys-devel/gcc[gcj?]" +DEPEND="${CDEPEND} + !gcj? ( !java6? ( >=virtual/jdk-1.4 ) + java6? ( >=virtual/jdk-1.6 ) )" +RDEPEND="${CDEPEND} + !gcj? ( !java6? ( >=virtual/jre-1.4 ) + java6? ( >=virtual/jre-1.6 ) )" + +pkg_setup() { + if ! use gcj ; then + java-pkg-2_pkg_setup + fi +} + +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 gcj || ! use java6 ; then + rm -fr org/eclipse/jdt/internal/compiler/{apt,tool}/ || die + fi +} + +src_compile() { + local javac_opts javac java jar + + if use gcj ; then + local gccbin="$(gcc-config -B $(ls -1r /etc/env.d/gcc/${CHOST}-* | head -1) || die)" + local gcj="${gccbin}/gcj" + javac="${gcj} -C -encoding ISO-8859-1" + jar="${gccbin}/gjar" + [[ -x ${jar} ]] || jar="${gccbin}/fastjar" + [[ -x ${jar} ]] || die "No jar found for gcc" + java="${gccbin}/gij" + else + javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1" + javac="$(java-config -c)" + java="$(java-config -J)" + jar="$(java-config -j)" + fi + + mkdir -p bootstrap || die + cp -a 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 + + if use gcj ; then + einfo "Building native ${MY_PN} binary ..." + ${gcj} ${CFLAGS} -findirect-dispatch -Wl,-Bsymbolic -o native_${MY_PN}-${SLOT} \ + --main=org.eclipse.jdt.internal.compiler.batch.Main ${MY_PN}.jar || die + fi +} + +src_install() { + if use gcj ; then + dobin native_${MY_PN}-${SLOT} + newbin "${FILESDIR}/ecj-${SLOT}" ${MY_PN}-${SLOT} + + # Don't complain when doing dojar below. + JAVA_PKG_WANT_SOURCE=1.4 + JAVA_PKG_WANT_TARGET=1.4 + else + java-pkg_dolauncher ${MY_PN}-${SLOT} --main \ + org.eclipse.jdt.internal.compiler.batch.Main + fi + + 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 +} |