Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Oct 2007 02:20:33 +0200 (CEST)
From:      Karel Miklav <karel@lovetemple.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        Boris Samorodov <bsam@ipt.ru>
Subject:   ports/117466: [UPDATE] lang/gnat-gcc42 to 4.2.2, unbroken on 7.0
Message-ID:  <200710250020.l9P0KXRl028199@tp.unitedpeople.net>
Resent-Message-ID: <200710250100.l9P100gR095849@freefall.freebsd.org>

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

>Number:         117466
>Category:       ports
>Synopsis:       [UPDATE] lang/gnat-gcc42 to 4.2.2, unbroken on 7.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 25 01:00:00 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Karel Miklav
>Release:        FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
FreeBSD bsd7.xxx.com 7.0-BETA1
FreeBSD 7.0-BETA1 #0: Sat Oct 20 00:47:13 UTC 2007
root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
Port doesn't build on FreeBSD 7.0 since version 700050, when putenv(3)
behavior changed. Changes:

 - putenv(3) assumption in GNAT patched
 - uses GCC 4.2.2 release
 - PORTVERSION bumped
>How-To-Repeat:
	Build on a system where $OSVERSION >= 700050.
>Fix:
diff -urN gnat-gcc42.orig/Makefile gnat-gcc42/Makefile
--- gnat-gcc42.orig/Makefile	Fri Oct 19 19:43:58 2007
+++ gnat-gcc42/Makefile	Thu Oct 25 01:50:26 2007
@@ -9,14 +9,14 @@
 
 PORTNAME=		gnat-gcc
 PORTVERSION=		4.2.2
-PORTREVISION=		1
+PORTREVISION=		2
 CATEGORIES=		lang
-MASTER_SITES=		GCC/snapshots/${versionstring} \
+MASTER_SITES=		GCC/releases/gcc-${PORTVERSION} \
 			CENKES:boot \
 			http://lovetemple.net/data/:boot
-DISTFILES=		gcc-core-${versionstring}${EXTRACT_SUFX} \
-			gcc-ada-${versionstring}${EXTRACT_SUFX} \
-			gcc-testsuite-${versionstring}${EXTRACT_SUFX} \
+DISTFILES=		gcc-core-${PORTVERSION}${EXTRACT_SUFX} \
+			gcc-ada-${PORTVERSION}${EXTRACT_SUFX} \
+			gcc-testsuite-${PORTVERSION}${EXTRACT_SUFX} \
 			gnat-gcc41-boot-${boot_stamp}.tbz:boot
 
 MAINTAINER=		karel@lovetemple.net
@@ -52,13 +52,7 @@
 
 .include <bsd.port.pre.mk>
 
-.if ${OSVERSION} >= 700042
-BROKEN=			Broken with gcc 4.2
-.endif
-
-gcc_snapshot=		20070822
-versionstring=		${PORTVERSION:C/\.[0-9]*$//}-${gcc_snapshot}
-srcdir=			${WRKDIR}/gcc-${versionstring}
+srcdir=			${WRKDIR}/gcc-${PORTVERSION}
 gcc_suffix=		42
 fsf_mans=		fsf-funding gfdl gpl
 fsf_suffix=		-${PORTNAME}${gcc_suffix}
@@ -100,16 +94,21 @@
 	@${ECHO_MSG} -n "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} "
 	@${ECHO_MSG}     "${OSREL} target=${CONFIGURE_TARGET}"
 
-# Append ' [FreeBSD]' to the gcc version string.
 post-patch:
-	@${REINPLACE_CMD} \
+	# Append ' [FreeBSD]' to the gcc version string.
+	${REINPLACE_CMD} \
 	    -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
 	    ${srcdir}/gcc/version.c
+	# New putenv(3) behavior in FreeBSD 7.
+	if [ ${OSVERSION} -ge 700050 ]; then \
+	    ${REINPLACE_CMD} -e 's/#if defined (__FreeBSD__) ||/#if/' \
+	        ${srcdir}/gcc/ada/env.c; \
+	fi
 
 pre-configure:
 	cd ${srcdir} ; contrib/gcc_update --touch
-	@${RM} -f ${srcdir}/gcc/*/*.info*
-	@${MKDIR} ${CONFIGURE_WRKSRC}
+	${RM} -f ${srcdir}/gcc/*/*.info*
+	${MKDIR} ${CONFIGURE_WRKSRC}
 
 post-build:
 	@${ECHO_MSG} -n "Consider running 'make check' before 'make install', "
diff -urN gnat-gcc42.orig/distinfo gnat-gcc42/distinfo
--- gnat-gcc42.orig/distinfo	Mon Sep 17 22:53:25 2007
+++ gnat-gcc42/distinfo	Thu Oct 25 01:50:26 2007
@@ -1,12 +1,12 @@
-MD5 (gcc-core-4.2-20070822.tar.bz2) = f60f35a7c60f3853da315e0135376a11
-SHA256 (gcc-core-4.2-20070822.tar.bz2) = 1d09a5fd64ec339b8bc016ef9bf4eb7e1cdcd91e6c0821fa6e4cac6fdcbc81ce
-SIZE (gcc-core-4.2-20070822.tar.bz2) = 16401201
-MD5 (gcc-ada-4.2-20070822.tar.bz2) = 99f802aad36ffde6707eb3653431713b
-SHA256 (gcc-ada-4.2-20070822.tar.bz2) = 99bfe203a02e8999beb2401ce7ac5c086b0f952769b8059742e8025dd03b68f0
-SIZE (gcc-ada-4.2-20070822.tar.bz2) = 4748087
-MD5 (gcc-testsuite-4.2-20070822.tar.bz2) = 7d158cd501039eedb20ada0a3e0c4879
-SHA256 (gcc-testsuite-4.2-20070822.tar.bz2) = 85fbaf62303b3566c3bb8b0fac44d4cd1638cae891ec06221bafa350312f7ebe
-SIZE (gcc-testsuite-4.2-20070822.tar.bz2) = 3871944
+MD5 (gcc-core-4.2.2.tar.bz2) = b02a013580a9555c7c8f2ca554c02722
+SHA256 (gcc-core-4.2.2.tar.bz2) = 0aa0e8855ed2a18557116da97a3786b753e8f117024c974a78bf8b1a49e30d06
+SIZE (gcc-core-4.2.2.tar.bz2) = 19104360
+MD5 (gcc-ada-4.2.2.tar.bz2) = 041927b3a469acacd1ec328b97007659
+SHA256 (gcc-ada-4.2.2.tar.bz2) = 5d73099544b0ebd39a1ccf20f684e0826c1c2fbec97dd1d7a7d4458912b4dc8a
+SIZE (gcc-ada-4.2.2.tar.bz2) = 4686287
+MD5 (gcc-testsuite-4.2.2.tar.bz2) = 269c9793672ea32e7191ab3624c28a7f
+SHA256 (gcc-testsuite-4.2.2.tar.bz2) = c72a27f8e4514861d5961d9a59ebb5dbed4007716db71761cc0e9bb58377423a
+SIZE (gcc-testsuite-4.2.2.tar.bz2) = 3840901
 MD5 (gnat-gcc41-boot-i386-freebsd-4.tbz) = a9848cbeb6a0dca57cbe312e1546b79e
 SIZE (gnat-gcc41-boot-i386-freebsd-4.tbz) = 11508394
 MD5 (gnat-gcc41-boot-i386-freebsd-5.tbz) = e439eaefcafdf6056896a16a89671a9e
>Release-Note:
>Audit-Trail:
>Unformatted:



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