Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Dec 2005 12:16:05 GMT
From:      Masanori OZAWA <ozawa@ongs.co.jp>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/89928: [PATCH] lang/gdc: update to 0.17
Message-ID:  <200512041216.jB4CG5LX078731@www.freebsd.org>
Resent-Message-ID: <200512041220.jB4CK2nK026751@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         89928
>Category:       ports
>Synopsis:       [PATCH] lang/gdc: update to 0.17
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 04 12:20:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Masanori OZAWA
>Release:        FreeBSD 6.0-RELEASE
>Organization:
ONGS Inc.
>Environment:
FreeBSD mithos.ongs.co.jp 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 10 14:06:38 JST 2005     root@mithos.ongs.co.jp:/usr/obj/usr/src/sys/MITHOS  i386
>Description:
 - update to 0.17
 - It became to be able to build by GCC 4.0.x.
>How-To-Repeat:
              
>Fix:
diff -urN gdc.orig/Makefile gdc/Makefile
--- gdc.orig/Makefile	Thu Nov 10 03:58:27 2005
+++ gdc/Makefile	Sun Dec  4 21:00:56 2005
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	gdc
-PORTVERSION=	0.16
+PORTVERSION=	0.17
 CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_GCC} \
 		http://home.earthlink.net/~dvdfrdmn/d/:gdc
@@ -22,11 +22,13 @@
 
 USE_BISON=	yes
 USE_BZIP2=	yes
-USE_GCC=	3.4
 USE_GMAKE=	yes
+USE_PERL5_BUILD=yes
 USE_REINPLACE=	yes
 
-WRKSRC=		${WRKDIR}/gcc-${GCC_VERSIONSTRING}
+SRCDIR=		${WRKDIR}/gcc-${GCC_VERSIONSTRING}
+WRKSRC=		${WRKDIR}/build
+PATCH_WRKSRC=	${SRCDIR}
 
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS+=--disable-nls \
@@ -34,32 +36,59 @@
 		--with-libiconv-prefix=${LOCALBASE} \
 		--disable-shared \
 		--enable-languages=c,c++,d
