Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jun 2007 00:11:55 +0200 (CEST)
From:      Karel Miklav <karel@lovetemple.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/113205: [NEW PORT] lang/gnat-gcc43 
Message-ID:  <200705312211.l4VMBtZZ001584@tp.unitedpeople.net>
Resent-Message-ID: <200705312220.l4VMK4MY017973@freefall.freebsd.org>

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

>Number:         113205
>Category:       ports
>Synopsis:       [NEW PORT] lang/gnat-gcc43
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 31 22:20:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Karel Miklav
>Release:        FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD tp.unitedpeople.net 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Jan 21 06:33:02 CET 2007 root@tp.unitedpeople.net:/usr/obj/usr/src/sys/TPX40 i386
	
>Description:
The last missing piece of GCC/GNAT Ada compilers.
	
>How-To-Repeat:
	
>Fix:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	gnat-gcc43
#	gnat-gcc43/files
#	gnat-gcc43/files/patch-gengtype-yacc.y
#	gnat-gcc43/files/patch-gcc-ada-Makefile.in
#	gnat-gcc43/pkg-plist
#	gnat-gcc43/pkg-descr
#	gnat-gcc43/Makefile
#	gnat-gcc43/distinfo
#
echo c - gnat-gcc43
mkdir -p gnat-gcc43 > /dev/null 2>&1
echo c - gnat-gcc43/files
mkdir -p gnat-gcc43/files > /dev/null 2>&1
echo x - gnat-gcc43/files/patch-gengtype-yacc.y
sed 's/^X//' >gnat-gcc43/files/patch-gengtype-yacc.y << 'END-of-gnat-gcc43/files/patch-gengtype-yacc.y'
X--- gcc/gengtype-yacc.y.orig	Fri Sep 20 00:33:24 2002
X+++ gcc/gengtype-yacc.y	Tue Apr 22 09:11:27 2003
X@@ -24,6 +24,9 @@
X #include "system.h"
X #include "gengtype.h"
X #define YYERROR_VERBOSE
X+
X+#define malloc xmalloc
X+#define realloc xrealloc
X %}
X 
X %union {
END-of-gnat-gcc43/files/patch-gengtype-yacc.y
echo x - gnat-gcc43/files/patch-gcc-ada-Makefile.in
sed 's/^X//' >gnat-gcc43/files/patch-gcc-ada-Makefile.in << 'END-of-gnat-gcc43/files/patch-gcc-ada-Makefile.in'
X--- gcc/ada/Makefile.in.orig	Wed May  9 06:22:48 2007
X+++ gcc/ada/Makefile.in	Wed May  9 06:31:51 2007
X@@ -855,7 +855,7 @@
X   GNATLIB_SHARED = gnatlib-shared-dual
X 
X   EH_MECHANISM=-gcc
X-  THREADSLIB= -lpthread
X+  THREADSLIB= ${PTHREAD_LIBS}
X   GMEM_LIB = gmemlib
X   PREFIX_OBJS = $(PREFIX_REAL_OBJS)
X   LIBRARY_VERSION := $(LIB_VERSION)
END-of-gnat-gcc43/files/patch-gcc-ada-Makefile.in
echo x - gnat-gcc43/pkg-plist
sed 's/^X//' >gnat-gcc43/pkg-plist << 'END-of-gnat-gcc43/pkg-plist'
Xbin/gcc%%SUFFIX%%/cpp%%SUFFIX%%
Xbin/gcc%%SUFFIX%%/gcc
Xbin/gcc%%SUFFIX%%/gcc%%SUFFIX%%
Xbin/gcc%%SUFFIX%%/gccbug%%SUFFIX%%
Xbin/gcc%%SUFFIX%%/gcov%%SUFFIX%%
Xbin/gcc%%SUFFIX%%/gnat
Xbin/gcc%%SUFFIX%%/gnatbind
Xbin/gcc%%SUFFIX%%/gnatbl
Xbin/gcc%%SUFFIX%%/gnatchop
Xbin/gcc%%SUFFIX%%/gnatclean
Xbin/gcc%%SUFFIX%%/gnatfind
Xbin/gcc%%SUFFIX%%/gnatkr
Xbin/gcc%%SUFFIX%%/gnatlink
Xbin/gcc%%SUFFIX%%/gnatls
Xbin/gcc%%SUFFIX%%/gnatmake
Xbin/gcc%%SUFFIX%%/gnatname
Xbin/gcc%%SUFFIX%%/gnatprep
Xbin/gcc%%SUFFIX%%/gnatxref
Xbin/gcc%%SUFFIX%%/%%GNU_HOST%%-gcc-%%GCC_VER%%
Xbin/gcc%%SUFFIX%%/%%GNU_HOST%%-gcc%%SUFFIX%%
Xinfo/gcc%%SUFFIX%%/dir
X@dirrm bin/gcc%%SUFFIX%%
X@comment Insert PLIST.lib here
END-of-gnat-gcc43/pkg-plist
echo x - gnat-gcc43/pkg-descr
sed 's/^X//' >gnat-gcc43/pkg-descr << 'END-of-gnat-gcc43/pkg-descr'
XThe GNU Ada compiler system built from GCC 4.2.0.
X
XPlease add ${PREFIX}/bin/gcc42 to your PATH variable
Xbefore using this port.
X
XWWW: http://gcc.gnu.org/
END-of-gnat-gcc43/pkg-descr
echo x - gnat-gcc43/Makefile
sed 's/^X//' >gnat-gcc43/Makefile << 'END-of-gnat-gcc43/Makefile'
X# ex:ts=8
X#
X# Ports collection makefile for: gnat-gcc
X# Date created:		9 Jul 2006
X# Whom:			Karel Miklav <karel@lovetemple.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME=		gnat-gcc
XPORTVERSION=		4.3.0
XCATEGORIES=		lang
XMASTER_SITES=		${MASTER_SITE_GCC} \
X			http://lovetemple.net/data/:boot
XMASTER_SITE_SUBDIR=	snapshots/${versionstring}
XDISTFILES=		gcc-core-${versionstring}${EXTRACT_SUFX} \
X			gcc-ada-${versionstring}${EXTRACT_SUFX} \
X			gcc-testsuite-${versionstring}${EXTRACT_SUFX} \
X			gnat-gcc41-boot-${boot_stamp}.tbz:boot
X
XMAINTAINER=		karel@lovetemple.net
XCOMMENT=		The GNU Ada Compiler system
X
XLIB_DEPENDS=		gmp.7:${PORTSDIR}/math/libgmp4 \
X			mpfr.1:${PORTSDIR}/math/mpfr
X
XONLY_FOR_ARCHS=		i386
X
XUSE_BZIP2=		yes
XUSE_GMAKE=		yes
XUSE_ICONV=		yes
XUSE_PERL5_BUILD=	yes # Needed for man pages.
XUSE_BISON=		yes
X
XCONFLICTS=		gcc-4.3.*
XWRKSRC=			${WRKDIR}/build
X
XMAN1=			cpp${gcc_suffix}.1 \
X			gcc${gcc_suffix}.1 \
X			gcov${gcc_suffix}.1
XMAN7=			${fsf_mans:S/$/${fsf_suffix}.7/}
XNOMANCOMPRESS=		yes # XXX 5-cur and releng4 problems?
XINFO=			gcc${gcc_suffix}/cpp \
X			gcc${gcc_suffix}/cppinternals \
X			gcc${gcc_suffix}/gcc \
X			gcc${gcc_suffix}/gccinstall \
X			gcc${gcc_suffix}/gccint \
X			gcc${gcc_suffix}/gnat-style \
X			gcc${gcc_suffix}/gnat_rm \
X			gcc${gcc_suffix}/gnat_ugn_unw \
X			gcc${gcc_suffix}/libgomp
X
XLATEST_LINK=		${PORTNAME}${gcc_suffix}
X
X.include <bsd.port.pre.mk>
X
Xgcc_snapshot=		20070518
Xversionstring=		${PORTVERSION:C/\.[0-9]*$//}-${gcc_snapshot}
Xsrcdir=			${WRKDIR}/gcc-${versionstring}
Xgcc_suffix=		43
Xfsf_mans=		fsf-funding gfdl gpl
Xfsf_suffix=		-${PORTNAME}${gcc_suffix}
Xtarglib=		${PREFIX}/lib/gcc-${PORTVERSION}
Xgcc_link=		${PREFIX}/bin/gcc${gcc_suffix}/gcc
Xboot_stamp=		${ARCH}-freebsd-${OSREL:C/\.[0-9.]*//}
Xcheck_target=		check
X
XPATCH_WRKSRC=		${srcdir}
X
XGNU_CONFIGURE=		yes
XCONFIGURE_SCRIPT=	../${srcdir:C/${WRKDIR}//}/configure
XCONFIGURE_ARGS=		--enable-languages="c,ada" \
X			--disable-nls \
X			--with-system-zlib \
X			--with-libiconv-prefix=${LOCALBASE} \
X			--program-suffix=${gcc_suffix} \
X			--bindir=${PREFIX}/bin/gcc${gcc_suffix} \
X			--libdir=${targlib} \
X			--infodir=${PREFIX}/${INFO_PATH}/gcc${gcc_suffix}
X
XALL_TARGET=		bootstrap-lean
XMAKE_ENV+=		MAKEINFOFLAGS="--no-split" PTHREAD_LIBS=${PTHREAD_LIBS}
X
XPLIST_SUB=		GCC_VER=${PORTVERSION} \
X			GNU_HOST=${CONFIGURE_TARGET} \
X			SUFFIX=${gcc_suffix}
X
XUSE_LDCONFIG=		${targlib}
X
X# Prepare environment for the bootstrap compiler.
Xbuild_env=		CC=${WRKDIR}/boot/bin/gcc \
X			PTHREAD_LIBS=${PTHREAD_LIBS} \
X			PATH=${WRKDIR}/boot/bin:${WRKDIR}/boot/libexec:${PATH}
X
XCONFIGURE_ENV+=		${build_env}
XMAKE_ENV+=		${build_env}
X
Xpre-everything::
X	@${ECHO_MSG} -n "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} "
X	@${ECHO_MSG}     "${OSREL} target=${CONFIGURE_TARGET}"
X
X# Append ' [FreeBSD]' to the gcc version string.
Xpost-patch:
X	@${REINPLACE_CMD} \
X	    -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
X	    ${srcdir}/gcc/version.c
X
Xpre-configure:
X	cd ${srcdir} ; contrib/gcc_update --touch
X	@${RM} -f ${srcdir}/gcc/*/*.info*
X	@${MKDIR} ${CONFIGURE_WRKSRC}
X
Xpost-build:
X	@${ECHO_MSG} -n "Consider running 'make check' before 'make install', "
X	@${ECHO_MSG} -n "especially if you have not performed this build on "
X	@${ECHO_MSG} -n "-STABLE or -CURRENT. This assumes that you have "
X	@${ECHO_MSG}    "dejagnu and autogen ports installed."
X
Xcheck: build
X	cd ${WRKSRC} && \
X	export RUNTESTFLAGS='--target_board ''unix{-pthread}''' && \
X	${GMAKE} -sk ${check_target}
X
Xpost-install:
X	# Create a gcc link.
X	${RM} -f ${gcc_link}
X	${LN} -s ${PREFIX}/bin/gcc${gcc_suffix}/gcc${gcc_suffix} ${gcc_link}
X	# This empty fortran directory is making trouble.
X	${RM} -rf ${PREFIX}/lib/gcc-${PORTVERSION}/gcc/${CONFIGURE_TARGET}/${PORTVERSION}/finclude
X	# Man pages can only be generated if Perl >= 5.6 is installed; fake them otherwise.
X	for mp in ${_MANPAGES}; do \
X	    ${TEST} -e $${mp} || ${TOUCH} ${TOUCH_FLAGS} $${mp}; \
X	done
X	# Version FSF funding and licensing manuals. XXX Fix before it happens!
X	for mp in ${fsf_mans}; do \
X	    ${MV} -f ${PREFIX}/man/man7/$${mp}.7 \
X	        ${PREFIX}/man/man7/$${mp}${fsf_suffix}.7; \
X	done
X	# Prepare a temporary list of installed libraries and include files.
X	${RM} -f ${WRKDIR}/PLIST.lib
X	for d in lib/gcc-${PORTVERSION} libexec/gcc/${CONFIGURE_TARGET}/${PORTVERSION}; do \
X	    cd ${PREFIX}; \
X	    if [ -d $${d} ]; then \
X	        ${FIND} $${d} -type f -o -type l >>${WRKDIR}/PLIST.lib; \
X	        ${FIND} $${d} -type d | ${SORT} -r | ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib; \
X	    fi; \
X	done
X	# Following directories should be removed on deinstal if empty. Add them to the temporary list.
X	${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc/${CONFIGURE_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
X	${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
X	# Insert the temporary list in the packing list.
X	cd ${WRKDIR}; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
X
X.include <bsd.port.post.mk>
END-of-gnat-gcc43/Makefile
echo x - gnat-gcc43/distinfo
sed 's/^X//' >gnat-gcc43/distinfo << 'END-of-gnat-gcc43/distinfo'
XMD5 (gcc-core-4.3-20070518.tar.bz2) = 176f3d054e4f360644f7da8a674144b5
XSHA256 (gcc-core-4.3-20070518.tar.bz2) = 95f9ccacec0209020403f41a0a8f51e90ec5cfacf1cee9275d677c3a25b45dc6
XSIZE (gcc-core-4.3-20070518.tar.bz2) = 17259423
XMD5 (gcc-ada-4.3-20070518.tar.bz2) = 5cb6e5507ef7d53b1f171588ba8c9720
XSHA256 (gcc-ada-4.3-20070518.tar.bz2) = 5787f9dea27e5499da4886271120ae83bb2b682a7d04940464a9645d8686ce5c
XSIZE (gcc-ada-4.3-20070518.tar.bz2) = 4981310
XMD5 (gcc-testsuite-4.3-20070518.tar.bz2) = 4a450c3558b822628b0ca362306b9ab6
XSHA256 (gcc-testsuite-4.3-20070518.tar.bz2) = a80bda0aa95367f470eb12a999cf967aabc4a9e558436beb652503898f28a7a2
XSIZE (gcc-testsuite-4.3-20070518.tar.bz2) = 4040620
XMD5 (gnat-gcc41-boot-i386-freebsd-4.tbz) = a9848cbeb6a0dca57cbe312e1546b79e
XSIZE (gnat-gcc41-boot-i386-freebsd-4.tbz) = 11508394
XMD5 (gnat-gcc41-boot-i386-freebsd-5.tbz) = e439eaefcafdf6056896a16a89671a9e
XSHA256 (gnat-gcc41-boot-i386-freebsd-5.tbz) = 16b00882f06b4c3813a379ad6c089c3c70c17cdcbb4d07ca33d390c906b5dd16
XSIZE (gnat-gcc41-boot-i386-freebsd-5.tbz) = 11503432
XMD5 (gnat-gcc41-boot-i386-freebsd-6.tbz) = 155c930f11f04f04c32f5f9371649352
XSHA256 (gnat-gcc41-boot-i386-freebsd-6.tbz) = 7b3eae94a9dadf901ed55bf660f24f34ecb19f2d48245fe352a6137366dc5fac
XSIZE (gnat-gcc41-boot-i386-freebsd-6.tbz) = 11840609
XMD5 (gnat-gcc41-boot-i386-freebsd-7.tbz) = 3d35eb856a515fb2aeb665c8a81e7a95
XSHA256 (gnat-gcc41-boot-i386-freebsd-7.tbz) = e8bab1a79c372dda9abc40129c6ee8dfd72503430e865bec8396d491e78a292f
XSIZE (gnat-gcc41-boot-i386-freebsd-7.tbz) = 11606581
END-of-gnat-gcc43/distinfo
exit



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



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