diff options
author | asau <asau> | 2015-12-09 21:00:47 +0000 |
---|---|---|
committer | asau <asau> | 2015-12-09 21:00:47 +0000 |
commit | 34c561aefa3c06ce9501b1656fea0a3da1224cf9 (patch) | |
tree | 5a54f28799b581e0217ef08a844e5be8a50d8b84 /lang/ecl/options.mk | |
parent | 990fc4842cf962e8d155110dc7a1a514feb5c306 (diff) | |
download | pkgsrc-34c561aefa3c06ce9501b1656fea0a3da1224cf9.tar.gz |
Update to ECL 16.0.0.
Based on changes from Matthew Mondor as forwarded by Kamil Rytarowski.
Changes since 15.3.7:
API changes
- There is no UFFI nickname for FFI package - we piggyback on
cffi-uffi-compat for UFFI dependent systems (our UFFI wasn't version 2.0
compatible and there were problems with ADSF dependencies on UFFI - it
wasn't a system)
- CLOS has the new nickname "MOP"
- The new ext:run-program :error argument can automatically create a
separate stream if provided with the :stream keyword.
The external-process structure also has a new field to hold that stream.
- ext:run-program accepts new arguments - :if-input-does-not-exist,
:if-error-exists and :external-format
- ext:system no longer binds *standard-input* and *standard-output* and
now ignores input and output (use ext:run-program for more control)
- methods can be specialized on both single-float and double-float
(built-in classes were added for them)
- LET/FLET/LABELS will signal error if parameter of the same name will
appear multiple times
- lambda lists with repeated required parameter name are considered invalid
- deprecated configure options "--with-system-boehm=x" and
"--enable-slow-config" removed
Enhancements:
- Verification if manual is up-to-date, providing corrections for
outdated parts
- Documentation is now included in the main repository under the
toplevel directory `doc'
- Update libffi to version 3.2.1
- Update asdf to version 3.1.5.4
- Update Boehm-Demers-Weiser garbage collector to version 7.4.2
- Pathname string-parts internal representation is now character,
not base-char
- Dead code removal, tabulators were replaced by spaces
- Better quality of generated code (explicit casting when necessary)
Issues fixed:
- Various fixes of bogus declarations
- Remove deprecated GC calls
- ROTATEF, SHIFTF, PSETF reworked to conform to the ANSI standard.
Places were handled improperly in regard of multiple values.
- Improved unicode support in character handling
- Format handles floats and exponentials correctly (major format rework)
- Stack limits refinements and cleanup, inconsistency and bug fixes
- Duplicate large block deallocation with GMP 6.0.0a fixed
- ECL builds on OpenBSD with threads enabled
- Closures put in mapcar work as expected in both compiled and
interpreted code
- Improved readtable-case handling (:invert and character literals now
conform)
- Library initialization functions have unique names - no risk of
clashing symbol names in object files
- Format float bug fixed, when width and fdigits were not set, but k was
- `logical-pathname-translations' now throws an error if logical
pathname wasn't defined yet, to conform with ANSI (it used to return NIL)
- Wildcards in logical pathname translations are replaced correctly
- Regression testing framework and unit tests cleanup
- deftype ANSI conformity fix (deftype accepts macro labda-lists)
- ECL built with MSVC doesn't crash when Control-C is pressed
- Other minor tweaks
Changes in 15.3.7 since 15.2.21:
Issues fixed:
- DEFUN functions not defined as toplevel forms were also directly
referenced by other code in the same file.
- STABLE-SORT works as desired (bogus optimization for strings fixed).
- broken --with-sse=yes configure flag works once again.
Enhancements:
- autoconf scripts are rewritten to support version 2.69 stack.
- stack direction is now correctly determined, fixing gcc 5.x builds.
- compilation of ECL under MSVC (2008/2010/2012) even with custom
code pages.
- In compiled code it is possible to declare variables to have a C
type such as in (declare (:double a)) and then the variable is
enforced to be unboxed to such type.
- New form FFI:C-PROGN used to interleave C statements with lisp
code, where the lisp code may refer to any number of variables.
Example:
(lambda (i)
(let* ((limit i)
(iterator 0))
(declare (:int limit iterator))
(ffi:c-progn (limit iterator)
"for (#1 = 0; #1 < #0; #1++) {"
(print iterator)
"}")))
Changes in 15.2.21 since 13.5.1:
- Features coverity scan model, ffi-unload-module implementation,
probably more.
- Build system enhancements, parallel builds, fixes, simplifications,
cleanups, maintenance. minor cleanup, maintenance.
- Numerous fixes.
Diffstat (limited to 'lang/ecl/options.mk')
-rw-r--r-- | lang/ecl/options.mk | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lang/ecl/options.mk b/lang/ecl/options.mk index 072128517a1..09fc36619e3 100644 --- a/lang/ecl/options.mk +++ b/lang/ecl/options.mk @@ -1,8 +1,8 @@ -# $NetBSD: options.mk,v 1.8 2012/07/26 22:58:33 asau Exp $ +# $NetBSD: options.mk,v 1.9 2015/12/09 21:00:47 asau Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.ecl PKG_SUPPORTED_OPTIONS+= debug threads unicode ffi clx -PKG_SUGGESTED_OPTIONS+= # empty +PKG_SUGGESTED_OPTIONS+= unicode ffi clx # Unicode support proved to break Axioms. # Threads are off, since threaded ECL requires threads support # in Boehm GC (off by default). @@ -20,12 +20,13 @@ CONFIGURE_ARGS+= --enable-threads CONFIGURE_ENV+= THREAD_CFLAGS=${PTHREAD_CFLAGS:Q} CONFIGURE_ENV+= THREAD_LDLAGS=${BUILDLINK_LDLAGS.pthread:Q} CONFIGURE_ENV+= THREAD_LIBS=${BUILDLINK_LIBS.pthread:Q} +# XXX Although NetBSD-6+ supports TLS, ECL oddly crashes on startup +# on NetBSD-6 when it's used here. Untested yet with NetBSD-7. .if ${OPSYS} == "FreeBSD" || ${OPSYS} == "Linux" || ${OPSYS} == "Darwin" CONFIGURE_ARGS+= --with-__thread=yes .else CONFIGURE_ARGS+= --with-__thread=no .endif -PLIST_SRC+= PLIST.threads .include "../../mk/pthread.buildlink3.mk" .else CONFIGURE_ARGS+= --disable-threads |