Bug 175072 - lang/gcc47: Installing gcc-4.7.3.20121208...pkg: gcc-4.7.3.20121208 conflicts with gcc-4.6.3 (installs files into the same place). Problematic file: /usr/local/share/java/ecj.jar
lang/gcc47: Installing gcc-4.7.3.20121208...pkg: gcc-4.7.3.20121208 conflicts...
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: Gerald Pfeifer
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-01-06 20:20 UTC by ohartman
Modified: 2013-03-03 15:30 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ohartman 2013-01-06 20:20:00 UTC
Can't install port lang/gcc47 when either lang/gcc or lang/gcc46 are installed already.

[...]
install-info --quiet /usr/local/info/gcc47/cpp.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/cppinternals.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/gcc.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/gccinstall.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/gccint.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/gfortran.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/libgomp.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/libquadmath.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/libitm.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/cp-tools.info /usr/local/info/dir
install-info --quiet /usr/local/info/gcc47/gcj.info /usr/local/info/dir
===>   Compressing manual pages for gcc-4.7.3.20121208
===>   Running ldconfig
/sbin/ldconfig -m /usr/local/lib/gcc47
===>   Installing ldconfig configuration file
===>   Registering installation for gcc-4.7.3.20121208 as automatic
Installing gcc-4.7.3.20121208...pkg: gcc-4.7.3.20121208 conflicts with gcc-4.6.3 (installs files into the same place).  Problematic file: /usr/local/share/java/ecj.jar
*** [fake-pkg] Error code 70

Stop in /usr/ports/lang/gcc47.
*** [install] Error code 1

Stop in /usr/ports/lang/gcc47.

===>>> Installation of gcc-4.7.3.20121208 (lang/gcc47) failed
===>>> Aborting update

===>>> Update for lang/gcc47 failed
===>>> Aborting update

===>>> Update for editors/libreoffice failed
===>>> Aborting update

Terminated

===>>> You can restart from the point of failure with this command line:
       portmaster <flags> editors/libreoffice lang/gcc47 graphics/blender
Comment 1 Edwin Groothuis freebsd_committer 2013-01-06 20:20:31 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gerald

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 gerald 2013-01-15 00:38:11 UTC
Thanks for the report.  Below you'll find my proposal on how to
address this (for lang/gcc48, not lang/gcc47 yet, though it should
work to just apply the Makefile part of the patch for lang/gcc48).

I have shared this with ports@FreeBSD.org and java@FreeBSD.org,
and plan on committing it later this week.

Feedback very welcome!

Gerald


[T]o 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.)


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
Comment 3 dfilter freebsd_committer 2013-01-20 15:22:20 UTC
Author: gerald
Date: Sun Jan 20 15:22:12 2013
New Revision: 310694
URL: http://svnweb.freebsd.org/changeset/ports/310694

Log:
  Welcome gcc-ecj45, a new port that provides a pre-built version of the
  Eclipse Java Compiler (ECJ) used to build and support the Java frontend
  of GCC, the GNU Compiler Collection.
  
  This is not new code to us, but breaks out what we have been manually
  (and redundantly) carrying in our four GCC 4.6, 4.7 and 4.8 ports
  lang/gcc, lang/gcc46, lang/gcc47 and lang/gcc48.
  
  PR:		175072

Added:
  head/lang/gcc-ecj45/
  head/lang/gcc-ecj45/Makefile   (contents, props changed)
  head/lang/gcc-ecj45/distinfo   (contents, props changed)
  head/lang/gcc-ecj45/pkg-descr   (contents, props changed)
Modified:
  head/lang/Makefile

Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile	Sun Jan 20 15:11:34 2013	(r310693)
+++ head/lang/Makefile	Sun Jan 20 15:22:12 2013	(r310694)
@@ -85,6 +85,7 @@
     SUBDIR += gawk
     SUBDIR += gcc
     SUBDIR += gcc-aux
+    SUBDIR += gcc-ecj45
     SUBDIR += gcc34
     SUBDIR += gcc42
     SUBDIR += gcc44

Added: head/lang/gcc-ecj45/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gcc-ecj45/Makefile	Sun Jan 20 15:22:12 2013	(r310694)
@@ -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>

Added: head/lang/gcc-ecj45/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gcc-ecj45/distinfo	Sun Jan 20 15:22:12 2013	(r310694)
@@ -0,0 +1,2 @@
+SHA256 (ecj-4.5.jar) = 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
+SIZE (ecj-4.5.jar) = 1470676

