e8a3b1c6ec
changes in sbcl-1.0.54 relative to sbcl-1.0.53: * minor incompatible changes: ** RENAME-FILE on a symbolic links used to rename the linked-to file instead of the link. ** DELETE-DIRECTORY on symbolic link to a directory used to delete the directory, but now signal an error instead. Use TRUENAME to resolve the pathname if you wish to delete the linked directory, and DELETE-FILE if you wish to delete the ** The internal SB-THREAD::SPINLOCK API has been deprecated, and using symbols associated with it will trigger a compile-time warning. * thread-related enhancements: (This work has been funded by the SBCL Threading 2011 IndieGoGo campaign. Many thanks to generous donors!) ** Threading is now more reliable on non-Linux platforms. We still don't consider threads on non-Linux platforms good enough to enable them by default, but they're in a clearly better shape now. ** Deadlines supported now on all platforms. ** All blocking functions in the threading API now have a :TIMEOUT argument. ** Semaphore notification objects have been added to SB-THREAD. ** SB-CONCURRENCY contrib now includes Allegro-style GATE objects. ** SB-EXT:COMPARE-AND-SWAP has been extended to support SLOT-VALUE, STANDARD-INSTANCE-ACCESS, and FUNCALLABLE-STANDARD-INSTANCE-ACCESS. ** Users can now defined new places usable with SB-EXT:COMPARE-AND-SWAP using an API anologous to defining new SETFable places. * GC-related enhancements and bug fixes: ** --dynamic-space-size and --control-stack-size now understand Kb, Mb, and Gb suffixes. Default is megabytes as before. ** on GENCGC targets, the default dynamic space size is now 512Mb for 32-bit systems, and 1Gb for 64-bit systems. (OpenBSD/x86-64 is the only exception, defaulting to mere 444Mb to fit under default ulimits.) The new defaults are in place to prevent hitting swap on low-end systems. Use build-time option --dynamic-space-size to build an SBCL with another default, or the runtime option to adjust the size at startup: a good size is at most equal to the amount of physical memory the system has. ** on GENCGC targets, nursery and generation sizes now default to 5% of dynamic-space size. ** on GENCGC targets, SB-KERNEL:MAKE-LISP-OBJ no longer categorically refuses to create SIMPLE-FUN objects. ** on 64-bit GENCGC targets, setting the nursery size above 4Gb now works. (lp#870868) ** on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does the same validation of pointer objects as GENCGC does, instead of a comparatively weak bounds-check against the heap spaces. * SB-BSD-SOCKETS bug fixes: ** GET-PROTOCOL-BY-NAME had a significant memory leak. ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS small amounts of memory on systems with getaddrinfo(). ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS weren't thread or interrupt safe outside systems with getaddrinfo(). * enhancement: ASDF has been updated 2.019. * enhancement: special-case TCO prevention for functions which never return extended to untrusted types, keeping one more frame's worth of debug information around in many cases. * enhancement: debug-names of anonymous and local function are more descriptive. Affects backtraces and SB-SPROF results. (lp#805100) * enhancement: on win32, ABS of complex floats guards better against overflows. (lp#888410) * enhancement: RUN-PROGRAM now distinguishes exec() failing from child process exiting with code 1. (lp#676987) * enhancement: convenience function SET-SBCL-SOURCE-LOCATION for informing the system where on the filesystem the SBCL sources themselves are located. (Thanks to Zach Beane) * enhancement: the compiler is now able to derive tighter bounds for floating point numbers in some cases. (Thanks to Lutz Euler, lp#894498) * bug fix: on 64-bit targets, atomic-incf/aref does index computation correctly, even on wide-fixnum builds. (lp#887220) * bug fix: (DIRECTORY "foo/*/*.*") did not follow symlinks in foo/ that resolved to directories. * bug fix: type mismatch when assigning to lexical variables no longer result in fasl-dumping internal type objects. (lp#890750) * bug fix: type mismatch on (SETF AREF) and function return values no longer result in fasl-dumping internal type objects. * bug fix: With several combinations of argument types, for example (EXPT <integer> <(complex double)>), EXPT now uses double-precision throughout instead of partially calculating only to single-precision. (lp#741564; thanks to Lutz Euler) * bug fix: SYMBOL-VALUE-IN-THREAD is no longer able to construct bogus objects when interrupted by GC on PPC.
91 lines
3 KiB
Makefile
91 lines
3 KiB
Makefile
# $NetBSD: Makefile,v 1.39 2011/12/05 23:02:18 asau Exp $
|
|
|
|
DISTNAME= ${PKGNAME_NOREV}-source
|
|
PKGNAME= sbcl-1.0.54
|
|
CATEGORIES= lang
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbcl/}
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= asau@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"
|