diff options
Diffstat (limited to 'lang/sbcl/Makefile')
-rw-r--r-- | lang/sbcl/Makefile | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index 46c61e7a69f..599a6d286e9 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -1,73 +1,75 @@ -# $NetBSD: Makefile,v 1.15 2007/11/07 17:34:18 jonb Exp $ +# $NetBSD: Makefile,v 1.16 2008/05/28 14:06:31 jonb Exp $ + +.include "../../mk/bsd.prefs.mk" DISTNAME= ${PKGNAME_NOREV}-source -PKGNAME= sbcl-1.0.11 +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ + sbcl-${OPSYS}-${MACHINE_ARCH}-${OS_VERSION}.tgz +PKGNAME= sbcl-1.0.16 CATEGORIES= lang MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbcl/} EXTRACT_SUFX= .tar.bz2 +SITES.sbcl-${OPSYS}-${MACHINE_ARCH}-${OS_VERSION}.tgz= \ + ftp://ftp.NetBSD.org/pub/NetBSD/misc/jonb/sbcl/ MAINTAINER= jonb@NetBSD.org HOMEPAGE= http://www.sbcl.org/ COMMENT= SBCL, a Common Lisp implementation ONLY_FOR_PLATFORM= NetBSD-[2-9]*-i386 + +# SBCL creates a new release with minor updates and fixes every +# month. The maintainer of this package does not have the time +# to build, test, update, etc. this package that often. If you +# would like a newer (or older) version, this works very often: +# 1) change the PKGNAME variable above as desired +# 2) make fetch && make makesum && make package + # It should be possible to have SBCL working on amd64, powerpc, # sparc, alpha, mips, and HPPA hardware also, but they probably # need a bit of porting work done in SBCL itself. # In addition, SBCL should also work on Linux, Darwin, Solaris, # FreeBSD, OpenBSD, and possibly Win32, OSF/1, HP-UX, and Irix. +# SBCL needs an existing Common Lisp system to build it... +# In theory CLisp, CMUCL, OpenMCL, and SBCL itself should work. +# In practice, CLisp has been a PITA, while CMUCL and OpenMCL +# haven't been ported to NetBSD. That leaves SBCL itself to +# do the build, so pull in a working binary package of SBCL +# along with the sources when building. + USE_TOOLS+= gmake gtar:run PKG_INSTALLATION_TYPES= overwrite pkgviews WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}/ -# -# Bootstrap section. -# -# SBCL needs an existing Common Lisp system to build it... -# Currently allowed systems are CLisp, CMUCL, OpenMCL, and SBCL itself. -# -# Note that CLisp 2.39nb1 worked two or three times when testing -# this package and it failed to build SBCL twice. It is also at -# least twice as slow as using SBCL when building on an i386 platform. -# -# I have never been able to get CLisp to build on a SPARC system, so -# I had to cross build when trying to port SBCL to NetBSD/sparc. -# I have reports that CLisp will build on PowerPC platforms, but is -# unable to build SBCL. -# -# If SBCL is installed in an unusual place when trying to build this -# package, you may need to set the full path in SBCL_BOOT_SYSTEM and -# build the package with "SBCL_HOME=/path/to/SBCL/core/image/ make" - -#SBCL_BOOT_SYSTEM= clisp # CLisp -#SBCL_BOOT_SYSTEM= "lisp -batch" # CMUCL -#SBCL_BOOT_SYSTEM= "openmcl --batch" # OpenMCL -#SBCL_BOOT_SYSTEM= sbcl # SBCL - -.if defined(SBCL_BOOT_SYSTEM) && ${SBCL_BOOT_SYSTEM} == clisp -BUILD_DEPENDS+= clisp-[0-9]*:../../lang/clisp -.endif +SUBST_CLASSES+= fix-paths +SUBST_STAGE.fix-paths= pre-configure +SUBST_MESSAGE.fix-paths=fixing pathnames +SUBST_FILES.fix-paths= install.sh src/runtime/runtime.c doc/sbcl.1 +SUBST_SED.fix-paths= -e 's,@PREFIX@,${PREFIX},g' -.if !defined(SBCL_BOOT_SYSTEM) -PKG_FAIL_REASON+= "Sorry, need a Common Lisp system. See Makefile for details." -.endif - -post-patch: - ${MV} ${WRKSRC}install.sh ${WRKSRC}install.sh.dist - ${SED} -e "s,@PREFIX@,${PREFIX}," ${WRKSRC}install.sh.dist > ${WRKSRC}install.sh - ${MV} ${WRKSRC}src/runtime/runtime.c ${WRKSRC}src/runtime/runtime.c.dist - ${SED} -e "s,@PREFIX@,${PREFIX}," ${WRKSRC}src/runtime/runtime.c.dist > ${WRKSRC}src/runtime/runtime.c - ${MV} ${WRKSRC}doc/sbcl.1 ${WRKSRC}doc/sbcl.1.dist - ${SED} -e "s,@PREFIX@,${PREFIX}," ${WRKSRC}doc/sbcl.1.dist > ${WRKSRC}doc/sbcl.1 - ${MV} ${WRKSRC}contrib/asdf-install/installer.lisp ${WRKSRC}contrib/asdf-install/installer.lisp.dist - ${SED} -e "s,@GTAR@,${GTAR}," ${WRKSRC}contrib/asdf-install/installer.lisp.dist > ${WRKSRC}contrib/asdf-install/installer.lisp +SUBST_CLASSES+= fix-gtar +SUBST_STAGE.fix-gtar= pre-configure +SUBST_MESSAGE.fix-gtar= fixing gtar references +SUBST_FILES.fix-gtar= contrib/asdf-install/installer.lisp +SUBST_SED/fix-gtar= -e 's,@GTAR@.${GTAR},g' do-build: - cd ${WRKSRC} && ${SH} make.sh "${SBCL_BOOT_SYSTEM}" + export SBCL_HOME=${WRKDIR}/lib/sbcl/ \ + && cd ${WRKSRC} \ + && ${SH} make.sh ${WRKDIR}/bin/sbcl + +# Rather not do this, but the file names seem to be hash values of +# timestamps or something and the pkgsrc system does *not* like +# randomly named and always changing file names +post-build: + ${RM} -rf ${WRKSRC}/contrib/sb-cover/test-output do-install: - cd ${WRKSRC} && INSTALL_ROOT=${PREFIX} MAN_DIR=${PREFIX}/${PKGMANDIR} ${SH} install.sh + cd ${WRKSRC} \ + && INSTALL_ROOT=${PREFIX} \ + MAN_DIR=${PREFIX}/${PKGMANDIR} \ + ${SH} install.sh .include "../../mk/bsd.pkg.mk" |