pkgsrc/lang/sbcl/Makefile
asau 903920c5c6 Update to SBCL 1.3.10.
New in version 1.3.10

 * enhancement: more compact low-level error signaling code
 * enhancement: more compact encoding of cross-reference information
 * optimization: faster out of line fixnum-float comparisons.
 * optimization: filling a known simple-vector with a constant value is about
   as fast in unoptimized code as in code compiled with (SPEED 3), and the
   x86-64 implementation is able to use SSE instructions.
 * bug fix: correctly handle the case of a non-local exit within a function
   terminating the extent of dynamic-extent functions and variables in the
   presence of multiple-values (#1563127)
 * bug fix: restore builds on the latest OSX with the latest Xcode (#1470996)


New in version 1.3.9

 * minor incompatible change: NAMESTRING prefers to return a BASE-STRING
   instead of (ARRAY CHARACTER (*)) when possible.
 * enhancement: cached make-instance/allocate-instance constructors can now
   get garbage collected.
 * optimization: better performance for some unoptimized operations on complex
   numbers.
 * bug fix: using the options :LOCAL-NICKNAMES and :LOCK in the same
   DEFPACKAGE form no longer signals a bogus error


New in version 1.3.8

 * minor incompatible change: the system now understands that the CONDITION
   type is disjoint with many other system types.
 * minor incompatible change: argument types in condition report functions are
   now declared (in combination with the above change, this can result in
   early detection of erroneous code).
 * enhancement: simple arrays of any rank can be stack-allocated on platforms
   supporting stack allocation of vectors.
 * optimization: improved type derivation for FIND, POSITION, COUNT, SEARCH,
   MISMATCH and other array and sequence functions.
 * optimization: ALLOCATE-INSTANCE is now as fast as MAKE-INSTANCE.
 * optimization: more efficient CHANGE-CLASS.
 * bug fix: versions of getresuid() and getresgid() in SB-POSIX no longer
   cause memory faults, and should work properly (#1603806, reported by Kieran
   Grant)
 * bug fix: handle ENOENT from getprotobyname() (#1596043, reported by Stephen
   Hassard)


New in version 1.3.7

 * bug fix: preserve the name of the destructive function for the destroyed
   constant and important result warnings, even when declared NOTINLINE.
 * optimization: faster operations on list-sets.
 * optimization: better type derivation of set functions. (#1592152)
 * optimization: load-time TLS-INDEX assignment, and other microoptimizations,
   on x86.
 * optimizations in:
     + APPEND;
     + ECASE/ETYPECASE;
     + ARRAY-DIMENSIONS;
     + ARRAY-TOTAL-SIZE;
     + REMOVE, REMOVE-DUPLICATES, DELETE and DELETE-DUPLICATES on lists.


New in version 1.3.6

 * bug fix: do not insert conditional newlines in print-unreadable-object
   (#1398290). This reverses a change made in #488979 which reversed a fix
   advertised in release 0.8.14 to pass the GCL ANSI Test Suite.
 * bug fix: constant negative rotations of 32-bit quantities are compiled
   correctly on x86-64 and arm. (#1586614, reported by Guillaume Le Vaillant)
2016-10-21 07:10:54 +00:00

103 lines
3.5 KiB
Makefile

# $NetBSD: Makefile,v 1.69 2016/10/21 07:10:54 asau Exp $
DISTNAME= ${PKGNAME_NOREV}-source
PKGNAME= sbcl-1.3.10
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
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},'
SUBST_CLASSES+= fix-bins
SUBST_STAGE.fix-bins= pre-configure
SUBST_FILES.fix-bins= src/runtime/Config.x86-64-sunos
SUBST_FILES.fix-bins+= src/runtime/Config.x86-sunos
SUBST_SED.fix-bins= -e 's,nm ,/usr/bin/nm ,'
SUBST_SED.fix-bins+= -e 's,ggrep,grep,'
.if !empty(MACHINE_PLATFORM:MSunOS-*-i386)
SBCL_ARCH_ARGS= "--arch=x86"
.elif !empty(MACHINE_PLATFORM:MSunOS-*-x86_64)
SBCL_ARCH_ARGS= "--arch=x86-64"
.endif
do-build:
cd ${WRKSRC} && ${SH} make.sh --prefix=${PREFIX} ${SBCL_ARCH_ARGS} --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:
# for f in compiler.pure.lisp interface.pure.lisp compiler.impure.lisp debug.impure.lisp interface.impure.lisp; do mv ${WRKSRC}/tests/$$f ${WRKSRC}/tests/$$f.off || :; done
cd ${WRKSRC}/tests && ${SH} ./run-tests.sh
.if ${MACHINE_ARCH} == "x86_64"
PLIST_SUBST+= SUFX64=-64
.else
PLIST_SUBST+= SUFX64=
.endif
.include "../../mk/bsd.pkg.mk"