pkgsrc/lang/sbcl/Makefile
asau c9f78fcd38 Update to SBCL 1.1.0
pkgsrc changes:
  * "user-destdir" is default these days, remove setting.


Changes in sbcl-1.1.0 relative to sbcl-1.0.58:

  * enhancement: New variable, sb-ext:*disassemble-annotate* for controlling
    source annotation of DISASSEMBLE output. Defaults to T.
  * enhancement: TIMEOUT arguments added to WITH-MUTEX and WITH-RECURSIVE-LOCK, and
    WAIT-P argument added to WITH-RECURSIVE-LOCK.
  * enhancement: SB-EXT:ATOMIC-PUSH and SB-EXT:ATOMIC-POP allow atomic operations
    on list heads.
  * enhancement: Optional features (not enabled by default) allow the
    use of signals for inter-thread synchronization to be reduced on certain
    supported platforms (currently Linux, Solaris, and FreeBSD on x86 and
    x86-64).  Set (and :sb-thread :sb-safepoint :sb-thruption :sb-wtimer)
    to test these experimental features.  Known remaining bugs include minor
    thread safety issues, less timely freeing of memory by GC, and certain
    (not yet optimally low) runtime overhead.  Thanks to Anton Kovalenko.
  * optimization: CL:SORT and CL:STABLE-SORT of lists are faster and use fewer
    comparisons, particularly on almost-sorted inputs.
  * bug fix: Reading floats with large exponents no longer takes too much time
    before reporting that the exponent is too large.
  * bug fix: SB-BSD-SOCKETS:SOCKET-RECEIVE with a UDP socket now works
    correctly when the received datagram is larger than the provided buffer.
    (lp#1023438, thanks to Robert Uhl)
  * bug fix: SB-EXT:GET-CAS-EXPANSION returned a bogus read-form when given
    a SYMBOL-VALUE form with a constant symbol argument.
  * bug fix: SB-EXT:GET-CAS-EXPANSION signaled an error when a macro expanding
    into a DEFCAS defined place was used as the place.
  * bug fix: FIND and POSITION signaled a type-error when non-bits where looked
    for from bit-vectors.
  * bug fix: a race condition around thread creation could (in SBCL 1.0.57)
    lead to internal errors or crashes (lp#1058799).
  * documentation: a section on random number generation has been added to the
    manual. (lp#656839)
2012-10-02 19:20:45 +00:00

90 lines
3 KiB
Makefile

# $NetBSD: Makefile,v 1.44 2012/10/02 19:20:45 asau Exp $
DISTNAME= ${PKGNAME_NOREV}-source
PKGNAME= sbcl-1.1.0
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
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"