diff options
Diffstat (limited to 'dev-java/eclipse-ecj')
-rw-r--r-- | dev-java/eclipse-ecj/Manifest | 5 | ||||
-rw-r--r-- | dev-java/eclipse-ecj/NOTES | 1 | ||||
-rw-r--r-- | dev-java/eclipse-ecj/eclipse-ecj-3.4.1.ebuild | 121 | ||||
-rwxr-xr-x | dev-java/eclipse-ecj/files/ecj-3.4 | 8 | ||||
-rw-r--r-- | dev-java/eclipse-ecj/metadata.xml | 12 |
5 files changed, 147 insertions, 0 deletions
diff --git a/dev-java/eclipse-ecj/Manifest b/dev-java/eclipse-ecj/Manifest new file mode 100644 index 0000000..098c849 --- /dev/null +++ b/dev-java/eclipse-ecj/Manifest @@ -0,0 +1,5 @@ +AUX ecj-3.4 213 RMD160 ca988aa4ae8965b5f8c41e0dbcf87d3f7e86d07a SHA1 55a308d8deb46bfe05e49ee095776ba89ce23f3f SHA256 5e56e4bdda1f90000fe157fd82083d36b8affd7258c694e797f2c54b01eb6d53 +DIST ecjsrc-3.4.1.zip 1282315 RMD160 612d8cf97a8891efa4c2228a4a7a94daa4f7d86a SHA1 e0e1d5753086525ca6e8a399a59d32200f673524 SHA256 b5725fa7f8b1f7dc28776e60591e9ef0c171629fe567ef49ab9be28516ff2cd6 +EBUILD eclipse-ecj-3.4.1.ebuild 3144 RMD160 2c154feb2cd3e9bb80f3e11b4c71c99d45b7f2f6 SHA1 bcf867db8d81562374f6fe2a1bfc678589619ebd SHA256 586fd1bcf90a6eec46560eae71b4630ba5d5eaf766410732e51b2ce241b8a875 +MISC ChangeLog 7348 RMD160 bb5d67cfaef75f0b5e66cf1fae1d719fb7bca818 SHA1 dacb8bf45356f8c30d5a7cdc55c5c23a99922f6d SHA256 e10351baa450df1d95af8c4996bf1b6c95ffd88bffb04de39a13380a66e98d02 +MISC metadata.xml 471 RMD160 a7f40a047de904e4e2f63fce4ae9377a36b66fa0 SHA1 c855f10cc8e043bcd1e59b48d570053304a66f49 SHA256 229f3cffb80ccec1b7c3ddff609d045bd11f8004724bcb9de5d3bf9104a37d20 diff --git a/dev-java/eclipse-ecj/NOTES b/dev-java/eclipse-ecj/NOTES new file mode 100644 index 0000000..a504dcd --- /dev/null +++ b/dev-java/eclipse-ecj/NOTES @@ -0,0 +1 @@ +Revbump to support newer eclipse that is properly build with 1.6 diff --git a/dev-java/eclipse-ecj/eclipse-ecj-3.4.1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-3.4.1.ebuild new file mode 100644 index 0000000..14c9049 --- /dev/null +++ b/dev-java/eclipse-ecj/eclipse-ecj-3.4.1.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}-200809111700" +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 +} diff --git a/dev-java/eclipse-ecj/files/ecj-3.4 b/dev-java/eclipse-ecj/files/ecj-3.4 new file mode 100755 index 0000000..745391d --- /dev/null +++ b/dev-java/eclipse-ecj/files/ecj-3.4 @@ -0,0 +1,8 @@ +#! /bin/sh +# +# Copyright (C) 2008 Andrew John Hughes +# +# Licensed under the GNU General Public License, v2 + +LD_LIBRARY_PATH=$(gcc-config -L $(ls -1r /etc/env.d/gcc/*4.3.?|head -1)) /usr/bin/native_ecj-3.4 "${@}" + diff --git a/dev-java/eclipse-ecj/metadata.xml b/dev-java/eclipse-ecj/metadata.xml new file mode 100644 index 0000000..f685f4a --- /dev/null +++ b/dev-java/eclipse-ecj/metadata.xml @@ -0,0 +1,12 @@ +<?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.1 script, or it can be +used with Ant by using the -lib option to and and setting +-Dbuild.compiler=ecj +</longdescription> +</pkgmetadata> |