Added: head/lang/gcc-ecj45/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gcc-ecj45/pkg-descr	Sun Jan 20 15:22:12 2013	(r310694)
@@ -0,0 +1,2 @@
+A pre-built version of the Eclipse Java Compiler (ECJ) used to build
+and support the Java frontend of the GNU Compiler Collection (GCC).
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 dfilter freebsd_committer 2013-01-20 16:44:12 UTC
Author: gerald
Date: Sun Jan 20 16:44:04 2013
New Revision: 310702
URL: http://svnweb.freebsd.org/changeset/ports/310702

Log:
  Use the new lang/gcc-ecj45 port when building the Java frontend
  instead of including a pre-built version of the Eclipse Java Compiler
  (ECJ) ourselves. [1]
  
  On the way, update to the 20130113 snapshot of GCC 4.8.0.
  
  PR:		175072

Modified:
  head/lang/gcc48/Makefile
  head/lang/gcc48/distinfo
  head/lang/gcc48/pkg-plist

Modified: head/lang/gcc48/Makefile
==============================================================================
--- head/lang/gcc48/Makefile	Sun Jan 20 16:28:39 2013	(r310701)
+++ head/lang/gcc48/Makefile	Sun Jan 20 16:44:04 2013	(r310702)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	gcc
-PORTVERSION=	4.8.0.20130106
+PORTVERSION=	4.8.0.20130113
 CATEGORIES=	lang java
 MASTER_SITES=	${MASTER_SITE_GCC}
 MASTER_SITE_SUBDIR=	snapshots/${VERSIONSTRING}
@@ -98,13 +98,12 @@ INFO+=		gcc${SUFFIX}/libquadmath	\
 .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 @@ INFO+=		gcc${SUFFIX}/cp-tools \
 		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 "

Modified: head/lang/gcc48/distinfo
==============================================================================
--- head/lang/gcc48/distinfo	Sun Jan 20 16:28:39 2013	(r310701)
+++ head/lang/gcc48/distinfo	Sun Jan 20 16:44:04 2013	(r310702)
@@ -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
+SHA256 (gcc-4.8-20130113.tar.bz2) = c0435b2813f29be158becff35a7cdf0202f21e25a504dd76f7c001ff2fec9556
+SIZE (gcc-4.8-20130113.tar.bz2) = 82087685

Modified: head/lang/gcc48/pkg-plist
==============================================================================
--- head/lang/gcc48/pkg-plist	Sun Jan 20 16:28:39 2013	(r310701)
+++ head/lang/gcc48/pkg-plist	Sun Jan 20 16:44:04 2013	(r310702)
@@ -50,7 +50,6 @@ share/gcc-%%GCC_VERSION%%/python/libstdc
 %%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
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 5 dfilter freebsd_committer 2013-01-20 22:32:51 UTC
Author: gerald
Date: Sun Jan 20 22:32:38 2013
New Revision: 310720
URL: http://svnweb.freebsd.org/changeset/ports/310720

Log:
  Use the new lang/gcc-ecj45 port when building the Java frontend
  instead of including a pre-built version of the Eclipse Java Compiler
  (ECJ) ourselves. [1]
  
  On the way, update to the 20130119 snapshot of GCC 4.7.3.
  
  PR:		175072 [1]

Modified:
  head/lang/gcc47/Makefile
  head/lang/gcc47/distinfo

Modified: head/lang/gcc47/Makefile
==============================================================================
--- head/lang/gcc47/Makefile	Sun Jan 20 21:52:54 2013	(r310719)
+++ head/lang/gcc47/Makefile	Sun Jan 20 22:32:38 2013	(r310720)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	gcc
-PORTVERSION=	4.7.3.20121208
+PORTVERSION=	4.7.3.20130119
 CATEGORIES=	lang java
 MASTER_SITES=	${MASTER_SITE_GCC}
 MASTER_SITE_SUBDIR=	snapshots/${VERSIONSTRING}
@@ -98,13 +98,12 @@ INFO+=		gcc${SUFFIX}/libquadmath	\
 .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 \
@@ -134,10 +133,6 @@ MAN3=		ffi${SUFFIX}.3 \
 INFO+=		gcc${SUFFIX}/cp-tools \
 		gcc${SUFFIX}/gcj
 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 "

