pkgsrc/lang/sbcl/Makefile
asau bbefe5c876 Update to SBCL 1.2.9
changes in sbcl-1.2.9 relative to sbcl-1.2.8:
  * minor incompatible change and bug fix: unboxed numeric constants
    on x86oids are arranged in memory differently, and the disassembler
    does not show them separately in DISASSEMBLE, but does
    if DISASSEMBLE-CODE-COMPONENT is used. (lp#1421987)
  * optimization: The compiler's treatment of type specifiers makes
    it slightly faster and more memory-efficient. Portable code
    should be indifferent to this change, however, users of
    SB-INTROSPECT:FUNCTION-TYPE might notice that (MEMBER T NIL)
    and (MEMBER NIL T) are both internally collapsed to the former,
    so that the latter can never be obtained as part of an FTYPE.
  * optimization: a TYPEP call in which the second argument is not a
    QUOTE form but nevertheless recognized as a compile-time constant
    might open-code the test. One scenario for this involves backquote,
    such as (TYPEP x `(my-type ,some-arg)). Code which relied upon
    deferring until runtime should declare (NOTINLINE TYPEP).
    [Due to the sematic constraints of DEFTYPE etc in in CLHS 3.2.2.3,
    code requiring delayed evaluation could be unportable though.]
  * enhancement: unused variables at the top-level are now reported.
    (lp#492200)
  * bug fix: DEFCLASS handles cyclic {super,meta}class relations better
    (lp#1418883)
  * bug fix: compiler no longer signals an error when compiling certain
    function calls. (lp#1416704, lp#404441, lp#1417822, lp#1234919)
  * bug fix: compiler doesn't stumble on a LOGIOR transform. (lp#1389433)
  * bug fix: more robust debugger and backtraces. (lp#1413850, lp#1099500,
    lp#1412881, lp#945261, lp#1419205, lp#1409402)
  * bug fix: files larger than 4GB can now be compiled.
  * bug fix: x86 truncated results from 64-bit foreign functions to 32 bits.
  * bug fix: file-position didn't work on large files on win32. (lp#1271545)
  * bug fix: callbacks from foreign threads can work without enabling
    sb-safepoint.
  * bug fix: sb-introspect:function-lambda-list works properly on interpeted
    macros. (lp#1387404)
  * bug fix: ADJUST-ARRAY properly handles non-adjustable arrays. (lp#886418)
  * bug fix: compiler no longer fails to dump a multidimensional array
    constant involving a circular reference to itself
  * bug fix: conditional and nested DX allocation no longer confuse the
    compiler in STACK analysis. (lp#1044465)
  * bug fix: sb-rotate-byte constant folding bug fixed. (lp#1423682)


changes in sbcl-1.2.8 relative to sbcl-1.2.7:
  * enhancement: better error and warning messages. (lp#1314767, lp#736383)
  * enhancement: backtrace for invalid argument count produces the exact
    supplied arguments including the extra ones, on x86, x86-64 and ARM.
  * enhancement: a STYLE-WARNING is signaled for DEFSTRUCT accessors which
    are used before the structure is defined; similarly for the predicate.
  * optimization: FORMAT NIL with only ~a and string arguments is transformed
    into CONCATENATE.
  * optimization: POSITION and FIND when inlined into code that is compiled
    with qualities of safety < 2 and speed > space will no longer signal
    an error on circular lists, but will potentially loop forever if given
    no :END constraint. As was always the case, calls that are not inlined
    are safe regardless of lexical policy.
  * bug fix: CLOS methods compiled with (OPTIMIZE (DEBUG 0))
    no longer cause debugger failure when printing a backtrace
  * bug fix: more resilience to deleted code. (lp#1308328, lp#1390544)
  * bug fix: the CLHS example of MAKE-LOAD-FORM involving TREE-WITH-PARENT
    did not work, and now it does.


changes in sbcl-1.2.7 relative to sbcl-1.2.6:
  * optimization: returning constant values refers to preboxed constants
    more reliably. (lp#1398785)
  * enhancement: a STYLE-WARNING is produced if a compiler-macro is defined
    for a function after at least one ordinary (not inlined) call to that
    function was compiled, indicating a likely compilation order problem.
    Likewise a warning ensues if a call is compiled to a function
    that is subsequently proclaimed INLINE.
  * enhancement: always lose() when something goes wrong while saving a core
    (instead of just printing an error on stderr in some situations).
  * enhancement: frames in the debugger are now restartable by default.
  * bug fix: restore error handling on Windows x86.
  * bug fix: MAKE-SEQUENCE detects type errors in its :INITIAL-ELEMENT
    at compile-time when possible. (lp#330299)
  * bug fix: parsing of malformed type specifiers no longer results
    in a memory-fault-error.
  * bug fix: LOOP properly destructures nested lists in WITH.
  * bug fix: MACROEXPANDing the redefinition of an alien structure type no
    longer signals the wrong error.
  * bug fix: PROGV doesn't get confused by forced DEBUG 3 (lp#1405456).


changes in sbcl-1.2.6 relative to sbcl-1.2.5:
  * enhancement: SERVE-EVENTS uses the poll() system call in lieu of
    select() if the OS has the former. Previously poll() was used
    only if waiting on exactly one file descriptor.
  * enhancement: efficiency of access to untagged structure slots is improved
    on x86-64, and the order of slots in memory is exactly as specified by
    defstruct, simplifying use of structures as arguments to foreign calls.
  * bug fix: SB-DEBUG:ARG now works in all TRACE options which evaluate forms.
   (lp#1357826)
  * bug fix: GC memory corruption during internal memory handling.
  * bug fix: duplicate effective-slot-definition objects as compared
    by EQ on name could be present in CLASS-SLOTS of a class whose
    metaclass was structure-class or condition-class. (lp#1049423)
  * bug fix: HANDLER-BIND with empty bindings works again; regression in
    1.2.5. (lp#1388707)
  * bug fix: ATOMIC-INCF works on structure slots in interpreted code.
    (lp#1381867)
  * bug fix: MAKE-ARRAY properly handles character types like (eql #\a) and
    (member #\a #\c). (lp#1392068)
  * bug fix: READ sometimes accidentally preserved a whitespace character
    after a token when it should not have. (lp#327790)


changes in sbcl-1.2.5 relative to sbcl-1.2.4:
  * enhancement: sb-bsd-sockets now has basic support for IPv6
  * enhancement: An sb-unicode package has been added, containing
    many functions related to handling Unicode text
  * enhancement: The reader now normalizes symbols to Normalization
    Form KC (NFKC). This behavior can be disabled with
    SB-EXT:READTABLE-NORMALIZATION
  * enhancement: a style-warning is signaled if OPTIMIZE declarations
    multiply specify a quality with differing values. (lp#310267)
  * bug fix: conservatively pointed to pages wipe out unused dwords so
    that they cannot act as false roots in turn.
  * bug fix: the walker's handling of lexical variable and symbol-macro
    bindings is improved (lp#375326, lp#1368305)
  * bug fix: HANDLER-{BIND,CASE} no longer drop into ldb when a clause
    contains an undefined condition type; regression in 1.1.19 (lp#1378939)
  * bug fix: in interpreted code, inequality predicates did not type-check
    arguments that weren't examined, and a 1-argument use of MIN or MAX
    accepted a complex number. (lp#1373702)
  * bug fix: APROPOS and APROPOS-LIST handle inherited symbols correctly.
    (lp#1364413, thanks to Zach Beane)


changes in sbcl-1.2.4 relative to sbcl-1.2.3:
  * enhancement: the sequence functions MAP, CONCATENATE and MERGE now call
    the new generic functions SEQUENCE:MAP, SEQUENCE:CONCATENATE and
    SEQUENCE:MERGE respectively when the specified result type designates an
    extended sequence.
  * bug fix: Wrong binding order of supplied-p parameters in macro lambda
    lists.  (lp#721135)
  * bug fix: VALIDATE-SUPERCLASS returns T when the superclass is the
    universal superclass (lp#1332983)
  * bug fix: reading an uninterned symbol whose print name has the
    syntax of an integer signals an error. (lp#310062)
  * bug fix: the walker is less likely to be confused when walking LET* forms
    with special bindings and use of those bindings and others of the same
    name.
  * bug fix: a rare bug affecting 32-bit platforms resulting in a
    fatal condition with the message "Globaldb rehash failure" has been fixed.


changes in sbcl-1.2.3 relative to sbcl-1.2.2:
  * enhancement: DOCUMENTATION works on instances of
    FUNCALLABLE-STANDARD-CLASS
  * enhancement: ASSERT reports arguments of calls to lexical functions in
    additional to global functions.
  * enhancement: ASDF updated to 3.1.3
  * enhancement: UIOP can be loaded without ASDF.
  * bug fix: some methods on CHANGE-CLASS did not finalize the new class
    before accessing its class-precedence list.
  * bug fix: CHANGE-CLASS no longer fails on unbound slots in the source
    object.
  * bug fix: CHANGE-CLASS signals an appropriate error when the destination
    class is a FORWARD-REFERENCED-CLASS.
  * bug fix: CHANGE-CLASS no longer signals bogus TYPE-ERRORs for slots for
    which initargs have been supplied.
  * bug fix: saving cores on ARM was broken since the introduction of GENCGC.
    (lp#1349795)
  * bug fix: macroexpanding a backquoted expression involving ",."
    outside of the compiler failed. (lp#1354623)


changes in sbcl-1.2.2 relative to sbcl-1.2.1:
  * incompatible change: the #\` ("backquote") reader macro was reimplemented
    to support robust pretty-printing. Reading a form involving #\` produces
    an invocation of the QUASIQUOTE ordinary macro which may contain subforms
    that are not lists. Code that unportably attempts operations on
    un-evaluated forms resulting therefrom, e.g.
      (SUBST a b (read-from-string "`(x (,y))"))
    might generate incorrect results and/or errors.
  * enhancement: support for GNU/kFreeBSD x86.
  * enhancement: ATOMIC-INCF and ATOMIC-DECF can operate on (CAR x), (CDR x)
    and DEFGLOBAL variables of type fixnum.
  * enhancement: arithmetic constant reduction is now performed on defconstant
    constants too. (lp#1337069).
  * bug fix: certain ftype proclamations containing &optional t &rest t no
    longer cause subsequent definitions to signal bogus style-warnings.
  * bug fix: #\Bell and #\Bel now read to different characters. (lp#1319452).
  * bug fix: CAS SYMBOL-VALUE on locally special variables didn't work.
    (lp#1098355)


changes in sbcl-1.2.1 relative to sbcl-1.2.0:
  * enhancement: GENCGC is enabled on ARM.
  * enhancement: better error reporting for invalid calls to local functions.
  * enhancement: support for GNU/kFreeBSD distributions.  (lp#1079954, thanks
    to Christoph Egger)
  * enhancement: experimental support for threads on NetBSD/x86-64.  (thanks
    to Robert Swindells)
  * enhancement: support for DragonFly BSD.  (lp#1292845, thanks to Vasily
    Postnicov)
  * bug fix: TYPE-OF must not return AND/OR/NOT expressions.
    (lp#1317308)
  * bug fix: accessing NIL arrays stopped producing errors. (lp#1311421)
  * bug fix: DISASSEMBLE no longer prints unwanted stuff. (lp#1251861)
  * bug fix: compiling SVREF on unknown types no longer produces scary errors.
    (lp#1258716)
  * bug fix: assorted LOOP fixes and enhancements. (lp#645534, lp#1322923,
    lp#700538, lp#613876, lp#695286, lp#798388)
  * bug fix: silence compiler notes from the SEARCH transform. (lp#1071310)
  * bug fix: array type intersection handles T and unknown element types
    correctly. (lp#1258716)
  * bug fix: fix a corner case in array type unparsing that would result in
    misleading translations from our internal type representation.
  * bug fix: array-rank now sees through union and intersection types.
    (lp#1310574)
  * bug fix: when DECLARE expressions are in the wrong place, be careful not
    to attempt to evaluate the subforms.  (lp#573747; thanks to Roman
    Marynchak)
  * bug fix: misplaced and missing declarations in DEFTRANSFORM. (lp#1066451)
  * bug fix: FBOUNDP returned NIL for a class of incorrect function names
    instead of signaling an error. (lp#1095483)
  * bug fix: fix a compile-time AVER in regalloc: lifetime analysis
    used to (rarely) introduce duplicate conflict markers in a single
    TN/block pair. (lp#1327008)
2015-03-10 20:50:37 +00:00

102 lines
3.5 KiB
Makefile

# $NetBSD: Makefile,v 1.58 2015/03/10 20:50:37 asau Exp $
DISTNAME= ${PKGNAME_NOREV}-source
PKGNAME= sbcl-1.2.9
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-nm
SUBST_STAGE.fix-nm= pre-configure
SUBST_FILES.fix-nm= src/runtime/Config.x86-64-sunos
SUBST_FILES.fix-nm+= src/runtime/Config.x86-sunos
SUBST_SED.fix-nm= -e 's,nm ,/usr/bin/nm ,'
.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 $(LOWER_ARCH) == "amd64" || $(LOWER_ARCH) == "x86_64"
PLIST_SUBST+= SUFX64=-64
.else
PLIST_SUBST+= SUFX64=
.endif
.include "../../mk/bsd.pkg.mk"