ports/156541: [MAINTAINER] Upgrade gnat-aux to release version and add C++
John Marino
freebsdml at marino.st
Thu Apr 21 06:00:21 UTC 2011
>Number: 156541
>Category: ports
>Synopsis: [MAINTAINER] Upgrade gnat-aux to release version and add C++
>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 Apr 21 06:00:20 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: John Marino
>Release:
>Organization:
>Environment:
>Description:
This patch provides the following:
1. Upgrades gnat-aux to mirror gcc 4.6.0 release (The current version is equivalent to pre-release candidate)
2. Adds an option to build C++, which is "on" by default. A number of programs require both C and Ada and it's convenient to have the same compiler collection build those parts.
3. Additional testsuites were added (C and C++)
4. Dejagnu was demoted to an optional dependency. If not testsuites are selected, which is the new default, then dejagnu is not considered a dependency.
5. gnat-aux no longer builds MAKEINFO which conflicts with other gcc ports.
6. The unnecessary libquadmath is no longer built.
7. The makefile now uses gcc's install-strip function instead of manually stripping the symbols after installation.
It seems that if gnat-aux already exists on the system and is being upgraded in place, an error regarding the gnat documentation will occur during the deinstallation phase. It is caused by the prior version having enabled MAKEINFO which is now disabled. To help users avoid this error, the following update to /usr/ports/UPDATING is recommended:
20110421:
AFFECTS: users of lang/gnat-aux
AUTHOR: John Marino <draco at marino.st>
To avoid an error about GNAT documentation during the reinstallation phase
it is suggested that gnat-aux be completely deinstalled and rebuilt. For
example, use:
# cd /usr/ports/lang/gnat-aux
# make deinstall clean
# make install clean
>How-To-Repeat:
>Fix:
--- Makefile.orig 2011-04-03 13:32:52.000000000 +0200
+++ Makefile 2011-04-20 23:30:33.000000000 +0200
@@ -17,7 +17,6 @@
LIB_DEPENDS= gmp.10:${PORTSDIR}/math/gmp
LIB_DEPENDS+= mpfr.4:${PORTSDIR}/math/mpfr
LIB_DEPENDS+= mpc.2:${PORTSDIR}/math/mpc
-BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu
ONLY_FOR_ARCHES= i386 amd64
@@ -30,9 +29,10 @@
USE_LDCONFIG= yes
ALL_TARGET= default
-SNAPSHOT= 20110107
+SNAPSHOT= 20110325
GCC_BRANCH= 4.6
GCC_POINT= 0
+LANGS= c
THREAD_MODEL= posix
INTENDED_COMPILER= NATIVE
@@ -40,7 +40,14 @@
BOOTSTRAP_TRIPLET= NOT_SET
FULL_GNATGCC= NOT_SET
+OPTIONS= ADA "Build Ada language" on
+OPTIONS+= CXX "Build C++ language" on
+OPTIONS+= TS_ADA "Enable Ada testsuite" off
+OPTIONS+= TS_CXX "Enable C++ testsuite" off
+OPTIONS+= TS_GCC "Enable GCC testsuite" off
+
.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
.if ${ARCH} == "amd64"
BLD_TARGET= x86_64-aux-freebsd${OSREL}
@@ -63,8 +70,7 @@
CONFIGURE_SCRIPT= ${GCC_WRKSRC}/configure
REVFILE= ${GCC_WRKSRC}/gcc/REVISION
LPATH= lib/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
-LEPATH= libexec/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
-LELIST= cc1 collect2 gnat1 lto1
+LEPATH= libexec/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
MAN1= gnatcpp.1 gnatgcc.1 gnatgcov.1
MAN7= fsf-funding.7 gfdl.7 gpl.7
MAN1PREFIX= ${PREFIX}/share
@@ -92,17 +98,53 @@
DISTFILES=${PORTNAME}-${SNAPSHOT}.tar.bz2 ${BOOTSTRAP_COMPILER}
.endif
+###########
+## Ada ##
+###########
+
+.if defined(WITH_ADA)
+LANGS+= ada
+.endif
+
+###########
+## C++ ##
+###########
+
+.if defined(WITH_CXX)
+LANGS+= c++
+MAN1+= gnatg++.1
+LCXXPATH= include/c++/${GCC_BRANCH}.${GCC_POINT}
+LSHRPATH= share/gcc-${GCC_BRANCH}.${GCC_POINT}
+PLIST_SUB+= CXX=""
+.else
+PLIST_SUB+= CXX="@comment "
+.endif
+
+##################
+## Testsuites ##
+##################
+
+.if defined(WITH_TS_ADA) \
+ || defined(WITH_TS_CXX) \
+ || defined(WITH_TS_GCC)
+BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu
+.endif
+
# for port maintenance, uncomment to invoke "make makesum"
# DISTFILES=${PORTNAME}-${SNAPSHOT}.tar.bz2 \
# gnat-aux-460.i386.freebsd.tar.bz2 \
# gnat-aux-460.x86_64.freebsd.tar.bz2
# Establish Ada-aware compiler for use
-ADA_CONFIGURE_ENV= CC=${FULL_GNATGCC} PATH=${FULL_PATH} CONFIG_SHELL=${SH}
+ADA_CONFIGURE_ENV= CC=${FULL_GNATGCC}
+ADA_CONFIGURE_ENV+= PATH=${FULL_PATH}
+ADA_CONFIGURE_ENV+= CONFIG_SHELL=${SH}
+ADA_CONFIGURE_ENV+= MAKEINFO=/usr/bin/false
ADA_MAKE_ENV= PATH=${FULL_PATH}
+ADA_MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}/gcc
# The standard configuration options
-CONFIGURE_ARGS= --enable-languages=c,ada
+CONFIGURE_ARGS= --enable-languages=${LANGS:Q}
CONFIGURE_ARGS+= --build=${BLD_TARGET}
CONFIGURE_ARGS+= --program-prefix=gnat
CONFIGURE_ARGS+= --prefix=${PREFIX}
@@ -114,13 +156,12 @@
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --enable-threads=${THREAD_MODEL}
CONFIGURE_ARGS+= --disable-bootstrap
+CONFIGURE_ARGS+= --disable-libquadmath
CONFIGURE_ARGS+= --disable-libmudflap
CONFIGURE_ARGS+= --disable-libgomp
CONFIGURE_ARGS+= --disable-libssp
CONFIGURE_ARGS+= --disable-nls
-MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
-
post-extract:
# Personalize GNAT for each different machine
@${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE}
@@ -151,14 +192,24 @@
cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} all
test: build
+.if defined(WITH_TS_ADA)
cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada
+.endif
+.if defined(WITH_TS_CXX)
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c++
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} \
+ ${GMAKE} -sk check-target-libstdc++-v3
+.endif
+.if defined(WITH_TS_GCC)
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c
+.endif
do-install:
- cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip
-post-install: strip-exec
+post-install:
${RM} -f ${WRKDIR}/PLIST.lib
-.for d in ${LPATH} ${LEPATH}
+.for d in ${LPATH} ${LEPATH} ${LCXXPATH} ${LSHRPATH}
cd ${PREFIX} ; ${FIND} $d \( -type f -or -type l \) | ${SORT} >> ${WRKDIR}/PLIST.lib
cd ${PREFIX} ; ${FIND} $d -type d | ${SORT} -r | \
${SED} -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.lib
@@ -167,13 +218,8 @@
${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc/${BLD_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/include/c++ 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
cd ${WRKDIR}; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
-strip-exec:
- ${STRIP_CMD} ${PREFIX}/bin/gnat*
-.for k in ${LELIST}
- ${STRIP_CMD} ${PREFIX}/${LEPATH}/${k}
-.endfor
-
.include <bsd.port.post.mk>
--- pkg-plist.orig 2011-04-03 13:32:31.000000000 +0200
+++ pkg-plist 2011-04-20 07:29:15.000000000 +0200
@@ -1,10 +1,11 @@
- at comment $FreeBSD
bin/gnat
bin/gnatbind
bin/gnatchop
bin/gnatclean
+%%CXX%%bin/gnatc++
bin/gnatcpp
bin/gnatfind
+%%CXX%%bin/gnatg++
bin/gnatgcc
bin/gnatgcov
bin/gnatkr
@@ -15,24 +16,19 @@
bin/gnatprep
bin/gnatxref
bin/%%GNU_HOST%%-gcc-%%GCC_VER%%
+%%CXX%%bin/%%GNU_HOST%%-gnatc++
+%%CXX%%bin/%%GNU_HOST%%-gnatg++
bin/%%GNU_HOST%%-gnatgcc
-share/info/cpp.info
-share/info/cppinternals.info
-share/info/dir
-share/info/gcc.info
-share/info/gccinstall.info
-share/info/gccint.info
-share/info/gnat-style.info
-share/info/gnat_rm.info
-share/info/gnat_ugn.info
-share/info/libquadmath.info
lib/libgcc_s.so
lib/libgcc_s.so.1
lib/libiberty.a
-lib/libquadmath.la
-lib/libquadmath.a
-lib/libquadmath.so
-lib/libquadmath.so.0
+%%CXX%%lib/libstdc++.a
+%%CXX%%lib/libstdc++.la
+%%CXX%%lib/libstdc++.so
+%%CXX%%lib/libstdc++.so.6
+%%CXX%%lib/libstdc++.so.6-gdb.py
+%%CXX%%lib/libsupc++.a
+%%CXX%%lib/libsupc++.la
@dirrmtry share/info
@dirrmtry share/man/man1
@dirrmtry share/man/man7
--- distinfo.orig 2011-04-03 13:32:23.000000000 +0200
+++ distinfo 2011-04-20 07:29:13.000000000 +0200
@@ -1,5 +1,5 @@
-SHA256 (gnat-aux-20110107.tar.bz2) = b686a639117a283e4659240439b95b446aada76825e352b12c5925918d3a8cab
-SIZE (gnat-aux-20110107.tar.bz2) = 23176092
+SHA256 (gnat-aux-20110325.tar.bz2) = 9d4e2e071cd88179d3553d105735afe0e5a67e9832d50c53c1d3dfe1af46daa5
+SIZE (gnat-aux-20110325.tar.bz2) = 26700051
SHA256 (gnat-bootstrap.i386.freebsd.tar.bz2) = c38e1c960f651c3f248c1ef540b1df724058fa71c1d046af93ce975483abb645
SIZE (gnat-bootstrap.i386.freebsd.tar.bz2) = 27973176
SHA256 (gnat-bootstrap.x86_64.freebsd.tar.bz2) = c4abd6af1281785d47d99352e28e41b2a1455e25ff347eca0de5791cdede9ed8
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list