Modified: head/lang/gcc47/distinfo
==============================================================================
--- head/lang/gcc47/distinfo	Sun Jan 20 21:52:54 2013	(r310719)
+++ head/lang/gcc47/distinfo	Sun Jan 20 22:32:38 2013	(r310720)
@@ -1,4 +1,2 @@
-SHA256 (gcc-4.7-20121208.tar.bz2) = 4ab4ffb1b601fd9e878adae4c41f46f311e06648b2be30109ea8a32c67d50b1b
-SIZE (gcc-4.7-20121208.tar.bz2) = 78906669
-SHA256 (ecj-4.5.jar) = 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
-SIZE (ecj-4.5.jar) = 1470676
+SHA256 (gcc-4.7-20130119.tar.bz2) = 2998f93ee19835a33e32978cb5f2d3be715b8d7ba4164f298d3b050f928e4128
+SIZE (gcc-4.7-20130119.tar.bz2) = 78918084
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 6 Gerald Pfeifer freebsd_committer 2013-01-20 23:55:40 UTC
State Changed
From-To: open->closed

Thanks for your report!  lang/gcc47 and lang/gcc48 have now been 
reworked to avoid this issue, which leaves lang/gcc46 and lang/gcc 
as the two ones with the old approach of copying ecj.jar by them- 
selves, and since these two ports are in conflict we should be fine 
and I am marking this as closed.
Comment 7 dfilter freebsd_committer 2013-01-26 14:24:13 UTC
Author: gerald
Date: Sat Jan 26 14:23:59 2013
New Revision: 311012
URL: http://svnweb.freebsd.org/changeset/ports/311012

Log:
  Use the new lang/gcc-ecj45 port when building the Java frontend
  instead of including a pre-built version of the Eclipse Java Compiler
  (ECJ) ourselves. [1]
  
  Replace the use of DISTFILES by DISTNAME, since we are now down to
  one in all cases.
  
  On the way, update to the 20130125 of GCC 4.6.4.
  
  PR:		175072 [1]

Modified:
  head/lang/gcc46/Makefile
  head/lang/gcc46/distinfo
  head/lang/gcc46/pkg-plist

Modified: head/lang/gcc46/Makefile
==============================================================================
--- head/lang/gcc46/Makefile	Sat Jan 26 14:21:23 2013	(r311011)
+++ head/lang/gcc46/Makefile	Sat Jan 26 14:23:59 2013	(r311012)
@@ -2,11 +2,11 @@
 # $FreeBSD$
 
 PORTNAME=	gcc
-PORTVERSION=	4.6.4.20121123
+PORTVERSION=	4.6.4.20130125
 CATEGORIES=	lang java
 MASTER_SITES=	${MASTER_SITE_GCC}
 MASTER_SITE_SUBDIR=	snapshots/${VERSIONSTRING}
-DISTFILES=	gcc-${VERSIONSTRING}${EXTRACT_SUFX}
+DISTNAME=	gcc-${VERSIONSTRING}
 
 MAINTAINER=	gerald@FreeBSD.org
 COMMENT=	GNU Compiler Collection 4.6
@@ -95,13 +95,12 @@ INFO+=		gcc${SUFFIX}/libquadmath
 .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 \
@@ -131,10 +130,6 @@ MAN3=		ffi${SUFFIX}.3 \
 INFO+=		gcc${SUFFIX}/cp-tools \
 		gcc${SUFFIX}/gcj
 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 "

Modified: head/lang/gcc46/distinfo
==============================================================================
--- head/lang/gcc46/distinfo	Sat Jan 26 14:21:23 2013	(r311011)
+++ head/lang/gcc46/distinfo	Sat Jan 26 14:23:59 2013	(r311012)
@@ -1,4 +1,2 @@
-SHA256 (gcc-4.6-20121123.tar.bz2) = 6e14eab5225d65244930e6c16aa66870717039b04d6a42fe1c6680f54fe792da
-SIZE (gcc-4.6-20121123.tar.bz2) = 68150899
-SHA256 (ecj-4.5.jar) = 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
-SIZE (ecj-4.5.jar) = 1470676
+SHA256 (gcc-4.6-20130125.tar.bz2) = 5c70fa848c1490f074519158fc9fc3296fa97fc9e1f385dcb5060c6018199850
+SIZE (gcc-4.6-20130125.tar.bz2) = 68133790

