2019-11-10 17:58:31 +01:00
# $NetBSD: Makefile,v 1.84 2019/11/10 16:58:31 he Exp $
2005-06-23 05:00:20 +02:00
2006-02-18 23:18:30 +01:00
DISTNAME = ${ PKGNAME_NOREV } -source
2019-10-02 00:15:57 +02:00
PKGNAME = sbcl-1.5.7
2019-11-10 17:58:31 +01:00
PKGREVISION = 2
2005-06-23 05:00:20 +02:00
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
2005-06-23 05:00:20 +02:00
HOMEPAGE = http://www.sbcl.org/
COMMENT = SBCL, a Common Lisp implementation
2008-05-28 16:06:31 +02:00
# 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
2009-08-19 15:03:30 +02:00
WRKSRC = ${ WRKDIR } /${ PKGNAME_NOREV }
2005-06-23 05:00:20 +02:00
2009-08-19 15:03:30 +02:00
. i n c l u d e "../../mk/bsd.prefs.mk"
#
# Bootstrap section.
#
2008-05-28 16:06:31 +02:00
# SBCL needs an existing Common Lisp system to build it...
2009-08-19 15:03:30 +02:00
# 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"
2008-05-28 16:06:31 +02:00
2009-08-19 15:03:30 +02:00
#SBCL_BOOT_SYSTEM= clisp # CLisp
#SBCL_BOOT_SYSTEM= "lisp -batch" # CMUCL
#SBCL_BOOT_SYSTEM= "openmcl --batch" # OpenMCL
#SBCL_BOOT_SYSTEM= sbcl # SBCL
2005-06-23 05:00:20 +02:00
2009-08-19 15:03:30 +02:00
. i f ! d e f i n e d ( S B C L _ B O O T _ S Y S T E M )
# 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
2009-08-19 15:03:30 +02:00
BUILD_DEPENDS += clisp-[ 0-9] *:../../lang/clisp
2010-04-10 07:13:09 +02:00
UNLIMIT_RESOURCES = datasize
2009-08-19 15:03:30 +02:00
. e l i f ${SBCL_BOOT_SYSTEM} = = clisp
BUILD_DEPENDS += clisp-[ 0-9] *:../../lang/clisp
2010-04-10 07:13:09 +02:00
UNLIMIT_RESOURCES = datasize
2009-08-19 15:03:30 +02:00
. e l i f ${SBCL_BOOT_SYSTEM} = = sbcl
# Get bootstrap version:
BUILD_DEPENDS += sbcl-[ 0-9] *:../../lang/sbcl
. e n d i f
2005-06-23 05:00:20 +02:00
2009-08-19 15:03:30 +02:00
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
2019-05-23 21:22:54 +02:00
SUBST_VARS.fix-paths = PREFIX
2019-11-03 20:03:56 +01:00
SUBST_SED.fix-paths += -e 's,/var/log,${VARBASE}/log,g'
2005-06-23 05:00:20 +02:00
2009-08-19 15:03:30 +02:00
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
2019-05-23 21:22:54 +02:00
SUBST_VARS.fix-gtar = GTAR
2008-05-28 16:06:31 +02:00
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,'
2014-05-14 14:27:24 +02:00
2018-10-17 14:59:49 +02:00
. i f d e f i n e d ( T O O L S _ P L A T F O R M . p a x c t l )
SBCL_PAXCTL = ${ PAXCTL } +m
MAKE_ENV += SBCL_PAXCTL = ${ SBCL_PAXCTL : Q }
. e n d i f
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
2014-05-14 14:27:24 +02:00
.if !empty(MACHINE_PLATFORM : MSunOS -*-i 386)
SBCL_ARCH_ARGS = "--arch=x86"
.elif !empty(MACHINE_PLATFORM : MSunOS -*-x 86_ 64)
SBCL_ARCH_ARGS = "--arch=x86-64"
. e n d i f
2009-08-19 15:03:30 +02:00
do-build :
2018-10-17 14:59:49 +02:00
${ RUN } ${ _ULIMIT_CMD } \
cd ${ WRKSRC } && ${ PKGSRC_SETENV } ${ MAKE_ENV } ${ SH } make.sh --prefix= ${ PREFIX } ${ SBCL_ARCH_ARGS } --xc-host= ${ SBCL_BOOT_SYSTEM : Q }
2014-05-14 14:27:24 +02:00
2008-05-28 16:06:31 +02:00
post-build :
2009-08-19 15:03:30 +02:00
cd ${ WRKSRC } && ${ RM } -f contrib/sb-cover/test-output/*
2005-06-23 05:00:20 +02:00
do-install :
2018-10-17 14:59:49 +02:00
${ 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
2009-08-19 15:03:30 +02:00
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
2018-10-17 14:59:49 +02:00
${ RUN } ${ _ULIMIT_CMD } \
cd ${ WRKSRC } /tests && ${ PKGSRC_SETENV } ${ TEST_ENV } ${ SH } ./run-tests.sh
2005-06-23 05:00:20 +02:00
2016-01-24 17:14:44 +01:00
. i f ${MACHINE_ARCH} = = "x86_64"
2010-05-05 12:02:27 +02:00
PLIST_SUBST += SUFX64 = -64
2010-06-25 15:43:22 +02:00
. e l s e
PLIST_SUBST += SUFX64 =
2010-05-05 12:02:27 +02:00
. e n d i f
2005-06-23 05:00:20 +02:00
. i n c l u d e "../../mk/bsd.pkg.mk"