+CONFIGURE_SCRIPT=	../${SRCDIR:C/${WRKDIR}\///}/configure
 
 PLIST_SUB=	GCC_VER=${GCC_VERSION} CONF_TARGET=${CONFIGURE_TARGET}
 
 MAN1=		gdc.1
 
-GCCDIR=		${WRKSRC}/gcc
+.ifndef TARGET_GCC
+TARGET_GCC=	3.4	# default
+.elif ${TARGET_GCC} != 3.4 && ${TARGET_GCC} != 4.0
+.error it cannot be specified as TARGET_GCC other than 3.4 or 4.0
+.endif
+
+.if ${TARGET_GCC} == 4.0
+GCC_VERSION=	4.0.3
+GCC_REVISION=	20051201
+GCC_VERSIONSTRING=	4.0-${GCC_REVISION}
+.else
 GCC_VERSION=	3.4.5
-GCC_REVISION=	20050920
+GCC_REVISION=	20051122
 GCC_VERSIONSTRING=	3.4-${GCC_REVISION}
+.endif
+
+GCCDIR=		${SRCDIR}/gcc
 GDC_INC=	${PREFIX}/include/d/${GCC_VERSION}
 
 .include <bsd.port.pre.mk>
 
-.if ${OSVERSION} < 500000
-IGNORE=		It is supported on FreeBSD 5.x and later.
+.if ${OSVERSION} < 500039
+# GDC required g++ version on the system of 3.x 4.0.1 and later.
+IGNORE=		it is supported on FreeBSD 5.x and later
 .endif
 
 .if ${ARCH} == "amd64"
+# I hope the GDC will support amd64.
 CONFIGURE_TARGET=	x86_64-portbld-freebsd${OSREL}
 .endif
 
+pre-fetch:
+	@${ECHO_CMD}
+	@${ECHO_CMD} "======================================================="
+	@${ECHO_CMD}
+	@${ECHO_CMD} "GDC is built with GCC version '${TARGET_GCC}'."
+	@${ECHO_CMD}
+	@${ECHO_CMD} "You can set 'TARGET_GCC' variable to '3.4' or '4.0'."
+	@${ECHO_CMD}
+	@${ECHO_CMD} "======================================================="
+	@${ECHO_CMD}
+
 post-extract:
 	@${MV} ${WRKDIR}/d ${GCCDIR}
 
 post-patch:
-	@(cd ${WRKSRC} && ${SH} ./gcc/d/setup-gcc.sh)
+	@(cd ${SRCDIR} && ${SH} ./gcc/d/setup-gcc.sh)
 	@${REINPLACE_CMD} -e \
 		's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
 		${GCCDIR}/version.c
@@ -67,6 +96,11 @@
 		's|^\(gcc_d_include_dir\).*|\1 = ${GDC_INC}|' \
 		${GCCDIR}/d/Make-lang.in
 
+pre-configure:
+	@(cd ${SRCDIR} ; contrib/gcc_update --touch)
+	@${RM} -f ${SRCDIR}/gcc/*/*.info*
+	@${MKDIR} ${CONFIGURE_WRKSRC}
+
 post-build:
 	@${ECHO_CMD}
 	@${ECHO_CMD} "======================================================="
@@ -79,8 +113,8 @@
 	@${ECHO_CMD}
 
 do-install:
-	${INSTALL_PROGRAM} ${GCCDIR}/gdc ${PREFIX}/bin
-	${INSTALL_PROGRAM} ${GCCDIR}/cc1d ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/gcc/gdc ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/gcc/cc1d ${PREFIX}/bin
 	${INSTALL_MAN} ${GCCDIR}/d/gdc.1 ${PREFIX}/man/man1
 	@(cd ${WRKSRC} && ${GMAKE} install-target-libphobos)
 
diff -urN gdc.orig/distinfo gdc/distinfo
--- gdc.orig/distinfo	Thu Nov 10 03:58:27 2005
+++ gdc/distinfo	Sun Dec  4 14:09:38 2005
@@ -1,6 +1,15 @@
-MD5 (gdc-0.16.tar.bz2) = 8591f5244088825573bbcff9aea1e1f3
-SIZE (gdc-0.16.tar.bz2) = 924218
-MD5 (gcc-core-3.4-20050920.tar.bz2) = d1323b6dc41d28f67b724823fc7244ca
-SIZE (gcc-core-3.4-20050920.tar.bz2) = 11115747
-MD5 (gcc-g++-3.4-20050920.tar.bz2) = 6640e827ec158e2df44d4ae58b771765
-SIZE (gcc-g++-3.4-20050920.tar.bz2) = 2480879
+MD5 (gdc-0.17.tar.bz2) = 4e8cccc0d416cb6d7e5bd043901dcedb
+SHA256 (gdc-0.17.tar.bz2) = 85e426fde257767c82bdade6d63480b8a0b5b15afceee410db178fbbf6157833
+SIZE (gdc-0.17.tar.bz2) = 931385
+MD5 (gcc-core-3.4-20051122.tar.bz2) = c4f761455ed52bd3155d27a31a769a43
+SHA256 (gcc-core-3.4-20051122.tar.bz2) = 56af77864024197f9e76373bb2401bde850fd3138d98a5942cbbf6fc5231375b
+SIZE (gcc-core-3.4-20051122.tar.bz2) = 11378875
+MD5 (gcc-g++-3.4-20051122.tar.bz2) = f9e8bad717ed5c3645c01830ca9cf448
+SHA256 (gcc-g++-3.4-20051122.tar.bz2) = 1f28c15207cf95d47d633b25e8bac3bc46c77d4c07dd94bce5505ec591b1c594
+SIZE (gcc-g++-3.4-20051122.tar.bz2) = 2557604
+MD5 (gcc-core-4.0-20051201.tar.bz2) = ce8d5872396d1aefd2b471208ad70d32
+SHA256 (gcc-core-4.0-20051201.tar.bz2) = d22fae731f303c8c001cc740d0d582e6fef1991b326de167b372fdcbb1e53a47
+SIZE (gcc-core-4.0-20051201.tar.bz2) = 13774989
+MD5 (gcc-g++-4.0-20051201.tar.bz2) = 93978791ac7e7b300182f0eac40d426c
+SHA256 (gcc-g++-4.0-20051201.tar.bz2) = f88e5f34e1ba502c0b9f2998c0f76e6626df838a51417f9fe14a8a974123b08c
+SIZE (gcc-g++-4.0-20051201.tar.bz2) = 2705481
diff -urN gdc.orig/files/patch-gcc_d_phobos_config_gen_unix.c gdc/files/patch-gcc_d_phobos_config_gen_unix.c
--- gdc.orig/files/patch-gcc_d_phobos_config_gen_unix.c	Thu Jan  1 09:00:00 1970
+++ gdc/files/patch-gcc_d_phobos_config_gen_unix.c	Sun Dec  4 17:53:24 2005
@@ -0,0 +1,14 @@
+--- gcc/d/phobos/config/gen_unix.c.orig	Sun Dec  4 17:51:01 2005
++++ gcc/d/phobos/config/gen_unix.c	Sun Dec  4 17:51:42 2005
+@@ -115,7 +115,11 @@
+ 	finish_struct(fi, 2, sizeof(rec), "timezone");
+     }
+     {
++#ifdef HAVE_TM_GMTOFF_AND_ZONE
++	FieldInfo fi[11];
++#else
+ 	FieldInfo fi[9];
++#endif
+ 	unsigned n;
+ 	struct tm rec;
+ 	INT_FIELD(fi[0], tm_sec);
diff -urN gdc.orig/pkg-plist gdc/pkg-plist
--- gdc.orig/pkg-plist	Thu Nov 10 03:58:27 2005
+++ gdc/pkg-plist	Sun Dec  4 19:01:11 2005
@@ -79,6 +79,7 @@
 include/d/%%GCC_VER%%/std/ctype.d
 include/d/%%GCC_VER%%/std/date.d
 include/d/%%GCC_VER%%/std/dateparse.d
+include/d/%%GCC_VER%%/std/demangle.d
 include/d/%%GCC_VER%%/std/file.d
 include/d/%%GCC_VER%%/std/format.d
 include/d/%%GCC_VER%%/std/gc.d
@@ -177,6 +178,7 @@
 include/d/%%GCC_VER%%/std/typeinfo/ti_ushort.d
 include/d/%%GCC_VER%%/std/typeinfo/ti_void.d
 include/d/%%GCC_VER%%/std/typeinfo/ti_wchar.d
+include/d/%%GCC_VER%%/std/windows/charset.d
 include/d/%%GCC_VER%%/std/windows/iunknown.d
 include/d/%%GCC_VER%%/std/windows/registry.d
 include/d/%%GCC_VER%%/std/windows/syserror.d

>Release-Note:
>Audit-Trail:
>Unformatted:



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