Modified: head/lang/gcc46/pkg-plist
==============================================================================
--- head/lang/gcc46/pkg-plist	Sat Jan 26 14:21:23 2013	(r311011)
+++ head/lang/gcc46/pkg-plist	Sat Jan 26 14:23:59 2013	(r311012)
@@ -44,7 +44,6 @@ share/gcc-%%GCC_VERSION%%/python/libstdc
 %%JAVA%%bin/jv-convert%%SUFFIX%%
 %%JAVA%%bin/rebuild-gcj-db%%SUFFIX%%
 %%JAVA%%libdata/pkgconfig/libgcj-4.6.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
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 8 dfilter freebsd_committer 2013-03-03 15:22:27 UTC
Author: gerald
Date: Sun Mar  3 15:22:18 2013
New Revision: 313359
URL: http://svnweb.freebsd.org/changeset/ports/313359

Log:
  Use the new lang/gcc-ecj45 port when building the Java frontend
  instead of including a pre-built version of the Eclipse Java Compiler
  (ECJ) ourselves. [1]
  
  Replace the use of DISTFILES by DISTNAME, since we are now down to
  one in all cases.
  
  Make binutils a build dependency as well (not just a run-time dependency).
  
  PR:		175072 [1]

Modified:
  head/lang/gcc/Makefile
  head/lang/gcc/distinfo
  head/lang/gcc/pkg-plist

Modified: head/lang/gcc/Makefile
==============================================================================
--- head/lang/gcc/Makefile	Sun Mar  3 15:17:19 2013	(r313358)
+++ head/lang/gcc/Makefile	Sun Mar  3 15:22:18 2013	(r313359)
@@ -6,7 +6,7 @@ PORTVERSION=	4.6.3
 CATEGORIES=	lang java
 MASTER_SITES=	${MASTER_SITE_GCC}
 MASTER_SITE_SUBDIR=	releases/gcc-${VERSIONSTRING}
-DISTFILES=	gcc-${VERSIONSTRING}${EXTRACT_SUFX}
+DISTNAME=	gcc-${VERSIONSTRING}
 
 MAINTAINER=	gerald@FreeBSD.org
 COMMENT=	GNU Compiler Collection 4.6
@@ -14,6 +14,7 @@ COMMENT=	GNU Compiler Collection 4.6
 LIB_DEPENDS=	gmp:${PORTSDIR}/math/gmp \
 		mpfr:${PORTSDIR}/math/mpfr \
 		mpc:${PORTSDIR}/math/mpc
+BUILD_DEPENDS+=	${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
 RUN_DEPENDS+=	${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
 
 .if defined(MAINTAINER_MODE)
@@ -94,13 +95,12 @@ INFO+=		gcc${SUFFIX}/libquadmath
 #.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 \
@@ -130,10 +130,6 @@ MAN3=		ffi${SUFFIX}.3 \
 INFO+=		gcc${SUFFIX}/cp-tools \
 		gcc${SUFFIX}/gcj
 PLIST_SUB+=	JAVA=""
-
-# Preps 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 "

Modified: head/lang/gcc/distinfo
==============================================================================
--- head/lang/gcc/distinfo	Sun Mar  3 15:17:19 2013	(r313358)
+++ head/lang/gcc/distinfo	Sun Mar  3 15:22:18 2013	(r313359)
@@ -1,4 +1,2 @@
 SHA256 (gcc-4.6.3.tar.bz2) = e8f5853d4eec2f5ebaf8a72ae4d53c436aacf98153b2499f8635b48c4718a093
 SIZE (gcc-4.6.3.tar.bz2) = 71999439
-SHA256 (ecj-4.5.jar) = 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
-SIZE (ecj-4.5.jar) = 1470676

Modified: head/lang/gcc/pkg-plist
==============================================================================
--- head/lang/gcc/pkg-plist	Sun Mar  3 15:17:19 2013	(r313358)
+++ head/lang/gcc/pkg-plist	Sun Mar  3 15:22:18 2013	(r313359)
@@ -44,7 +44,6 @@ share/gcc-%%GCC_VERSION%%/python/libstdc
 %%JAVA%%bin/jv-convert%%SUFFIX%%
 %%JAVA%%bin/rebuild-gcj-db%%SUFFIX%%
 %%JAVA%%libdata/pkgconfig/libgcj-4.6.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
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"