Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2013 01:35:27 +0100 (CET)
From:      Gerald Pfeifer <gerald@pfeifer.com>
To:        ports@FreeBSD.org, java@FreeBSD.org
Subject:   Breaking out gcc-ecj45 from lang/gcc{,46,47,48}
Message-ID:  <alpine.LNX.2.00.1301150126580.2028@tuna.site>

next in thread | raw e-mail | index | archive | help
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@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LNX.2.00.1301150126580.2028>