pkgsrc/lang/sbcl/Makefile

119 lines
3.8 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.84 2019/11/10 16:58:31 he Exp $
2006-02-18 23:18:30 +01:00
DISTNAME= ${PKGNAME_NOREV}-source
Update to version 1.5.7 Changes between version 1.5.6 and version 1.5.7 * platform support: many bug fixes to the experimental 64-bit PowerPC/Linux port, to the extent that the little-endian variant passes all applicable tests in the regression test suite; the big-endian variant currently has some failures experimental support for sb-threads on 64-bit PowerPC/Linux support threads on x86-64 Sun OS (#1841280) handle PAX restrictions on mprotect() on NetBSD experimental support for HaikuOS the runtime is built as a position-independent executable by default on x86-64 Linux and x86-64 Darwin * fixes and enhancements related to Unicode: update of the data files to Unicode 8.0 fix a bug in the implementation of the Unicode line breaking algorithm regarding hebrew letters and hyphens * enhancement: add a restart to OPEN with :IF-EXISTS :ERROR to allow re-opening with :APPEND. (#806398, reported by Tobias Rittweiler) * bug fix: compiler optimizations on SEARCH with :FROM-END T didn't account for the empty sequence. (#1844821) * bug fix: handle SETF of nested empty VALUES correctly. (#1806478) optimization: FLOOR and CEILING on rationals are simpler, and the compiler's understanding of them is better. Changes between version 1.5.5 and version 1.5.6 * platform support: experimental support for 64-bit PowerPC running Linux (extending Brian Bokser's work from 2018), on both the v1 and v2 ABIs new feature: SB-EXT:SEARCH-ROOTS discovers paths from live objects to the roots keeping them alive. * enhancement: string output streams created with :ELEMENT-TYPE 'BASE-CHAR use internal buffers of BASE-STRING instead of UCS-4 strings restricted to the ASCII range, yielding a theoretical 4:1 space reduction. * optimization: improved make-array type derivation for multi-dimensional arrays. (#1838442) * bug fix: compliant redefinition of classes whose previous definition caused argument mismatch errors does not generate errors any more. (#1840595, reported by 3b on #sbcl) * bug fixes for issues caught by the random tester: never derive the type of TRUNCATE on arbitrary numbers as the empty type. (#1838267) provide out-of-line definitions for internal machinery related to FLOAT-SIGN. (#1838337) include COMPLEX in the derived type of SIGNUM when appropriate. (#1838333) more correct internal type testing for function types. (#1838808, #1838888, #1838986) don't assume that all objects of type (NOT SIMPLE-ARRAY) have an array header. (#1838827) recognize that PHASE on non-positive numbers can return 0 as well as PI. (#1838892)
2019-10-02 00:15:57 +02:00
PKGNAME= sbcl-1.5.7
PKGREVISION= 2
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbcl/}
EXTRACT_SUFX= .tar.bz2
Update to 1.5.5, change maintainer to pkgsrc-users. Changes since 1.4.3: Changes between version 1.5.4 and version 1.5.5 * platform support: - SunOS: bug reports and patches from Richard Lowe in sb-posix tests (#1837495), sb-concurrency tests (#1837817), unencapsulated tracing (#1837307), float registers in interrupt contexts (#1837168) * bug fix: do not generate version.lisp-expr from git describe if the git repository is not sbcl's own. (#1836663, thanks to Richard Lowe) * bug fix: compiler crash related to VALUES-LIST on a &REST argument in some contexts. (#1836096, reported by Samuel Jimenez) * bug fix: compiler hang related to constraint propagation. (#1835599, reported by Mark Cox) * bug fix: the inspector showed the wrong array element type. (#1835934, reported by Richard M Kreuter) * optimization: numerous improvements to hash table access and rehashing * optimization: ASSERT compiles into substantially more compact code. (#1835221) Changes between version 1.5.3 and version 1.5.4 * minor incompatible change: hash tables on 64-bit machines consume roughly 20% less memory but can only grow to hold 2^31 entries (theoretically) due to use of 31-bit indices internally. * platform support: - RISC-V: improve rotate-byte support (thanks to Philipp Matthias Schaefer) * bug fix: the system reasons more correctly regarding the array rank of complicated array types. (reported by Bart Botta) * bug fix: DOUBLE-FLOAT-P never gets weaked to NUMBERP. (reported by Bart Botta) * enhancement: the regression test suite can now benefit from paralellism, completing much faster when enough compute power is available. * optimization: readtables with non-base-char dispatch characters are less inefficient. * optimization: INTERN performs fewer redundant type checks. * optimization: tests for PATHNAMEP and STRUCTURE-OBJECT (including in computing hash functions) are faster. Changes between version 1.5.2 and version 1.5.3 * platform support: - RISC-V: numerous bug fixes and improvements - all platforms: better run-program performance when used from multiple threads. * enhancement: (declaim (optimize (debug 2))) ensures compilation of top-level forms, providing better debugging for simple forms that are otherwise "byte-code interpreted" when compiled into FASLs. * bug fix: use of finalizers could in rare circumstances cause a crash in the garbage collector. * bug fix: show extended function designators, e.g. (setf foo), in the disassembler * optimization: reduced overhead of calling NTH/NTHCDR. * optimization: improved FLOAT-SIGN on DOUBLE-FLOATs on 64-bit platforms Changes between version 1.5.1 and version 1.5.2 * enhancement: RISC-V support with the generational garbage collector. * enhancement: command-line option "--tls-limit" can be used to alter the maximum number of thread-local symbols from its default of 4096. * enhancement: better muffling of redefinition and lambda-list warnings * platform support: - OS X: use Grand Central Dispatch semaphores, rather than Mach semaphores - Windows: remove non-functional definition of make-listener-thread * new feature: decimal reader syntax for rationals, using the R exponent marker and/or *READ-DEFAULT-FLOAT-FORMAT* of RATIONAL. * optimization: various Unicode tables have been packed more efficiently Changes between version 1.5.0 and version 1.5.1 * enhancement: restarts for missing package errors. * optimization: FIND-PACKAGE should be faster even when run in the context of a package with local package-nicknames. * optimization: fix TRUNCATE deftransform's results to have well-defined signs * bug fix: thread-safety problems in RUN-PROGRAM with :PTY. * bug fix: SLEEP transform could never fire. * build enhancement: defend against quirky host floating point implementation * test enhancement: allow more parallelism in running the regression test suite Changes between version 1.4.16 and version 1.5.0 * enhancement: SB-COVER emulates IN-PACKAGE when recording source maps; this makes it possible to generate coverage for forms that uses local package nicknames, or otherwise must be read in the correct package. * build enhancement: new host quirks mechanism, support for building under ABCL and ECL (as well as CCL, CMUCL, CLISP and SBCL itself) * optimization: (FIND-SYMBOL x "P") for constant "P" executes faster, subject to "P" not being a package-local nickname of any package. Similarly INTERN. (#1814924) * optimization: bounds checks are elided when possible where the same array is dereferenced multiple times. * bug fix: initargs are now deduplicated when computing effective slots. * bug fix: TREE-EQUAL with :TEST 'EQL now correctly computes its answer. (reported by Bahodir Mansurov) * bug fix: compiled (COERCE x 'FLOAT) no longer coerces double-floats into single-floats. (reported by J. Gareth Williams) Changes between version 1.4.15 and version 1.4.16 * minor incompatible change: ENSURE-DIRECTORIES-EXIST no longer establishes a CONTINUE restart in case of an error. * minor incompatible change: Defining macros (DEFVAR, etc) which require a symbol as the name will fail to macroexpand if given a non-symbol. * enhancement: the unexported restart names SB-{ALIEN,FASL,IMPL,PCL}::RETRY have been replaced by SB-EXT:RETRY. Changes between version 1.4.14 and version 1.4.15 * enhancement: added AVX2 instructions on x86-64, which can be used with SB-SIMD-PACK. * enhancement: specializer name parsing is less lenient and signals a specific condition in case of syntax errors. (#1808681) * enhancement: provide interactive restarts for some file-system errors. * enhancement: COMPILE no longer acquires the world lock. (fixes most occurrences of #308959) * bug fix: RUN-PROGRAM is more responsive and less likely to deadlock (#1702178, #1808641) * bug fix: traceroot can search for simple-fun targets (#1808659, reported by Michal Herda) * compiler bug fixes: related to code generation: #1805899, #1806982, #1807455 related to interpreting and constant-folding: #1806513 related to the type system: #1804759, #1804796 related to eq-testing of structure slots: #1809582, #1808273 related to dynamic-extent: #1809565, #1809253, #1809485, #1739652 related to GC safety: #308949 Changes between version 1.4.13 and version 1.4.14 * enhancement: attempting to build on openbsd 6.0 or newer without the wxallowed mount option now results in a more useful error message. * enhancement: by popular demand, SB-EXT now exports two functions HEAP-ALLOCATED-P and STACK-ALLOCATED-P to assist in writing debug assertions that objects in hash-tables are not stack-allocated, etc. * bug fix: restored sb-thread support on OpenBSD. Changes between version 1.4.12 and version 1.4.13 * minor incompatible change: PRINT-TYPE and PRINT-TYPE-SPECIFIER are not exported from SB-EXT. These were never announced, so this change would only affects users who discovered these undocumented functions. * enhancement: SB-EXT:SEARCH-ROOTS and SB-EXT:GC-AND-SEARCH-ROOTS are supported on all backends that use gencgc. Changes between version 1.4.11 and version 1.4.12 * minor incompatible change: a number of platform-specific elements of *FEATURES* related to whether the system implements particular strategies have been removed. * minor incompatible change: some changes to the (internal) implementation details of the x86 and x86-64 have necessitated changes to some low-level libraries. * enhancement: attempting to transfer control through GO or RETURN-FROM to frames which no longer exist are now caught and handled by the debugger. * enhancement: identical code (at the machine instruction level) can now be shared between functions, if explicitly requested. * enhancement: SB-EXT:STRING-TO-OCTETS and SB-EXT:OCTETS-TO-STRING are now documented. * bug fixes: fix a number of bugs revealed by random testing (#1793171, #1793150, #1791550, #1792030, #1791059, #1790157, #1790717, #1790703) Changes between version 1.4.10 and version 1.4.11 * minor incompatible change: changes to the (internal) assembler on x86 and x86-64 may cause problems to some low-level third-party libraries: new macro EA for defining an effective address, without size information; an explicit size modifier is now needed for MOVSX and MOVSZ instructions; MOVD and MOVQ move a single size of operand by definition. * enhancement: support the latest MinGW (#1786731, reported by il71) * enhancement: checks for modifications of constants can now be done in local (FLET/LABELS) functions. * optimization: improved type checking routines for various compound types. * optimization: array bound checks are elided on vectors when the index is known to be less than the length, including LOOP ACROSS. * optimization: the register allocator's use of temporaries is somewhat improved. * optimization: checking widetags involves fewer conditional jumps on x86 and x86-64. * bug fix: fix a number of bugs related to constant improper lists as sequence arguments (#1768563, #1768568, #1768652) Changes between version 1.4.9 and version 1.4.10 * enhancement: added SB-EXT:MAKE-WEAK-VECTOR. * enhancement: constant-modification detection warnings can be generated in the presence of conditional constructs. * optimization: better bounds-checking on x86[-64] and ARM64. * optimization: adding 1 to or subtracting 1 from a fixnum variable does not cons. * bug fixes: fix a number of bugs revealed by random testing (#1782826, #1779878, #1779737) Changes between version 1.4.8 and version 1.4.9 * enhancement: SB-COVER instrumentation for x86[-64] has signficantly less overhead. The performance penalty for 64-bit code has been measured at around 30% slower than uninstrumented code as contrasted with slowdowns in excess of 100% previously. * enhancement: tracing a generic function with the :METHODS T option produces output corresponding to each method called under the default :ENCAPSULATE NIL tracing implementation. * bug fix: updated TRACE documentation. (#574614 was actually already fixed, but there were other issues.) * bug fix: fixed x86 GC bug causing heap corruption. (#1749369) * bug fix: improved compatibility with macOS High Sierra and graphical applications. Changes between version 1.4.7 and version 1.4.8 * bug fix: redefinition of method combinations now does the expected thing; generic functions using that method combination have their effective methods lazily recomputed according to the new definition of the method combination. (Reported by Didier Verna at ELS 2018) * bug fix: :arguments argument to the long form of DEFINE-METHOD-COMBINATION is now implemented more correctly, supporting suppliedp variables and &optional defaults. (Reported by Bruno Haible, #309084) Changes between version 1.4.6 and version 1.4.7 * enhancement: better handling of unknown keyword arguments (#1750466) * enhancement: namestrings can now be computed for certain pathnames that previously did not have namestrings because of #\. characters in their name and/or type components. * bug fix: compiling a SLEEP call with a float positive infinity argument no longer causes an internal error (#1754081) * bug fix: keyword arguments provided to a generic function with EQL-specialized methods are checked more correctly (reported by Syll, #1760987) Changes between version 1.4.5 and version 1.4.6 * enhancement: DISASSEMBLE on a symbol naming a macro will disassemble the expander, not the code that traps attempted FUNCALL of the macro. * enhancement: The sb-sprof contrib now provides an experimental interface for accessing collected profiler data. * enhancement: The instruction-level profiling of the sb-prof contrib annotates the disassembler output more efficiently. * optimization: improved dynamic-extent handling of nested variables. Changes betweenNew in version 1.4.5 * minor incompatible change: building with/without the :sb-package-locks feature is no longer an option. Package locks are always compiled in, and removing :sb-package-locks from *features* will have no effect. * enhancement: FIND-PACKAGE does not acquire a mutex * enhancement: cheneygc can perform heap relocation on startup * enhancement: in threaded builds, finalizers execute in a system-internal thread so that a user thread which invokes GC is unblocked from performing work as soon it returns from GC and invokes any post-GC hooks. As such, it is more important than before to avoid assumptions about special variable bindings in finalizers, even in single-threaded code. * optimization: faster (funcall (or function symbol)) on x86-64. Changes between version 1.4.3 and version 1.4.4 * bug fix: pathname accessors such as PATHNAME-DIRECTORY work on SYNONYM-STREAMs. * bug fix: (pathname-{device,directory,name,type} ... :case :common) works as expected. In particular MAKE-PATHNAME composed with the accessors roundtrips properly when both use the same :case. (#1739906) * bug fix: DIRECTORY no longer gets confused when the value of *DEFAULT-PATHNAME-DEFAULTS* has a name or type component. (#1740563) * bug fix: pattern pieces in pathname components are correctly escaped during unparsing. * bug fix: DELETE-DIRECTORY no longer signals an error when the directory is supplied as a pathname with name and/or type components containing escaped characters. (#1740624) * bug fix: weak hash-tables no longer cause GC time to scale superlinearly (#1241771) * bug fix: CANCEL-FINALIZATION operates in approximately constant time per operation (#1587983) * bug fix: big-endian MIPS systems now (mostly) work again (broken since 1.3.14.x). * bug fix: backtrace from arg-count errors on systems other than x86, x86-64, ARM, and ARM64 now works again. * bug fix: backtrace from asynchronous interrupts on non-x86, non-x86-64 systems should now be more reliable. * enhancement: warnings and errors referring to bindings established by LET, LET*, FLET and LABELS point to the offending form more accurately. * enhancement: backtrace for invalid argument count produces the exact supplied arguments including the extra ones on all platforms (no longer just x86, x86-64, ARM, and ARM64).
2019-08-13 17:16:54 +02:00
MAINTAINER= pkgsrc-users@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
Update to SBCL 1.1.14 changes in sbcl-1.1.14 relative to sbcl-1.1.13: * optimization: complicated TYPEP tests are less opaque to the type propagation pass. (lp#1229340) * optimization: [N]BUTLAST perform a single pass over the list. (lp#1245697) * optimization: EQUALP on structures with raw slots (double-float/complex) no longer conses and is faster. * optimization: RESTART-CASE expands to more compact code. Thanks to Jan Moringen. (lp#1249055) * enhancement: Top-level defmethod without defgeneric no longer causes undefined-function warnings in subsequent forms. (lp#503095) * enhancement: Better error messages for system errors on Windows. * enhancement: run-sbcl.sh is usefully handled by rlwrap. Thanks to William Cushing. (lp#1249183) * enhancement: new function SB-EXT:ASSERT-VERSION->= accepts a version specification (multiple integer arguments) and signals a continuable error if the current SBCL version is lower (older) than the specification. (lp#674372) * enhancement: better ARRAY-RANK result derivation. (lp#1252108) * bug fix: EQUALP now compares correctly structures with raw slots larger than a single word. * bug fix: contribs couldn't be built on Windows with MinGW. * bug fix: Better pathname handling on Windows. (lp#922117) * bug fix: OPEN reports a more meaningful error when an existing file is opened for output with :if-exists :new-version. Thanks to Philip Munksgaard. (lp#455381) * bug fix: DEFSTRUCTs with NIL as a slot name no longer cause strange CLOS-related errors. (lp#633911) * bug fix: GC deadlocks caused by concurrent consing on Windows. changes in sbcl-1.1.13 relative to sbcl-1.1.12: * optimization: better distribution of SXHASH over small conses of related values. (lp#309443) * other improvements to SXHASH: ** use the whole of the positive-fixnum range for SXHASH of fixnums * enhancement: The error message when calling an undefined alien function includes the name of the function on x86-64. * enhancement: sb-ext:run-program now supports :environment on Windows. * enhancement: ASDF is no longer required to load contribs at runtime. (lp#1132254) * enhancement: when called with a symbol, FIND-RESTART no longer calls COMPUTE-RESTARTS, making it faster and cons less (lp#769615) * enhancement: FIND-RESTART and COMPUTE-RESTARTS handle huge restart clusters better in some cases * enhancement: SOME/ANY/other quantification higher-order functions no longer cons. (lp#1070635) * bug fix: forward references to classes in fasls can now be loaded. (lp#746132) * bug fix: don't warn on a interpreted->compiled function redefinition from the same location. (patch by Douglas Katzman, lp#1042405) * bug fix: Create vectors of proper internal length when reading literal vectors from FASLs. (Reported by Jan Moringen) * bug fix: COMPILE can now succefully compile setf functions. (Reported by Douglas Katzman) * bug fix: run-program performs more correct escaping of arguments on Windows. (lp#1239242) * bug fix: function-lambda-expression on generic functions returns the actual name. * bug fix: (the [type] [constant]) now warns when [constant] matches [type] except for the number of values. (Reported by Nathan Trapuzzano on sbcl-help) * bug fix: signal errors in required cases of slot-definition initialization protocol. (lp#309072) * bug fix: run-sbcl.sh works better in the presence of symlinks on OS X. (thanks to Stelian Ionescu, lp#1242643) * bug fix: when given a restart object, FIND-RESTART checks whether the restart is active and, when a condition is supplied, whether the restart is associated to a different condition (lp#774410) changes in sbcl-1.1.12 relative to sbcl-1.1.11: * enhancement: Add sb-bsd-sockets:socket-shutdown, for calling shutdown(3). (thanks to Jan Moringen, lp#1207483) * enhancement: document extensible sequences. (thanks to Jan Moringen, lp#994528) * optimization: EQUAL and EQUALP transforms are smarter. (thanks to Elias Martenson, lp#1220084) * optimization: CHAR-EQUAL is faster for constant and base-char arguments. * bug fix: probe-file now can access symlinks to pipes and sockets in /proc/pid/fd on Linux. (reported by Eric Schulte) * bug fix: SBCL can now be built on Solaris x86-64. * bug fix: Floating point exceptions do not persist on Solaris anymore. * bug fix: (setf . a) is pprinted correctly (reported by Douglas Katzman). * bug fix: handle compiler-error in LOAD when it's not run from inside EVAL. (lp#1219601) * bug fix: SB-GMP:MPZ-POW no longer segfaults given a non-bignum base. (thanks to Stephan Frank) * bug fix: space allocation of result bignums in SB-GMP is more accurate. (thanks to Stephan Frank, lp#1206191) * bug fix: sb-safepoint can now reliably handle signal interruptions of foreign code. (lp#1133018) * bug fix: the compiler-macro for MAKE-INSTANCE when emitting "fallback" constructors no longer fails to merge actual and default initargs (thanks to Jan Moringen, lp#1179858) * bug fix: the compiler-macro for MAKE-INSTANCE when emitting "fallback" constructors handles non-KEYWORD initialization arguments more correctly. * bug fix: loading the SB-SIMPLE-STREAMS contributed module no longer clobbers FILE-NAMESTRING. (thanks to Anton Kovalenko, lp#884603) * bug fix: class definitions with CPLs inconsistent with their metaclasses are less likely to destroy the object system's integrity. (lp#309076) * bug fix: restart clause parsing in RESTART-CASE is more in line with the standard. (lp#1203585, thanks to Jan Moringen) * bug fix: silence a note from RESTART-CASE under high-SPEED optimization settings. (lp#1023721) * bug fix: getting the order of arguments to SB-MOP:SET-FUNCALLABLE-INSTANCE-FUNCTION wrong produces a sensible error rather than a failed AVER. (reported by Paul Nathan) * bug fix: Parsing of &optional/&key/&rest arguments now never overwrites arguments during copying on x86 and x86-64; it may still happen on other platforms when there are more fixed arguments than stack slots. (reported by Jan Moringen)
2013-12-03 20:37:20 +01:00
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:
Update to SBCL 1.0.38 changes in sbcl-1.0.38 relative to sbcl-1.0.37: * incompatible change: Thread names are now restricted to SIMPLE-STRINGs like for any other thread-related datastructure, MUTEX, etc. (lp#547095) * deprecation: the SB-QUEUE contrib was merged into the SB-CONCURRENCY contrib module. New code should depend on SB-CONCURRENCY, not SB-QUEUE. * deprecation: SB-THEAD:GET-MUTEX was deprecated in favor of SB-THREAD:GRAB-MUTEX. * new contributed module: SB-CONCURRENCY is a new contrib; it's supposed to contain additional data structures and tools for concurrent programming; at the moment it contains a lock-free queue, and a lock-free mailbox implementation. * new feature: added SB-THREAD:GRAB-MUTEX; it's like the now deprecated GET-MUTEX but takes &key rather than &optional parameters. Also added :TIMEOUT argument to GRAB-MUTEX on non-sb-lutex platforms like Linux and BSD. * new feature: added SB-THREAD:TRY-SEMAPHORE, a non-blocking variant of SB-THREAD:WAIT-ON-SEMAPHORE. * new feature: SB-EXT:ATOMIC-DECF has been added as a companion to SB-EXT:ATOMIC-INCF. * new feature: a CANCEL-DEADLINE is associated with DEADLINE-TIMEOUT conditions to defer the deadline for forever. * enhancement: *STANDARD-OUTPUT*, *STANDARD-INPUT*, and *ERROR-OUTPUT* are now bivalent. * enhancement: errors from NO-APPLICABLE-METHOD and NO-PRIMARY-METHOD now have a RETRY restart available to retry the generic function call. * enhancement: SB-BSD-SOCKET improvements ** sockets and socket streams now have a more informative printed representation based on the corresponding SOCKET-NAME and SOCKET-PEERNAME. ** SOCKET-MAKE-STREAM once more supports the :AUTO-CLOSE option. (lp#540413) ** SOCKET-CLOSE now accepts :ABORT argument, which is passed on to CL:CLOSE when appropriate, and no longer disassociates the stream from the socket if close failed. (lp#543951) * improvements to the instrumenting profiler ** new feature: report per-function GC overhead. (thanks to John Fremlin) ** optimization: counters no longer use locks for the overflow mode. ** bug fix: whenever a profiling counter wrapped into overflow mode, it incurred an off-by-one miscount. * enhancement: improved MAKE-HASH-TABLE documentation (lp#543473) * enhancement: improved DEFMETHOD pretty-printing. * enhancement: perform range reduction when arguments are too large for x87's transcendentals (instead of returning 0). (lp#327192) * enhancement: eliminate some spurious TYPE-WARNINGs. Should help with some of CL-PPCRE's macros. (lp#570079) * enhancement: our machine code is slightly less hostile to valgrind on x86-64. * enhancement: up-to-date versions of NetBSD-current are supported. (Thanks to Robert Swindells and Aleksej Saushev) * bug fix: correct restart text for the continuable error in MAKE-PACKAGE. * bug fix: a rare case of startup-time page table corruption. * bug fix: a semaphore with multiple waiters and some of them unwinding due to timeouts could be left in an inconsistent state. * bug fix: fix typo in "Reporting Bugs" section of the manual (lp#520366) * bug fix: misoptimization of multiplication by one in (SB-C::FLOAT-ACCURACY 0) policies. * bug fix: miscounts in SB-PROFILE. * bug fix: Fix lost wakeup bug between SB-THREAD:CONDITION-WAIT and CONDITION-NOTIFY on Linux. See threads "lost wakeup in condition-wait / condition-notify" (Feb 2010) and "Condition-Wait, Deadline handler, waking up itself" (March 2010) for further details. * bug fix: allow forward FIND and POSITION on lists to elide checking :END against length of the list if the element is found before the specified END is reached. (thanks to Alec Berryman, lp#554385) * bug fix: errors signalled during package graph modification no longer block FIND-SYMBOL and FIND-PACKAGE in other threads. (lp#511072) * bug fix: SB-POSIX build was broken when SBCL was compiled without the :SB-DOC feature. (lp#552564) * bug fix: SB-INTROSPECT build issues on GENGC/PPC. (lp#490490) * bug fix: more robust runtime executable path detection. (lp#375549) * bug fix: GCD always returns positive values. (lp#413680) * bug fix: Converting division to multiplication by reciprocal handles denormals. * bug fix: We were too eager in eliding range reduction tests on x87. The maximal magnitude is 2^63, not 2^64. * bug fix: Transforms for TRUNCATE don't die when the result is completely ignored anymore. * bug fix: Maybe restore buildability on Alpha. * bug fix: READ-BYTE isn't inline anymore, fixing weird streams failures. (lp#569404) * bug fix: RANDOM-STATE can be printed readably again. * bug fix: Unreadable objects were sometimes printed like #<\nFoo>. * bug fix: Using EQL with non-constant values of constant type (e.g. EQL types) could result in type mismatches during compilation. changes in sbcl-1.0.37 relative to sbcl-1.0.36: * enhancement: Backtrace from THROW to uncaught tag on x86oids now shows stack frame thrown from. * enhancement: WITH-COMPILATION-UNIT :POLICY allows restricting changes to compiler optimization qualities inside dynamic extent of its body. * enhancement: LOAD-LOGICAL-PATHNAME-TRANSLATIONS can be used to load translations from SYS:SITE;<HOST>.TRANSLATIONS.NEWEST (thanks to Michael Weber) * optimization: SLOT-VALUE and (SETF SLOT-VALUE) take advantage of constraint propgation, allowing better compilation eg. when used to access structures with WITH-SLOTS. (lp#520366) * optimization: the compiler is now more aware of the type of the underlying storage vector for multidimensional simple arrays resulting in better code for accessing such arrays. * optimization: passing NIL as the environment argument to TYPEP no longer inhibits optimizing it. (lp#309788) * optimization: more efficient register usage when handling single-float arguments on x86-64. (thanks to Lutz Euler) * optimization: ADJUST-ARRAY and STABLE-SORT on vectors no longer use pre-allocated temporary vectors. (lp#496249) * bug fix: Fix compiler error involving MAKE-ARRAY and IF forms in :INITIAL-CONTENTS. (lp#523612) * bug fix: FUNCTION-LAMBDA-EXPRESSION lost declarations from interpreted functions. (lp#524707) * bug fix: bogus style warnings from certain (SETF SLOT-VALUE) and WITH-SLOTS usages during compilation. * bug fix: SB-C::CLASS-INFO now prints correctly. (lp#514762) * enhancement: Can now build with ud2 instead of int3 as trap instruction on all x86oid platforms with :UD2-BREAKPOINTS target feature. * bug fix: Breakpoints now work when using ud2 instead of int3 as trap instruction (tested on x86oid linux with ud2-breakpoints). * bug fix: slam.sh now works on win32. * bug fix: better differences of numeric types. (lp#309124) * bug fix: arrays declared intersection and union types can have their upgraded element type derived. (lp#316078) * bug fix: SB-SPROF allocation profiling for all threads failed to profile threads started during profiling. (lp#472499) * bug fix: SB-INTROSPECT test failure when building without SB-EVAL feature. (lp#535658) * bug fix: SB-CLTL2:DECLARATION-INFORMATION did not take SB-EXT:RESTRICT-COMPILER-POLICY into account. (lp#313337) * bug fix: Comma inside a backquoted array or structure resulted in nonsense values instead of signaling an error. (lp#309093) * bug fix: Spurious unused variable warning in a DEFSTRUCT edge case. (lp#528807) * bug fix: More consistent warnings and notes for ignored DYNAMIC-EXTENT declarations (lp#497321) * bug fix: FIND and POSITION on lists did not check sequence bounds properly and failed to detect circular lists (lp#452008) * bug fix: leakage from ~/.asdf-install into the ASDf-INSTALL contrib build (lp#538974) * bug fix: LOOP OF-TYPE VECTOR compile-time error. (lp#540186) * bug fix: SIGNAL SB-SYS:INTERACTIVE-INTERRUPT before entering the debugger due to it, so that handlers can run. * bug fix: reparsing undefined types if they have become defined since parsing. (lp#309128) * bug fix: missing &REST type in a proclamation for a function with both &REST and &KEY in lambda-list caused miscompilation (lp#458354) * bug fix: WHO-CALLS information for source-transformed and compiler-macro expanded calls (lp#542174) * bug fix: more accurate WHO-MACROEXPANDS information; point into rather than just at toplevel form.
2010-05-01 19:01:20 +02:00
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_VARS.fix-paths= PREFIX
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_VARS.fix-gtar= GTAR
2015-03-17 15:23:34 +01:00
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 defined(TOOLS_PLATFORM.paxctl)
SBCL_PAXCTL= ${PAXCTL} +m
MAKE_ENV+= SBCL_PAXCTL=${SBCL_PAXCTL:Q}
.endif
INSTALL_ENV+= BUILD_ROOT=${DESTDIR:Q}
INSTALL_ENV+= INSTALL_ROOT=${PREFIX:Q}
INSTALL_ENV+= MAN_DIR=${PREFIX:Q}/${PKGMANDIR}
NOT_PAX_MPROTECT_SAFE+= bin/sbcl
.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:
${RUN} ${_ULIMIT_CMD} \
cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${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:
${RUN} ${_ULIMIT_CMD} \
cd ${WRKSRC} && ${PKGSRC_SETENV} ${INSTALL_ENV} ${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:
Update to SBCL 1.1.14 changes in sbcl-1.1.14 relative to sbcl-1.1.13: * optimization: complicated TYPEP tests are less opaque to the type propagation pass. (lp#1229340) * optimization: [N]BUTLAST perform a single pass over the list. (lp#1245697) * optimization: EQUALP on structures with raw slots (double-float/complex) no longer conses and is faster. * optimization: RESTART-CASE expands to more compact code. Thanks to Jan Moringen. (lp#1249055) * enhancement: Top-level defmethod without defgeneric no longer causes undefined-function warnings in subsequent forms. (lp#503095) * enhancement: Better error messages for system errors on Windows. * enhancement: run-sbcl.sh is usefully handled by rlwrap. Thanks to William Cushing. (lp#1249183) * enhancement: new function SB-EXT:ASSERT-VERSION->= accepts a version specification (multiple integer arguments) and signals a continuable error if the current SBCL version is lower (older) than the specification. (lp#674372) * enhancement: better ARRAY-RANK result derivation. (lp#1252108) * bug fix: EQUALP now compares correctly structures with raw slots larger than a single word. * bug fix: contribs couldn't be built on Windows with MinGW. * bug fix: Better pathname handling on Windows. (lp#922117) * bug fix: OPEN reports a more meaningful error when an existing file is opened for output with :if-exists :new-version. Thanks to Philip Munksgaard. (lp#455381) * bug fix: DEFSTRUCTs with NIL as a slot name no longer cause strange CLOS-related errors. (lp#633911) * bug fix: GC deadlocks caused by concurrent consing on Windows. changes in sbcl-1.1.13 relative to sbcl-1.1.12: * optimization: better distribution of SXHASH over small conses of related values. (lp#309443) * other improvements to SXHASH: ** use the whole of the positive-fixnum range for SXHASH of fixnums * enhancement: The error message when calling an undefined alien function includes the name of the function on x86-64. * enhancement: sb-ext:run-program now supports :environment on Windows. * enhancement: ASDF is no longer required to load contribs at runtime. (lp#1132254) * enhancement: when called with a symbol, FIND-RESTART no longer calls COMPUTE-RESTARTS, making it faster and cons less (lp#769615) * enhancement: FIND-RESTART and COMPUTE-RESTARTS handle huge restart clusters better in some cases * enhancement: SOME/ANY/other quantification higher-order functions no longer cons. (lp#1070635) * bug fix: forward references to classes in fasls can now be loaded. (lp#746132) * bug fix: don't warn on a interpreted->compiled function redefinition from the same location. (patch by Douglas Katzman, lp#1042405) * bug fix: Create vectors of proper internal length when reading literal vectors from FASLs. (Reported by Jan Moringen) * bug fix: COMPILE can now succefully compile setf functions. (Reported by Douglas Katzman) * bug fix: run-program performs more correct escaping of arguments on Windows. (lp#1239242) * bug fix: function-lambda-expression on generic functions returns the actual name. * bug fix: (the [type] [constant]) now warns when [constant] matches [type] except for the number of values. (Reported by Nathan Trapuzzano on sbcl-help) * bug fix: signal errors in required cases of slot-definition initialization protocol. (lp#309072) * bug fix: run-sbcl.sh works better in the presence of symlinks on OS X. (thanks to Stelian Ionescu, lp#1242643) * bug fix: when given a restart object, FIND-RESTART checks whether the restart is active and, when a condition is supplied, whether the restart is associated to a different condition (lp#774410) changes in sbcl-1.1.12 relative to sbcl-1.1.11: * enhancement: Add sb-bsd-sockets:socket-shutdown, for calling shutdown(3). (thanks to Jan Moringen, lp#1207483) * enhancement: document extensible sequences. (thanks to Jan Moringen, lp#994528) * optimization: EQUAL and EQUALP transforms are smarter. (thanks to Elias Martenson, lp#1220084) * optimization: CHAR-EQUAL is faster for constant and base-char arguments. * bug fix: probe-file now can access symlinks to pipes and sockets in /proc/pid/fd on Linux. (reported by Eric Schulte) * bug fix: SBCL can now be built on Solaris x86-64. * bug fix: Floating point exceptions do not persist on Solaris anymore. * bug fix: (setf . a) is pprinted correctly (reported by Douglas Katzman). * bug fix: handle compiler-error in LOAD when it's not run from inside EVAL. (lp#1219601) * bug fix: SB-GMP:MPZ-POW no longer segfaults given a non-bignum base. (thanks to Stephan Frank) * bug fix: space allocation of result bignums in SB-GMP is more accurate. (thanks to Stephan Frank, lp#1206191) * bug fix: sb-safepoint can now reliably handle signal interruptions of foreign code. (lp#1133018) * bug fix: the compiler-macro for MAKE-INSTANCE when emitting "fallback" constructors no longer fails to merge actual and default initargs (thanks to Jan Moringen, lp#1179858) * bug fix: the compiler-macro for MAKE-INSTANCE when emitting "fallback" constructors handles non-KEYWORD initialization arguments more correctly. * bug fix: loading the SB-SIMPLE-STREAMS contributed module no longer clobbers FILE-NAMESTRING. (thanks to Anton Kovalenko, lp#884603) * bug fix: class definitions with CPLs inconsistent with their metaclasses are less likely to destroy the object system's integrity. (lp#309076) * bug fix: restart clause parsing in RESTART-CASE is more in line with the standard. (lp#1203585, thanks to Jan Moringen) * bug fix: silence a note from RESTART-CASE under high-SPEED optimization settings. (lp#1023721) * bug fix: getting the order of arguments to SB-MOP:SET-FUNCALLABLE-INSTANCE-FUNCTION wrong produces a sensible error rather than a failed AVER. (reported by Paul Nathan) * bug fix: Parsing of &optional/&key/&rest arguments now never overwrites arguments during copying on x86 and x86-64; it may still happen on other platforms when there are more fixed arguments than stack slots. (reported by Jan Moringen)
2013-12-03 20:37:20 +01:00
# 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
${RUN} ${_ULIMIT_CMD} \
cd ${WRKSRC}/tests && ${PKGSRC_SETENV} ${TEST_ENV} ${SH} ./run-tests.sh
.if ${MACHINE_ARCH} == "x86_64"
2010-05-05 12:02:27 +02:00
PLIST_SUBST+= SUFX64=-64
2010-06-25 15:43:22 +02:00
.else
PLIST_SUBST+= SUFX64=
2010-05-05 12:02:27 +02:00
.endif
.include "../../mk/bsd.pkg.mk"