dev-java/gcj-jdk: Respect eselect-ecj, drop 4.7, bump 4.9, other fixes
authorJames Le Cuirot <chewi@gentoo.org>
Tue, 18 Aug 2015 22:21:52 +0000 (23:21 +0100)
committerJames Le Cuirot <chewi@gentoo.org>
Wed, 19 Aug 2015 19:06:34 +0000 (20:06 +0100)
 * The ecj-gcj SLOT was previously hardcoded but it still used the
   version eselected at build time. Now it will resolve at runtime.
 * 4.7 is no longer needed as we have dropped ia64 support.
 * 4.9 has been bumped from 4.9.2. to 4.9.3.
 * Paths have been fixed for prefixed systems.
 * X flag has changed to awt to better reflect what it does.

Package-Manager: portage-2.2.20.1

dev-java/gcj-jdk/gcj-jdk-4.8.4-r1.ebuild [moved from dev-java/gcj-jdk/gcj-jdk-4.7.4.ebuild with 88% similarity]
dev-java/gcj-jdk/gcj-jdk-4.8.4.ebuild [deleted file]
dev-java/gcj-jdk/gcj-jdk-4.9.3.ebuild [moved from dev-java/gcj-jdk/gcj-jdk-4.9.2.ebuild with 87% similarity]
dev-java/gcj-jdk/metadata.xml

similarity index 88%
rename from dev-java/gcj-jdk/gcj-jdk-4.7.4.ebuild
rename to dev-java/gcj-jdk/gcj-jdk-4.8.4-r1.ebuild
index d3d153f563d9104be998e7e910f342ec51ca5cc4..c737dbae27326918bbac1af203aaf1f36ef35216 100644 (file)
@@ -13,17 +13,15 @@ SRC_URI=""
 LICENSE="GPL-2"
 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-linux"
 SLOT="0"
-IUSE="X"
+IUSE="awt"
 
-ECJ_GCJ_SLOT="3.6"
 API_DIFF_PV="4.8.2"
 
 # perl is needed for javac wrapper
 RDEPEND="
-       dev-java/ecj-gcj:${ECJ_GCJ_SLOT}
+       dev-java/ecj-gcj:*
        dev-lang/perl
-       ~sys-devel/gcc-${PV}[gcj]
-       X? ( ~sys-devel/gcc-${PV}[awt] )"
+       ~sys-devel/gcc-${PV}[awt?,gcj]"
 DEPEND="${RDEPEND}"
 
 S="${WORKDIR}"
