Use bsd.pkg.install.mk, correct the PLISTs to refer to ${PKGNAME}.mk
(instead of hardcoding the version number), and general cleanups to the Makefile to make this package easier to maintain.
This commit is contained in:
parent
73b1e2ab06
commit
cd04e9997a
5 changed files with 88 additions and 97 deletions
|
@ -1,37 +1,27 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Prior versions of the "gcc" package would install a corrupted
|
||||
# Previous versions of the "gcc" package would install a corrupted
|
||||
# info entry for "chill", which would foil subsequent installations.
|
||||
# This script attempts to clean up that entry.
|
||||
|
||||
if [ $# -ne 2 -o ! -d "${PKG_PREFIX}" -o ! -w "${PKG_PREFIX}/info/dir" ]
|
||||
# Script was called improperly.
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$2" != "PRE-INSTALL" ]
|
||||
# No problem
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -x /bin/ed ]
|
||||
# Who knows? Give up.
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo Fixing up infodir from previous installation\.\.\.
|
||||
/bin/ed "${PKG_PREFIX}/info/dir" 2> /dev/null << END
|
||||
case ${STAGE} in
|
||||
PRE-INSTALL)
|
||||
if [ ! -w "${PKG_PREFIX}/info/dir" ]; then
|
||||
exit 1
|
||||
fi
|
||||
if [ -x /bin/ed ]; then
|
||||
${ECHO} "Fixing up info/dir from previous installation..."
|
||||
/bin/ed "${PKG_PREFIX}/info/dir" 2> /dev/null << END
|
||||
/^* Chill/d
|
||||
w
|
||||
q
|
||||
END
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo \.\.\.fixed\.
|
||||
exit 0
|
||||
fi
|
||||
echo \.\.\.nothing to fix\.
|
||||
exit 0
|
||||
if [ $? -eq 0 ]; then
|
||||
${ECHO} "...fixed."
|
||||
else
|
||||
${ECHO} "...nothing to fix."
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
# $NetBSD: Makefile,v 1.46 2002/09/27 09:41:40 jlam Exp $
|
||||
# $NetBSD: Makefile,v 1.47 2002/09/27 12:28:15 jlam Exp $
|
||||
|
||||
# Make sure that the version number in "Makefile.gcc" matches this.
|
||||
DISTNAME= gcc-2.95.3
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/}
|
||||
|
||||
#
|
||||
# Synced from patches against main source tree as of:
|
||||
# Synced from patches against main source tree as of 2002-03-28
|
||||
#
|
||||
# 03/28/02
|
||||
MAINTAINER= packages@netbsd.org
|
||||
HOMEPAGE= http://www.gnu.org/software/gcc/gcc.html
|
||||
COMMENT= GNU Compiler Collection
|
||||
|
@ -18,89 +16,91 @@ PATCHFILES= gcc-2.95.3-diff-2002-08-29.gz
|
|||
|
||||
BUILD_DEPENDS+= bison-[0-9]*:../../devel/bison
|
||||
|
||||
USE_BUILDLINK2= YES
|
||||
USE_GMAKE= YES
|
||||
|
||||
HAS_CONFIGURE= YES
|
||||
CONFIGURE_ARGS= --host=${MACHINE_GNU_PLATFORM} \
|
||||
--prefix=${GCC_PREFIX} \
|
||||
--enable-shared
|
||||
CONFIGURE_SCRIPT= ${SRCDIR}/configure
|
||||
INFO_FILES= chill.info cpp.info g77.info gcc.info
|
||||
CONFIGURE_ARGS= --host=${MACHINE_GNU_PLATFORM}
|
||||
CONFIGURE_ARGS+= --prefix=${GCC_PREFIX}
|
||||
CONFIGURE_ARGS+= --enable-shared
|
||||
|
||||
PLIST_SUBST+= GCC_VERSION=${PKGVERSION}
|
||||
SRCDIR= ${WRKDIR}/${DISTNAME}
|
||||
WRKSRC= ${WRKDIR}/objdir
|
||||
|
||||
INFO_FILES= chill.info cpp.info g77.info gcc.info
|
||||
|
||||
.include "../../mk/bsd.prefs.mk"
|
||||
|
||||
.if (${OPSYS} != SunOS)
|
||||
CONFIGURE_ARGS+= --with-gnu-as --with-gnu-ld --infodir=${PREFIX}/info
|
||||
GCC_PREFIX= ${LOCALBASE}/${PKGNAME}
|
||||
PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC
|
||||
.else
|
||||
.if (${CC} != gcc)
|
||||
ALL_TARGET= bootstrap
|
||||
.endif
|
||||
GCC_PREFIX= ${LOCALBASE}
|
||||
PLIST_SRC= ${PKGDIR}/PLIST.SunOS
|
||||
MESSAGE= ${PKGDIR}/MESSAGE.SunOS
|
||||
.if ${OPSYS} == "SunOS"
|
||||
CONFLICTS+= gcc-[0-9]* pgcc-[0-9]*
|
||||
. if ${CC} != "gcc"
|
||||
ALL_TARGET= bootstrap
|
||||
. endif
|
||||
GCC_PREFIX= ${PREFIX}
|
||||
PLIST_SRC= ${PKGDIR}/PLIST.SunOS
|
||||
MESSAGE_SRC= ${PKGDIR}/MESSAGE.SunOS
|
||||
.else
|
||||
GCC_PREFIX= ${PREFIX}/${PKGNAME}
|
||||
CONFIGURE_ARGS+= --with-gnu-as
|
||||
CONFIGURE_ARGS+= --with-gnu-ld
|
||||
CONFIGURE_ARGS+= --infodir=${PREFIX}/info
|
||||
PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC
|
||||
.endif
|
||||
|
||||
GCC_ARCHDIR= ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION}
|
||||
FILES_SUBST+= GCC_PREFIX=${GCC_PREFIX}
|
||||
|
||||
post-extract:
|
||||
${MKDIR} ${WRKSRC}
|
||||
cd ${WRKSRC}/../${DISTNAME}/gcc/config; \
|
||||
${CP} ${FILESDIR}/xm-netbsd.h .; \
|
||||
${CP} ${FILESDIR}/xm-target64.h .; \
|
||||
for FILE in ${FILESDIR}/*_* ; do \
|
||||
ARCH=`${BASENAME} $${FILE} | cut -d_ -f1`; \
|
||||
DEST=`${BASENAME} $${FILE} | sed -e "s/$${ARCH}_//"`; \
|
||||
${MKDIR} $${ARCH}; \
|
||||
${CP} $${FILE} $${ARCH}/$${DEST}; \
|
||||
done; \
|
||||
cd ${WRKSRC}/../${DISTNAME}; \
|
||||
for i in gcc/config/alpha/netbsd-elf.h gcc/config/arm/t-netbsd gcc/config/mips/x-netbsd libf2c/libF77/dtime_.c libf2c/libF77/etime_.c; do \
|
||||
${RM} $${i};\
|
||||
${CP} ${FILESDIR}/xm-netbsd.h ${SRCDIR}/gcc/config
|
||||
${CP} ${FILESDIR}/xm-target64.h ${SRCDIR}/gcc/config
|
||||
for file in ${FILESDIR}/*_* ; do \
|
||||
arch=`${BASENAME} $${file} | ${SED} -e "s/_.*//"`; \
|
||||
dest=`${BASENAME} $${file} | ${SED} -e "s/$${arch}_//"`; \
|
||||
${MKDIR} ${SRCDIR}/gcc/config/$${arch}; \
|
||||
${CP} $${file} ${SRCDIR}/gcc/config/$${arch}/$${dest}; \
|
||||
done
|
||||
${RM} ${SRCDIR}/gcc/config/alpha/netbsd-elf.h
|
||||
${RM} ${SRCDIR}/gcc/config/arm/t-netbsd
|
||||
${RM} ${SRCDIR}/gcc/config/mips/x-netbsd
|
||||
${RM} ${SRCDIR}/libf2c/libF77/dtime_.c
|
||||
${RM} ${SRCDIR}/libf2c/libF77/etime_.c
|
||||
|
||||
post-patch:
|
||||
${ECHO} "bogus" >${WRKSRC}/../${DISTNAME}/gcc/cstamp-h.in
|
||||
pre-configure:
|
||||
${ECHO} "bogus" > ${SRCDIR}/gcc/cstamp-h.in
|
||||
|
||||
.if (${OPSYS} != SunOS)
|
||||
post-build:
|
||||
for FILE in ${FILESDIR}/gcc.mk; do \
|
||||
${SED} -e 's#@@MAKE@@#${MAKE}#g' \
|
||||
-e 's#@@PKGNAME@@#${PKGNAME}#g' \
|
||||
-e 's#@@PREFIX@@#${PREFIX}#g' \
|
||||
<$$FILE >${WRKDIR}/`${BASENAME} $$FILE`; \
|
||||
done
|
||||
.endif
|
||||
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc.mk > ${WRKDIR}/gcc.mk
|
||||
|
||||
pre-install:
|
||||
${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${INSTALL_FILE} any PRE-INSTALL
|
||||
|
||||
.if (${OPSYS} != SunOS)
|
||||
.if (${OPSYS} == SunOS)
|
||||
#
|
||||
# remove empty file and directories that show up when one does:
|
||||
# make install; make deinstall; make install
|
||||
#
|
||||
post-install:
|
||||
. if exists(/usr/include/g++/FlexLexer.h)
|
||||
${LN} -s /usr/include/g++/FlexLexer.h \
|
||||
${PREFIX}/${PKGNAME}/include/g++-3/FlexLexer.h
|
||||
. endif
|
||||
${RM} -f ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION}/include/curses.h ${PREFIX}/${PKGNAME}/bin/cc
|
||||
${LN} -s gcc ${PREFIX}/${PKGNAME}/bin/cc
|
||||
${INSTALL_DATA} ${WRKDIR}/gcc.mk ${PREFIX}/etc/${PKGNAME}.mk
|
||||
${CP} -f ${PKGDIR}/PLIST ${PLIST_SRC}
|
||||
${FIND} ${PREFIX}/${PKGNAME} -type f -print | ${SORT} -r | ${SED} 's;${PREFIX}/;;g' >> ${PLIST_SRC}
|
||||
${FIND} ${PREFIX}/${PKGNAME} -type l -print | ${SORT} -r | ${SED} 's;${PREFIX}/;;g' >> ${PLIST_SRC}
|
||||
${FIND} ${PREFIX}/${PKGNAME} -type d -print | ${SORT} -r | ${SED} 's;${PREFIX}/;@dirrm ;g' >> ${PLIST_SRC}
|
||||
-cd ${GCC_ARCHDIR}/include && ${RM} -f fixed && ${RMDIR} v7 v9
|
||||
.else
|
||||
# remove empty file and directories that show up when one
|
||||
# does make install; make deinstall; make install
|
||||
post-install:
|
||||
-cd ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION}/include && \
|
||||
${RM} -f fixed && \
|
||||
${RMDIR} v7 v9
|
||||
${INSTALL_DATA} ${WRKDIR}/gcc.mk ${PREFIX}/etc/${PKGNAME}.mk
|
||||
. if exists(/usr/include/g++/FlexLexer.h)
|
||||
${LN} -fs /usr/include/g++/FlexLexer.h \
|
||||
${GCC_PREFIX}/include/g++-3/FlexLexer.h
|
||||
. endif
|
||||
${RM} -f ${GCC_ARCHDIR}/include/curses.h ${GCC_PREFIX}/bin/cc
|
||||
${LN} -s gcc ${GCC_PREFIX}/bin/cc
|
||||
${CP} -f ${PKGDIR}/PLIST ${PLIST_SRC}
|
||||
${FIND} ${GCC_PREFIX} \( -type f -o -type l \) -print \
|
||||
| ${SORT} | ${SED} -e "s,${PREFIX}/,,g" \
|
||||
>> ${PLIST_SRC}
|
||||
${FIND} ${GCC_PREFIX} -type d -print \
|
||||
| ${SORT} -r | ${SED} -e "s,${PREFIX}/,@dirrm ,g" \
|
||||
>> ${PLIST_SRC}
|
||||
.endif
|
||||
|
||||
.include "../../mk/texinfo.mk"
|
||||
.include "../../mk/bsd.pkg.install.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
||||
|
||||
# Make bootstrap with compiler != gcc possible.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@comment $NetBSD: PLIST,v 1.6 2002/04/08 12:11:43 dmcmahill Exp $
|
||||
etc/gcc-2.95.3.mk
|
||||
@comment $NetBSD: PLIST,v 1.7 2002/09/27 12:28:15 jlam Exp $
|
||||
etc/${PKGNAME}.mk
|
||||
@unexec ${INSTALL_INFO} --delete %D/info/chill.info %D/info/dir
|
||||
info/chill.info
|
||||
@exec ${INSTALL_INFO} %D/info/chill.info %D/info/dir
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@comment $NetBSD: PLIST.SunOS,v 1.5 2002/09/09 03:23:06 dmcmahill Exp $
|
||||
@comment $NetBSD: PLIST.SunOS,v 1.6 2002/09/27 12:28:15 jlam Exp $
|
||||
${MACHINE_GNU_PLATFORM}/include/_G_config.h
|
||||
${MACHINE_GNU_PLATFORM}/include/assert.h
|
||||
bin/${MACHINE_GNU_PLATFORM}-gcc
|
||||
|
@ -14,6 +14,7 @@ bin/gcjh
|
|||
bin/gcov
|
||||
bin/jcf-dump
|
||||
bin/jv-scan
|
||||
etc/${PKGNAME}.mk
|
||||
include/g++-3/PlotFile.h
|
||||
include/g++-3/SFile.h
|
||||
include/g++-3/algo.h
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# $NetBSD: gcc.mk,v 1.3 2002/01/03 21:19:09 tron Exp $
|
||||
# $NetBSD: gcc.mk,v 1.4 2002/09/27 12:28:16 jlam Exp $
|
||||
#
|
||||
# make configuration file for @@PKGNAME@@
|
||||
# make configuration file for @PKGNAME@
|
||||
|
||||
CC= @@PREFIX@@/@@PKGNAME@@/bin/cc
|
||||
CPP= @@PREFIX@@/@@PKGNAME@@/bin/cpp
|
||||
CXX= @@PREFIX@@/@@PKGNAME@@/bin/c++
|
||||
CC= @GCC_PREFIX@/bin/cc
|
||||
CPP= @GCC_PREFIX@/bin/cpp
|
||||
CXX= @GCC_PREFIX@/bin/c++
|
||||
|
|
Loading…
Reference in a new issue