1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
9 DMF="R-${PV}-201209141800"
11 DESCRIPTION="Eclipse Compiler for Java"
12 HOMEPAGE="http://www.eclipse.org/"
13 SRC_URI="http://download.eclipse.org/eclipse/downloads/drops4/${DMF}/${MY_PN}src-${PV}.jar"
16 KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
18 IUSE="+ant userland_GNU"
21 app-eselect/eselect-java"
22 RDEPEND="${COMMON_DEP}
27 userland_GNU? ( sys-apps/findutils )"
29 ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
33 JAVA_PKG_WANT_SOURCE=1.4
34 JAVA_PKG_WANT_TARGET=1.4
37 # These have their own package.
38 rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java || die
39 rm -fr org/eclipse/jdt/internal/antadapter || die
43 local javac_opts javac java jar
45 javac_opts="$(java-pkg_javac-args) -encoding ISO-8859-1"
46 javac="$(java-config -c)"
47 java="$(java-config -J)"
48 jar="$(java-config -j)"
50 find org/ -path org/eclipse/jdt/internal/compiler/apt -prune -o \
51 -path org/eclipse/jdt/internal/compiler/tool -prune -o -name '*.java' \
53 find org/eclipse/jdt/internal/compiler/{apt,tool} -name '*.java' > sources-1.6
55 mkdir -p bootstrap || die
56 cp -pPR org META-INF bootstrap || die
57 cd "${S}/bootstrap" || die
59 einfo "bootstrapping ${MY_PN} with ${javac} ..."
60 ${javac} ${javac_opts} @../sources-1.4 || die
61 ${javac} -encoding ISO-8859-1 -source 1.6 -target 1.6 @../sources-1.6 || die
63 find org/ META-INF/ \( -name '*.class' -o -name '*.properties' -o -name '*.rsc' -o -name '*.inf' -o -name '*.props' \) \
64 -exec ${jar} cf ${MY_PN}.jar {} + || die
67 einfo "building ${MY_PN} with bootstrapped ${MY_PN} ..."
68 ${java} -classpath bootstrap/${MY_PN}.jar \
69 org.eclipse.jdt.internal.compiler.batch.Main \
70 ${javac_opts} -nowarn @sources-1.4 || die
71 ${java} -classpath bootstrap/${MY_PN}.jar \
72 org.eclipse.jdt.internal.compiler.batch.Main \
73 -encoding ISO-8859-1 -source 1.6 -target 1.6 -nowarn @sources-1.6 || die
75 find org/ META-INF/ \( -name '*.class' -o -name '*.properties' -o -name '*.rsc' -o -name '*.inf' -o -name '*.props' \) \
76 -exec ${jar} cf ${MY_PN}.jar {} + || die
80 java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
81 org.eclipse.jdt.internal.compiler.batch.Main
83 # disable the class version verify, this has intentionally
84 # some classes with 1.6, but most is 1.4
85 JAVA_PKG_STRICT="" java-pkg_dojar ${MY_PN}.jar
89 einfo "To select between slots of ECJ..."
90 einfo " # eselect ecj"
92 eselect ecj update ecj-${SLOT}