@@ -37,6 +35,7 @@ src_install() {
        local gcclib=$(gcc-config -L ${gcc_version} | cut -d':' -f1)
        gcclib=${gcclib#"${EPREFIX}"}
        local gcjhome="/usr/$(get_libdir)/${P}"
+       local gcjprefix="${EPREFIX}${gcjhome}"
        local gccchost="${CHOST}"
        local gcjlibdir=$(echo "${EPREFIX}"/usr/$(get_libdir)/gcj-${gcc_version}-*)
        gcjlibdir=${gcjlibdir#"${EPREFIX}"}
@@ -70,7 +69,7 @@ src_install() {
        dodir ${gcjhome}/jre/lib/${libarch}/server
        dosym ${gcjlibdir}/libjvm.so ${gcjhome}/jre/lib/${libarch}/client/libjvm.so
        dosym ${gcjlibdir}/libjvm.so ${gcjhome}/jre/lib/${libarch}/server/libjvm.so
-       use X && dosym ${gcjlibdir}/libjawt.so ${gcjhome}/jre/lib/${libarch}/libjawt.so
+       use awt && dosym ${gcjlibdir}/libjawt.so ${gcjhome}/jre/lib/${libarch}/libjawt.so
 
        dosym /usr/share/gcc-data/${gccchost}/${gcc_version}/java/libgcj-${gcc_version/_/-}.jar \
                ${gcjhome}/jre/lib/rt.jar
@@ -79,12 +78,11 @@ src_install() {
                ${gcjhome}/lib/tools.jar
        dosym ${gcclib}/include ${gcjhome}/include
 
-       local ecj_jar="$(readlink "${EPREFIX}"/usr/share/eclipse-ecj/ecj.jar)"
        exeinto ${gcjhome}/bin
-       sed -e "s#@JAVA@#${gcjhome}/bin/java#" \
-               -e "s#@ECJ_JAR@#${ecj_jar}#" \
-               -e "s#@RT_JAR@#${gcjhome}/jre/lib/rt.jar#" \
-               -e "s#@TOOLS_JAR@#${gcjhome}/lib/tools.jar#" \
+       sed -e "s#@JAVA@#${gcjprefix}/bin/java#" \
+               -e "s#@ECJ_JAR@#${EPREFIX}/usr/share/eclipse-ecj/ecj.jar#" \
+               -e "s#@RT_JAR@#${gcjprefix}/jre/lib/rt.jar#" \
+               -e "s#@TOOLS_JAR@#${gcjprefix}/lib/tools.jar#" \
                "${FILESDIR}"/javac.in \
        | newexe - javac
        assert
diff --git a/dev-java/gcj-jdk/gcj-jdk-4.8.4.ebuild b/dev-java/gcj-jdk/gcj-jdk-4.8.4.ebuild
deleted file mode 100644 (file)
index 5c4d31f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit java-vm-2 multilib
-
-DESCRIPTION="Java wrappers around GCJ"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-linux"
-SLOT="0"
-IUSE="X"
-
-ECJ_GCJ_SLOT="4.2"
-API_DIFF_PV="4.8.2"
-
-# perl is needed for javac wrapper
-RDEPEND="
-       dev-java/ecj-gcj:${ECJ_GCJ_SLOT}
-       dev-lang/perl
-       ~sys-devel/gcc-${PV}[gcj]
-       X? ( ~sys-devel/gcc-${PV}[awt] )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}"
-
-src_install() {
-       # jre lib paths ...
-       local libarch="$(get_system_arch)"
-       local gcc_version=${PV}
-       local gccbin=$(gcc-config -B ${gcc_version})
-       gccbin=${gccbin#"${EPREFIX}"}
-       local gcclib=$(gcc-config -L ${gcc_version} | cut -d':' -f1)
-       gcclib=${gcclib#"${EPREFIX}"}
-       local gcjhome="/usr/$(get_libdir)/${P}"
-       local gccchost="${CHOST}"
-       local gcjlibdir=$(echo "${EPREFIX}"/usr/$(get_libdir)/gcj-${gcc_version}-*)
-       gcjlibdir=${gcjlibdir#"${EPREFIX}"}
-
-       # links
-       dodir ${gcjhome}/bin
-       dodir ${gcjhome}/jre/bin
-       dosym ${gccbin}/gij ${gcjhome}/bin/java
-       dosym ${gccbin}/gij ${gcjhome}/jre/bin/java
-       dosym ${gccbin}/gjar ${gcjhome}/bin/jar
-       dosym ${gccbin}/gjdoc ${gcjhome}/bin/javadoc
-       dosym ${gccbin}/grmic ${gcjhome}/bin/rmic
-       dosym ${gccbin}/gjavah ${gcjhome}/bin/javah
-       dosym ${gccbin}/jcf-dump ${gcjhome}/bin/javap
-       dosym ${gccbin}/gappletviewer ${gcjhome}/bin/appletviewer
-       dosym ${gccbin}/gjarsigner ${gcjhome}/bin/jarsigner
-       dosym ${gccbin}/grmiregistry ${gcjhome}/bin/rmiregistry
-       dosym ${gccbin}/grmiregistry ${gcjhome}/jre/bin/rmiregistry
-       dosym ${gccbin}/gkeytool ${gcjhome}/bin/keytool
-       dosym ${gccbin}/gkeytool ${gcjhome}/jre/bin/keytool
-       dosym ${gccbin}/gnative2ascii ${gcjhome}/bin/native2ascii
-       dosym ${gccbin}/gorbd ${gcjhome}/bin/orbd
-       dosym ${gccbin}/gorbd ${gcjhome}/jre/bin/orbd
-       dosym ${gccbin}/grmid ${gcjhome}/bin/rmid
-       dosym ${gccbin}/grmid ${gcjhome}/jre/bin/rmid
-       dosym ${gccbin}/gserialver ${gcjhome}/bin/serialver
-       dosym ${gccbin}/gtnameserv ${gcjhome}/bin/tnameserv
-       dosym ${gccbin}/gtnameserv ${gcjhome}/jre/bin/tnameserv
-
-       dodir ${gcjhome}/jre/lib/${libarch}/client
-       dodir ${gcjhome}/jre/lib/${libarch}/server
-       dosym ${gcjlibdir}/libjvm.so ${gcjhome}/jre/lib/${libarch}/client/libjvm.so
-       dosym ${gcjlibdir}/libjvm.so ${gcjhome}/jre/lib/${libarch}/server/libjvm.so
-       use X && dosym ${gcjlibdir}/libjawt.so ${gcjhome}/jre/lib/${libarch}/libjawt.so
-
-       dosym /usr/share/gcc-data/${gccchost}/${gcc_version}/java/libgcj-${gcc_version/_/-}.jar \
-               ${gcjhome}/jre/lib/rt.jar
-       dodir ${gcjhome}/lib
-       dosym /usr/share/gcc-data/${gccchost}/${gcc_version}/java/libgcj-tools-${gcc_version/_/-}.jar \
-               ${gcjhome}/lib/tools.jar
-       dosym ${gcclib}/include ${gcjhome}/include
-
-       local ecj_jar="$(readlink "${EPREFIX}"/usr/share/eclipse-ecj/ecj.jar)"
-       exeinto ${gcjhome}/bin
-       sed -e "s#@JAVA@#${gcjhome}/bin/java#" \
-               -e "s#@ECJ_JAR@#${ecj_jar}#" \
-               -e "s#@RT_JAR@#${gcjhome}/jre/lib/rt.jar#" \
-               -e "s#@TOOLS_JAR@#${gcjhome}/lib/tools.jar#" \
-               "${FILESDIR}"/javac.in \
-       | newexe - javac
-       assert
-
-       set_java_env
-}
-
-pkg_postinst() {
-       # Do not set as system VM (see below)
-       # java-vm-2_pkg_postinst
-
-       ewarn "gcj does not currently provide all the 1.5 or 1.6 APIs."
-       ewarn "See http://fuseyism.com/japi/ibmjdk15-libgcj-${API_DIFF_PV}.html"
-       ewarn "and http://fuseyism.com/japi/icedtea6-libgcj-${API_DIFF_PV}.html"
-       ewarn "Check for existing bugs relating to missing APIs and file"
-       ewarn "new ones at http://gcc.gnu.org/bugzilla/"
-       ewarn
-       ewarn "Due to this and limited manpower, we currently cannot support"
-       ewarn "using gcj-jdk as a system VM. Its main purpose is to bootstrap"
-       ewarn "IcedTea without prior binary VM installation. To do that, execute:"
-       ewarn
-       ewarn "emerge -o icedtea && emerge icedtea"
-}
similarity index 87%
rename from dev-java/gcj-jdk/gcj-jdk-4.9.2.ebuild
rename to dev-java/gcj-jdk/gcj-jdk-4.9.3.ebuild
index 7d30f02314936bf9b9c59bf8aee0fcde8af660f7..b65e79ed5aab116945f79acda9a21b27768e1c1a 100644 (file)
@@ -13,17 +13,15 @@ SRC_URI=""
 LICENSE="GPL-2"
 KEYWORDS="~amd64 ~arm ~x86 ~x86-linux"
 SLOT="0"
-IUSE="X"
+IUSE="awt"
 
-ECJ_GCJ_SLOT="4.4"
-API_DIFF_PV="4.8.2"
+API_DIFF_PV="4.9.2"
 
 # perl is needed for javac wrapper
 RDEPEND="
-       dev-java/ecj-gcj:${ECJ_GCJ_SLOT}
+       dev-java/ecj-gcj:*
        dev-lang/perl
-       ~sys-devel/gcc-${PV}[gcj]
-       X? ( ~sys-devel/gcc-${PV}[awt] )"
+       ~sys-devel/gcc-${PV}[awt?,gcj]"
 DEPEND="${RDEPEND}"
 
 S="${WORKDIR}"
@@ -37,6 +35,7 @@ src_install() {
        local gcclib=$(gcc-config -L ${gcc_version} | cut -d':' -f1)
        gcclib=${gcclib#"${EPREFIX}"}
        local gcjhome="/usr/$(get_libdir)/${P}"
+       local gcjprefix="${EPREFIX}${gcjhome}"
        local gccchost="${CHOST}"
        local gcjlibdir=$(echo "${EPREFIX}"/usr/$(get_libdir)/gcj-${gcc_version}-*)
        gcjlibdir=${gcjlibdir#"${EPREFIX}"}
@@ -70,7 +69,7 @@ src_install() {
        dodir ${gcjhome}/jre/lib/${libarch}/server
        dosym ${gcjlibdir}/libjvm.so ${gcjhome}/jre/lib/${libarch}/client/libjvm.so
        dosym ${gcjlibdir}/libjvm.so ${gcjhome}/jre/lib/${libarch}/server/libjvm.so
-       use X && dosym ${gcjlibdir}/libjawt.so ${gcjhome}/jre/lib/${libarch}/libjawt.so
+       use awt && dosym ${gcjlibdir}/libjawt.so ${gcjhome}/jre/lib/${libarch}/libjawt.so
 
        dosym /usr/share/gcc-data/${gccchost}/${gcc_version}/java/libgcj-${gcc_version/_/-}.jar \
                ${gcjhome}/jre/lib/rt.jar
@@ -79,12 +78,11 @@ src_install() {
                ${gcjhome}/lib/tools.jar
        dosym ${gcclib}/include ${gcjhome}/include
 
-       local ecj_jar="$(readlink "${EPREFIX}"/usr/share/eclipse-ecj/ecj.jar)"
        exeinto ${gcjhome}/bin
-       sed -e "s#@JAVA@#${gcjhome}/bin/java#" \
-               -e "s#@ECJ_JAR@#${ecj_jar}#" \
-               -e "s#@RT_JAR@#${gcjhome}/jre/lib/rt.jar#" \
-               -e "s#@TOOLS_JAR@#${gcjhome}/lib/tools.jar#" \
+       sed -e "s#@JAVA@#${gcjprefix}/bin/java#" \
+               -e "s#@ECJ_JAR@#${EPREFIX}/usr/share/eclipse-ecj/ecj.jar#" \
+               -e "s#@RT_JAR@#${gcjprefix}/jre/lib/rt.jar#" \
+               -e "s#@TOOLS_JAR@#${gcjprefix}/lib/tools.jar#" \
                "${FILESDIR}"/javac.in \
        | newexe - javac
        assert
index f988aafbad8740e13792408a34b05519fd175566..2d881e81e32833a1d6fe893258daf5bed8a06d91 100644 (file)
@@ -1,11 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<herd>java</herd>
-<herd>proxy-maintainers</herd>
-<maintainer>
-  <email>gnu_andrew@member.fsf.org</email>
-  <name>Andrew John Hughes</name>
-</maintainer>
-<longdescription>This provides a JDK wrapper for GCJ, in the style of gcj-java-compat in other distributions.</longdescription>
+       <herd>java</herd>
+       <herd>proxy-maintainers</herd>
+       <maintainer>
+               <email>gnu_andrew@member.fsf.org</email>
+               <name>Andrew John Hughes</name>
+       </maintainer>
+       <longdescription>This provides a JDK wrapper for GCJ, in the style of gcj-java-compat in other distributions.</longdescription>
+       <use>
+               <flag name="awt">Install AWT libraries, needed by some GUIs (not needed to build icedtea)</flag>
+       </use>
 </pkgmetadata>