From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Jul 5 18:40:03 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3B1F1065674 for ; Sun, 5 Jul 2009 18:40:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 7DEFF8FC12 for ; Sun, 5 Jul 2009 18:40:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n65Ie3C6088125 for ; Sun, 5 Jul 2009 18:40:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n65Ie3hv088124; Sun, 5 Jul 2009 18:40:03 GMT (envelope-from gnats) Resent-Date: Sun, 5 Jul 2009 18:40:03 GMT Resent-Message-Id: <200907051840.n65Ie3hv088124@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, M Rothwell Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8B35106566C for ; Sun, 5 Jul 2009 18:36:58 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id D5DE18FC14 for ; Sun, 5 Jul 2009 18:36:58 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n65IawuE087183 for ; Sun, 5 Jul 2009 18:36:58 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n65IawuI087182; Sun, 5 Jul 2009 18:36:58 GMT (envelope-from nobody) Message-Id: <200907051836.n65IawuI087182@www.freebsd.org> Date: Sun, 5 Jul 2009 18:36:58 GMT From: M Rothwell To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/136359: New port - lang/gnat-gcc44 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 18:40:03 -0000 >Number: 136359 >Category: ports >Synopsis: New port - lang/gnat-gcc44 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jul 05 18:40:03 UTC 2009 >Closed-Date: >Last-Modified: >Originator: M Rothwell >Release: 7.2-RELEASE >Organization: n/a >Environment: >Description: New port. >How-To-Repeat: >Fix: Patch attached with submission follows: # 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: # # lang.gnat-gcc44 # lang.gnat-gcc44/Makefile # lang.gnat-gcc44/distinfo # lang.gnat-gcc44/pkg-descr # lang.gnat-gcc44/files # lang.gnat-gcc44/files/system-freebsd-x86_64.ads.patch # lang.gnat-gcc44/files/gcc-interface-Makefile.in.patch # lang.gnat-gcc44/pkg-plist # echo c - lang.gnat-gcc44 mkdir -p lang.gnat-gcc44 > /dev/null 2>&1 echo x - lang.gnat-gcc44/Makefile sed 's/^X//' >lang.gnat-gcc44/Makefile << '3836f74216733f6562b63dd0816d4a5f' X# ex:ts=8 X# Ports collection makefile for: gnat-gcc X# Date created: 2009-07-04 X# Whom: X# X# $FreeBSD$ X# X XPORTNAME= gnat-gcc XPORTVERSION= 4.4.0 XCATEGORIES= lang XMASTER_SITES= GCC/releases/gcc-${PORTVERSION} \ X http://coreland.ath.cx/data/code/gnatport/src/:boot XDISTFILES= gcc-core-${PORTVERSION}${EXTRACT_SUFX} \ X gcc-ada-${PORTVERSION}${EXTRACT_SUFX} \ X gcc-testsuite-${PORTVERSION}${EXTRACT_SUFX} \ X gnat-gcc44-boot-${boot_stamp}.tbz:boot X XMAINTAINER= freebsd-ports@coreland.ath.cx XCOMMENT= The GNU Ada Compiler system X XLIB_DEPENDS= gmp.8:${PORTSDIR}/math/libgmp4 \ X mpfr.3:${PORTSDIR}/math/mpfr X XONLY_FOR_ARCHS= i386 amd64 X XUSE_BZIP2= yes XUSE_GMAKE= yes XUSE_ICONV= yes XUSE_PERL5_BUILD= yes # Needed for man pages. XUSE_BISON= build X XCONFLICTS= gcc-4.4.* 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 \ X gcc${gcc_suffix}/libgomp X XLATEST_LINK= ${PORTNAME}${gcc_suffix} X X.include X Xsrcdir= ${WRKDIR}/gcc-${PORTVERSION} Xgcc_suffix= 44 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.]*//:S/8/7/} Xcheck_target= check # XXX X XPATCH_WRKSRC= ${srcdir} X XGNU_CONFIGURE= yes XCONFIGURE_SCRIPT= ../${srcdir:C/${WRKDIR}//}/configure X X# XXX: This should be automated with GNU_CONFIGURE. For some reason, X# it isn't. X X.if ${ARCH} == "amd64" XCONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} X.else XCONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL} X.endif X 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 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. XCC= ${WRKDIR}/boot/bin/gcc Xbuild_env= PTHREAD_LIBS=${PTHREAD_LIBS} \ X PATH=${WRKDIR}/boot/bin:${WRKDIR}/boot/libexec:${PATH} X XCONFIGURE_ENV+= ${build_env} CC="${CC}" 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 Xpost-patch: X # Append ' [FreeBSD]' to the gcc version string. X ${REINPLACE_CMD} \ X -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \ X ${srcdir}/gcc/version.c X # New putenv(3) behavior in FreeBSD 7. X if [ ${OSVERSION} -ge 700050 ]; then \ X ${REINPLACE_CMD} -e 's/#if defined (__FreeBSD__) ||/#if/' \ X ${srcdir}/gcc/ada/env.c; \ X fi 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 3836f74216733f6562b63dd0816d4a5f echo x - lang.gnat-gcc44/distinfo sed 's/^X//' >lang.gnat-gcc44/distinfo << '6e083b8dd7253edbd34a1489f65a3183' XMD5 (gcc-core-4.4.0.tar.bz2) = c7e65c47fa94541f7f6cd0cf3d9c850b XSHA256 (gcc-core-4.4.0.tar.bz2) = 619fadd010408b1f7ef09b3ffb5af01e5a2604109d762fdc1c66f0dc898e0f5c XSIZE (gcc-core-4.4.0.tar.bz2) = 25722128 XMD5 (gcc-ada-4.4.0.tar.bz2) = fe387009d6fcd56fa4c11beaffe1a05f XSHA256 (gcc-ada-4.4.0.tar.bz2) = 39a81afa402bb866c1d33816ed8dfe5c5c50156ae651c035907f0b0470f3dcb6 XSIZE (gcc-ada-4.4.0.tar.bz2) = 5431582 XMD5 (gcc-testsuite-4.4.0.tar.bz2) = c18d53bf941614217a5748b9c98c7e22 XSHA256 (gcc-testsuite-4.4.0.tar.bz2) = c7d27efbbb4a7894318c9bf6f07bc7b0410d43294cb9dbdd4d95244e892456d7 XSIZE (gcc-testsuite-4.4.0.tar.bz2) = 5040536 XMD5 (gnat-gcc44-boot-amd64-freebsd-7.tbz) = 62979789dbc22b75fbfca2db92d96e41 XSHA256 (gnat-gcc44-boot-amd64-freebsd-7.tbz) = 524d3f390930dce7f0ec9dd80474fb1c6bda1bbef93b9c1ba8071a5262bfc2ed XSIZE (gnat-gcc44-boot-amd64-freebsd-7.tbz) = 55023288 6e083b8dd7253edbd34a1489f65a3183 echo x - lang.gnat-gcc44/pkg-descr sed 's/^X//' >lang.gnat-gcc44/pkg-descr << '37bffb4ece9eef6ad319f27ac48c1f89' XThe GNU Ada compiler system built from GCC 4.4.0. X XPlease add ${PREFIX}/bin/gcc44 to your PATH variable Xbefore using this port. X XWWW: http://gcc.gnu.org/ 37bffb4ece9eef6ad319f27ac48c1f89 echo c - lang.gnat-gcc44/files mkdir -p lang.gnat-gcc44/files > /dev/null 2>&1 echo x - lang.gnat-gcc44/files/system-freebsd-x86_64.ads.patch sed 's/^X//' >lang.gnat-gcc44/files/system-freebsd-x86_64.ads.patch << '8276f7968dd20a41a17d056e6f334c7c' X--- gcc/ada/system-freebsd-x86_64.ads.orig 1970-01-01 01:00:00.000000000 +0100 X+++ gcc/ada/system-freebsd-x86_64.ads 2009-07-05 14:19:37.000000000 +0100 X@@ -0,0 +1,145 @@ X+------------------------------------------------------------------------------ X+-- -- X+-- GNAT RUN-TIME COMPONENTS -- X+-- -- X+-- S Y S T E M -- X+-- -- X+-- S p e c -- X+-- (FreeBSD/x86 Version) -- X+-- -- X+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- X+-- -- X+-- This specification is derived from the Ada Reference Manual for use with -- X+-- GNAT. The copyright notice above, and the license provisions that follow -- X+-- apply solely to the contents of the part following the private keyword. -- X+-- -- X+-- GNAT is free software; you can redistribute it and/or modify it under -- X+-- terms of the GNU General Public License as published by the Free Soft- -- X+-- ware Foundation; either version 3, or (at your option) any later ver- -- X+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- X+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- X+-- or FITNESS FOR A PARTICULAR PURPOSE. -- X+-- -- X+-- As a special exception under Section 7 of GPL version 3, you are granted -- X+-- additional permissions described in the GCC Runtime Library Exception, -- X+-- version 3.1, as published by the Free Software Foundation. -- X+-- -- X+-- You should have received a copy of the GNU General Public License and -- X+-- a copy of the GCC Runtime Library Exception along with this program; -- X+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- X+-- . -- X+-- -- X+-- GNAT was originally developed by the GNAT team at New York University. -- X+-- Extensive contributions were provided by Ada Core Technologies Inc. -- X+-- -- X+------------------------------------------------------------------------------ X+ X+package System is X+ pragma Pure; X+ -- Note that we take advantage of the implementation permission to make X+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada X+ -- 2005, this is Pure in any case (AI-362). X+ X+ type Name is (SYSTEM_NAME_GNAT); X+ System_Name : constant Name := SYSTEM_NAME_GNAT; X+ X+ -- System-Dependent Named Numbers X+ X+ Min_Int : constant := Long_Long_Integer'First; X+ Max_Int : constant := Long_Long_Integer'Last; X+ X+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size; X+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1; X+ X+ Max_Base_Digits : constant := Long_Long_Float'Digits; X+ Max_Digits : constant := Long_Long_Float'Digits; X+ X+ Max_Mantissa : constant := 63; X+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa); X+ X+ Tick : constant := 0.000_001; X+ X+ -- Storage-related Declarations X+ X+ type Address is private; X+ pragma Preelaborable_Initialization (Address); X+ Null_Address : constant Address; X+ X+ Storage_Unit : constant := 8; X+ Word_Size : constant := 64; X+ Memory_Size : constant := 2 ** 64; X+ X+ -- Address comparison X+ X+ function "<" (Left, Right : Address) return Boolean; X+ function "<=" (Left, Right : Address) return Boolean; X+ function ">" (Left, Right : Address) return Boolean; X+ function ">=" (Left, Right : Address) return Boolean; X+ function "=" (Left, Right : Address) return Boolean; X+ X+ pragma Import (Intrinsic, "<"); X+ pragma Import (Intrinsic, "<="); X+ pragma Import (Intrinsic, ">"); X+ pragma Import (Intrinsic, ">="); X+ pragma Import (Intrinsic, "="); X+ X+ -- Other System-Dependent Declarations X+ X+ type Bit_Order is (High_Order_First, Low_Order_First); X+ Default_Bit_Order : constant Bit_Order := Low_Order_First; X+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning X+ X+ -- Priority-related Declarations (RM D.1) X+ X+ Max_Priority : constant Positive := 30; X+ Max_Interrupt_Priority : constant Positive := 31; X+ X+ subtype Any_Priority is Integer range 0 .. 31; X+ subtype Priority is Any_Priority range 0 .. 30; X+ subtype Interrupt_Priority is Any_Priority range 31 .. 31; X+ X+ Default_Priority : constant Priority := 15; X+ X+private X+ X+ type Address is mod Memory_Size; X+ Null_Address : constant Address := 0; X+ X+ -------------------------------------- X+ -- System Implementation Parameters -- X+ -------------------------------------- X+ X+ -- These parameters provide information about the target that is used X+ -- by the compiler. They are in the private part of System, where they X+ -- can be accessed using the special circuitry in the Targparm unit X+ -- whose source should be consulted for more detailed descriptions X+ -- of the individual switch values. X+ X+ Backend_Divide_Checks : constant Boolean := False; X+ Backend_Overflow_Checks : constant Boolean := False; X+ Command_Line_Args : constant Boolean := True; X+ Configurable_Run_Time : constant Boolean := False; X+ Denorm : constant Boolean := True; X+ Duration_32_Bits : constant Boolean := False; X+ Exit_Status_Supported : constant Boolean := True; X+ Fractional_Fixed_Ops : constant Boolean := False; X+ Frontend_Layout : constant Boolean := False; X+ Machine_Overflows : constant Boolean := False; X+ Machine_Rounds : constant Boolean := True; X+ Preallocated_Stacks : constant Boolean := False; X+ Signed_Zeros : constant Boolean := True; X+ Stack_Check_Default : constant Boolean := False; X+ Stack_Check_Probes : constant Boolean := True; X+ Stack_Check_Limits : constant Boolean := False; X+ Support_64_Bit_Divides : constant Boolean := True; X+ Support_Aggregates : constant Boolean := True; X+ Support_Composite_Assign : constant Boolean := True; X+ Support_Composite_Compare : constant Boolean := True; X+ Support_Long_Shifts : constant Boolean := True; X+ Always_Compatible_Rep : constant Boolean := False; X+ Suppress_Standard_Library : constant Boolean := False; X+ Use_Ada_Main_Program_Name : constant Boolean := False; X+ ZCX_By_Default : constant Boolean := True; X+ GCC_ZCX_Support : constant Boolean := True; X+ X+end System; 8276f7968dd20a41a17d056e6f334c7c echo x - lang.gnat-gcc44/files/gcc-interface-Makefile.in.patch sed 's/^X//' >lang.gnat-gcc44/files/gcc-interface-Makefile.in.patch << 'a51f54c20704e2af48d77e4588c38450' X--- gcc/ada/gcc-interface/Makefile.in.old 2009-07-05 14:26:09.000000000 +0100 X+++ gcc/ada/gcc-interface/Makefile.in 2009-07-05 14:27:11.000000000 +0100 X@@ -903,6 +903,33 @@ X LIBRARY_VERSION := $(LIB_VERSION) X endif X X+ifeq ($(strip $(filter-out %x86_64 freebsd%,$(arch) $(osys))),) X+ LIBGNAT_TARGET_PAIRS = \ X+ a-intnam.adslang.gnat-gcc44/pkg-plist << 'a02c86d09d87f1832f4e77b0cc7d2b22' 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%%/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 a02c86d09d87f1832f4e77b0cc7d2b22 exit >Release-Note: >Audit-Trail: >Unformatted: