ports/106656: Patch: lang/gnat-gcc41 does not build with custom bootstrapper
Karel Miklav
karel at lovetemple.net
Wed Dec 13 05:40:10 UTC 2006
>Number: 106656
>Category: ports
>Synopsis: Patch: lang/gnat-gcc41 does not build with custom bootstrapper
>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: Wed Dec 13 05:40:09 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Karel Miklav
>Release: FreeBSD 6.2-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD tp.unitedpeople.info 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Thu Oct 12 00:18:05 CEST 2006 lino at tp.unitedpeople.info:/usr/obj/usr/src/sys/TPX40 i386
>Description:
Bootstrapping with a custom compiler doesn't work.
>How-To-Repeat:
Install lang/gnat then try to build this one.
>Fix:
Require the binary compiler specified in the port for bootstrapping. Summary of
changes:
- require specified binary compiler for bootstrapping
- use recent GCC snapshot
- some aesthetic changes in the Makefile
- bump PORTVERSION
The patch follows.
diff -urN /usr/ports/lang/gnat-gcc41/Makefile gnat-gcc41/Makefile
--- /usr/ports/lang/gnat-gcc41/Makefile Tue Sep 12 12:11:39 2006
+++ gnat-gcc41/Makefile Wed Dec 13 06:16:10 2006
@@ -8,7 +8,7 @@
PORTNAME= gnat-gcc
PORTVERSION= 4.1.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= snapshots/${versionstring}
@@ -48,7 +48,7 @@
.include <bsd.port.pre.mk>
-gcc_snapshot= 20060901
+gcc_snapshot= 20061201
versionstring= ${PORTVERSION:C/\.[0-9]*$//}-${gcc_snapshot}
srcdir= ${WRKDIR}/gcc-${versionstring}
gcc_suffix= 41
@@ -79,29 +79,22 @@
USE_LDCONFIG= ${targlib}
# We need an existing GNAT compiler to bootstrap this one.
-have_gnat!= if ${WHICH} gnatmake > /dev/null 2>&1; then \
- ${ECHO_CMD} "t"; \
- else \
- ${ECHO_CMD} ""; \
- fi
-.if empty(have_gnat)
BUILD_DEPENDS+= ${LOCALBASE}/bin/gcc34/gcc34:${PORTSDIR}/lang/gnat-gcc34
CONFIGURE_ENV+= PATH=${LOCALBASE}/bin/gcc34:${PATH} CC=${LOCALBASE}/bin/gcc34/gcc34
MAKE_ENV+= PATH=${LOCALBASE}/bin/gcc34:${PATH} CC=${LOCALBASE}/bin/gcc34/gcc34
-.endif
pre-everything::
@${ECHO_MSG} "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} target=${CONFIGURE_TARGET}"
# Append ' [FreeBSD]' to gcc version string.
post-patch:
- @${REINPLACE_CMD} -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
+ ${REINPLACE_CMD} -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
${srcdir}/gcc/version.c
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} "Consider running 'make check' before 'make install', especially"
@@ -114,33 +107,35 @@
post-install:
${LN} -s ${PREFIX}/bin/gcc${gcc_suffix}/gcc${gcc_suffix} \
${PREFIX}/bin/gcc${gcc_suffix}/gcc
- # Man pages can only be generated if Perl >= 5.6 is installed; fake them otherwise.
+ @# Man pages can only be generated if Perl >= 5.6 is installed; fake them otherwise.
for mp in ${_MANPAGES}; do \
${TEST} -e $${mp} || ${TOUCH} ${TOUCH_FLAGS} $${mp}; \
done
- # Version FSF funding and licensing manuals.
+ @# Version FSF funding and licensing manuals.
for mp in ${fsf_mans}; do \
${MV} -f ${PREFIX}/man/man7/$${mp}.7 \
${PREFIX}/man/man7/$${mp}${fsf_suffix}.7; \
done
- # Save the runaway header.
+ @# Save the runaway header.
${MV} -f ${PREFIX}/include/mf-runtime.h \
${targlib}/gcc/${CONFIGURE_TARGET}/${PORTVERSION}/include
- # Remove libtool library files.
+ @# Remove libtool library files.
${RM} -f ${targlib}/*.la
- # Add target libraries and include files to packaging list.
+ @# Prepare a temporary list of installed libraries and include files.
${RM} -f ${WRKDIR}/PLIST.lib
for d in ${targlib:S/^${PREFIX}\///} ${targlib:S/^${PREFIX}\///:S/lib/libexec/}; do \
- cd ${PREFIX} ; \
+ cd ${PREFIX}; \
if [ -d $${d} ]; then \
- ${FIND} $${d} -type f -o -type l >>${WRKDIR}/PLIST.lib ; \
- ${FIND} $${d} -type d | ${SORT} -r | ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib ; \
- fi ; \
+ ${FIND} $${d} -type f -o -type l >>${WRKDIR}/PLIST.lib; \
+ ${FIND} $${d} -type d | ${SORT} -r | ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib; \
+ fi; \
done
+ @# Following directories should be removed on deinstal if empty. Add them to the temporary list.
${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc/${CONFIGURE_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc/${CONFIGURE_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
- cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
+ @# Insert the temporary list in the packing list.
+ cd ${WRKDIR}; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
.include <bsd.port.post.mk>
diff -urN /usr/ports/lang/gnat-gcc41/distinfo gnat-gcc41/distinfo
--- /usr/ports/lang/gnat-gcc41/distinfo Tue Sep 12 23:56:38 2006
+++ gnat-gcc41/distinfo Wed Dec 13 06:15:46 2006
@@ -1,9 +1,9 @@
-MD5 (gcc-core-4.1-20060901.tar.bz2) = 5b8663c9b042eb5ab626d4c606924fa5
-SHA256 (gcc-core-4.1-20060901.tar.bz2) = 49bc7001a2ddf66795277adf14b129d19eff72a93e80be7e8ad6bad7d5fce2c5
-SIZE (gcc-core-4.1-20060901.tar.bz2) = 14963002
-MD5 (gcc-ada-4.1-20060901.tar.bz2) = 41eea5d77d67adeafa4462685c6262db
-SHA256 (gcc-ada-4.1-20060901.tar.bz2) = 2682cb2caecb726de5333b49f0307e7ca18c9434ff4ae38b7b6e2f8c3e4ef9ef
-SIZE (gcc-ada-4.1-20060901.tar.bz2) = 4627883
-MD5 (gcc-testsuite-4.1-20060901.tar.bz2) = a7ab2fd0c98b49c123fc9c1a12035fe7
-SHA256 (gcc-testsuite-4.1-20060901.tar.bz2) = ae7a81cc2fe55cd52d210a1793efa49b1e695eae5c9a070e7080f2447891fbe0
-SIZE (gcc-testsuite-4.1-20060901.tar.bz2) = 3571090
+MD5 (gcc-core-4.1-20061201.tar.bz2) = 2fc712263dfa9c503386692664212443
+SHA256 (gcc-core-4.1-20061201.tar.bz2) = 9dbc1debe8c27f2a107f237df4080fca0a28d27089794a3a174fbee260479c02
+SIZE (gcc-core-4.1-20061201.tar.bz2) = 14905058
+MD5 (gcc-ada-4.1-20061201.tar.bz2) = af671cac304a15be3164360acdf96566
+SHA256 (gcc-ada-4.1-20061201.tar.bz2) = 347b2246249a2adfc30cd24bef14578870ad03dd03e9c71e2ae3382626540657
+SIZE (gcc-ada-4.1-20061201.tar.bz2) = 4629808
+MD5 (gcc-testsuite-4.1-20061201.tar.bz2) = 89463a383ad7be1e38a830c10696953e
+SHA256 (gcc-testsuite-4.1-20061201.tar.bz2) = ff84ba7b1a5f0b67c328c093fa172c55042e6847cd25cab3cb7d2433bd4e7bb7
+SIZE (gcc-testsuite-4.1-20061201.tar.bz2) = 3602869
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list