pkgsrc/lang/sbcl/Makefile
asau 0883e03970 Update SBCL to version 1.0.48
changes in sbcl-1.0.48 relative to sbcl-1.0.47:
  * incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five
    years, is now no longer supported.
  * enhancement: read() and write() have been added to SB-POSIX.
  * enhancement: types of DEFSTRUCT constructors are proclaimed more
    accurately, allowing better typechecking of call-sites.
  * enhancement: errors during compile-time-too processing (i.e. EVAL-WHEN)
    are no longer caught. (reverted to pre 1.0.34 behaviour)
  * optimization: slightly faster ISQRT. (lp#713343)
  * bug fix: better support for Solaris /bin/sh in sh-based tests.
  * bug fix: TRACE behaves better when attempting to trace undefined
    functions. (lp#740717)
  * bug fix: missed optimizations for (FUNCALL (LAMBDA ...) ...) in comparison
    to (FUNCALL #'(LAMBDA ...) ...).
  * bug fix: ((LAMBDA ...) ...) forms with invalid argument counts resulted in
    a compile-time error. (lp#720382)
  * bug fix: forms such as (FUNCALL (FUNCTION NAME OOPS) ...) were compiled
    without complaints.
  * bug fix: less verbose source forms for functions from EVAL. (lp#747485)
  * bug fix: sense of SLOT-BOUNDP-USING-CLASS was inverted in a MAKE-INSTANCE
    optimization. (regression from 1.0.45.18/1.0.46.15)
  * bug fix: package locks did not protects against compile-time side-effects
    of DEFUN. (lp#675584)
  * bug fix: --dynamic-space-size argument is validated more carefully.
    (lp#721457)
  * bug fix: memory fault from printing a malformed simple-condition.
    (lp#705690)
  * bug fix: redefining classes so that slot-definition classes change now
    engages the obsolete instance protocol. (lp#766271)
  * bug fix: constant improper lists could break source coverage recording.
    (lp#767959)
  * bug fix: compiling calls to eg. MEMBER with massive constant list arguments
    could exhaust stack.
2011-05-09 19:35:37 +00:00

91 lines
3 KiB
Makefile

# $NetBSD: Makefile,v 1.34 2011/05/09 19:35:37 asau Exp $
DISTNAME= ${PKGNAME_NOREV}-source
PKGNAME= sbcl-1.0.48
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbcl/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= jonb@NetBSD.org
HOMEPAGE= http://www.sbcl.org/
COMMENT= SBCL, a Common Lisp implementation
# 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
USE_TOOLS+= gmake gtar:run
PKG_INSTALLATION_TYPES= overwrite pkgviews
PKG_DESTDIR_SUPPORT= user-destdir
WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
.include "../../mk/bsd.prefs.mk"
#
# Bootstrap section.
#
# SBCL needs an existing Common Lisp system to build it...
# Currently allowed systems are CLISP, CMUCL, OpenMCL, and SBCL itself.
#
# 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)
# Use "clisp -ansi -on-error abort" to make the build more reproducible,
# per Christophe Rhodes:
SBCL_BOOT_SYSTEM= clisp -norc -ansi -on-error abort
BUILD_DEPENDS+= clisp-[0-9]*:../../lang/clisp
UNLIMIT_RESOURCES= datasize
.elif ${SBCL_BOOT_SYSTEM} == clisp
BUILD_DEPENDS+= clisp-[0-9]*:../../lang/clisp
UNLIMIT_RESOURCES= datasize
.elif ${SBCL_BOOT_SYSTEM} == sbcl
# Get bootstrap version:
BUILD_DEPENDS+= sbcl-[0-9]*:../../lang/sbcl
.endif
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths= install.sh src/runtime/runtime.c doc/sbcl.1
SUBST_SED.fix-paths= -e 's,@PREFIX@,${PREFIX},g'
SUBST_SED.fix-paths+= -e 's,/var/log,${VARBASE}/log,g'
SUBST_CLASSES+= fix-gtar
SUBST_STAGE.fix-gtar= pre-configure
SUBST_MESSAGE.fix-gtar= Fixing GNU tar references.
SUBST_FILES.fix-gtar= contrib/asdf-install/installer.lisp
SUBST_SED.fix-gtar= -e 's,@GTAR@,${GTAR},'
do-build:
cd ${WRKSRC} && ${SH} make.sh --prefix=${PREFIX} --xc-host=${SBCL_BOOT_SYSTEM:Q}
post-build:
cd ${WRKSRC} && ${RM} -f contrib/sb-cover/test-output/*
do-install:
cd ${WRKSRC} && BUILD_ROOT=${DESTDIR:Q} INSTALL_ROOT=${PREFIX:Q} MAN_DIR=${PREFIX:Q}/${PKGMANDIR} ${SH} install.sh
rm -f $(DESTDIR)$(PREFIX)/lib/sbcl/sb-posix/test-output/write-test.txt
rm -f $(DESTDIR)$(PREFIX)/lib/sbcl/sb-posix/test-output/read-test.txt
rm -f $(DESTDIR)$(PREFIX)/lib/sbcl/asdf-install/installer.lisp.orig
do-test:
cd ${WRKSRC}/tests && ${SH} ./run-tests.sh
.if $(LOWER_ARCH) == "amd64" || $(LOWER_ARCH) == "x86_64"
PLIST_SUBST+= SUFX64=-64
.else
PLIST_SUBST+= SUFX64=
.endif
.include "../../mk/bsd.pkg.mk"