Breaking out gcc-ecj45 from lang/gcc{,46,47,48}
Gerald Pfeifer
gerald at pfeifer.com
Tue Jan 15 00:35:39 UTC 2013
Hi there,
to address ports/175072 I finally went ahead with an old plan of
mine and broke the binary ecj.jar that is used to build the Java
frontend for our GCC 4.6, 4.7 and 4.8 ports out into a separate
port: lang/gcc-ecj45.
The patch below shows this, and also -- in case of lang/gcc48 --
how I am planning to adjust the lang/gcc{,46,47,48} ports.
Let me know if you have any comments/suggestions on these changes
which I plan to commit in one, two days. (The below passed the
official set of ports and package testing.)
Gerald
Index: gcc-ecj45/Makefile
===================================================================
--- gcc-ecj45/Makefile (revision 0)
+++ gcc-ecj45/Makefile (working copy)
@@ -0,0 +1,22 @@
+# Created by: Gerald Pfeifer <gerald at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= gcc-ecj
+PORTVERSION= 4.5
+CATEGORIES= lang java
+MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
+MASTER_SITE_SUBDIR+= java/
+DISTNAME= ecj-${PORTVERSION}.jar
+EXTRACT_SUFX=
+EXTRACT_ONLY=
+
+MAINTAINER= gerald at FreeBSD.org
+COMMENT= Eclipse Java Compiler used to build GCC Java
+
+NO_BUILD= yes
+PLIST_FILES= share/java/${DISTNAME}
+
+do-install:
+ ${INSTALL_DATA} ${DISTDIR}/${DISTNAME} ${PREFIX}/share/java/
+
+.include <bsd.port.mk>
Index: gcc-ecj45/distinfo
===================================================================
--- gcc-ecj45/distinfo (revision 0)
+++ gcc-ecj45/distinfo (working copy)
@@ -0,0 +1,2 @@
+SHA256 (ecj-4.5.jar) = 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
+SIZE (ecj-4.5.jar) = 1470676
Index: gcc-ecj45/pkg-descr
===================================================================
--- gcc-ecj45/pkg-descr (revision 0)
+++ gcc-ecj45/pkg-descr (working copy)
@@ -0,0 +1,2 @@
+A pre-built version of the Eclipse Java Compiler (ECJ) used to build
+the Java frontend of the GNU Compiler Collection (GCC).
Index: gcc48/Makefile
===================================================================
--- gcc48/Makefile (revision 310417)
+++ gcc48/Makefile (working copy)
@@ -98,13 +98,12 @@
.endif
.if ${PORT_OPTIONS:MJAVA}
-ECJ_JAR= ecj-4.5.jar
-MASTER_SITES+= ${MASTER_SITE_SOURCEWARE:S|$|:ecj|}
-MASTER_SITE_SUBDIR+= java/:ecj
-DISTFILES+= ${ECJ_JAR}:ecj
-EXTRACT_ONLY= ${DISTFILES:S|${ECJ_JAR}:ecj||}
-BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip
+ECJ_JAR= ${LOCALBASE}/share/java/ecj-4.5.jar
+BUILD_DEPENDS+= ${ECJ_JAR}:${PORTSDIR}/lang/gcc-ecj45 \
+ zip:${PORTSDIR}/archivers/zip
+RUN_DEPENDS+= ${ECJ_JAR}:${PORTSDIR}/lang/gcc-ecj45
EXTRA_PATCHES+= ${FILESDIR}/java-patch-hier
+CONFIGURE_ARGS+=--with-ecj-jar=${ECJ_JAR}
LANGUAGES:= ${LANGUAGES},java
MAN1+= aot-compile${SUFFIX}.1 \
gappletviewer${SUFFIX}.1 \
@@ -136,10 +135,6 @@
gcc${SUFFIX}/gcj \
gcc${SUFFIX}/libffi
PLIST_SUB+= JAVA=""
-
-# Prep the source tree for the GCJ build.
-post-patch::
- @${CP} ${DISTDIR}/${ECJ_JAR} ${SRCDIR}/ecj.jar
.else
CONFIGURE_ARGS+=--disable-libgcj
PLIST_SUB+= JAVA="@comment "
Index: gcc48/distinfo
===================================================================
--- gcc48/distinfo (revision 310417)
+++ gcc48/distinfo (working copy)
@@ -1,4 +1,2 @@
SHA256 (gcc-4.8-20130106.tar.bz2) = 5da1212249d54b907bf515a86e99bcf197123c29fac9d1b6f9955cb157ab7a47
SIZE (gcc-4.8-20130106.tar.bz2) = 81998118
-SHA256 (ecj-4.5.jar) = 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
-SIZE (ecj-4.5.jar) = 1470676
Index: gcc48/pkg-plist
===================================================================
--- gcc48/pkg-plist (revision 310417)
+++ gcc48/pkg-plist (working copy)
@@ -50,7 +50,6 @@
%%JAVA%%bin/jv-convert%%SUFFIX%%
%%JAVA%%bin/rebuild-gcj-db%%SUFFIX%%
%%JAVA%%libdata/pkgconfig/libgcj-4.8.pc
-%%JAVA%%share/java/ecj.jar
%%JAVA%%share/java/libgcj-%%GCC_VERSION%%.jar
%%JAVA%%share/java/libgcj-tools-%%GCC_VERSION%%.jar
@exec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi
More information about the freebsd-ports
mailing list