pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/ecl ecl: Update to 16.1.3



details:   https://anonhg.NetBSD.org/pkgsrc/rev/febd309be1ab
branches:  trunk
changeset: 330373:febd309be1ab
user:      leot <leot%pkgsrc.org@localhost>
date:      Fri Mar 01 13:30:52 2019 +0000

description:
ecl: Update to 16.1.3

pkgsrc changes:
 - Remove clx option. Bundled clx is no longer provided by ecl

Changes:
16.1.3
------
** Announcement
Dear Community,

After almost a year of development we are proud to present a new release of
ECL tagged with version =16.1.3=. All changes are backward compatible
fixing bugs and other issues, implementing new interfaces and cleaning up
the code base.

ECL manual has been updated in a few places. Work on a new documentation is
still pending. It is still incomplete, but you may check see it here:
https://common-lisp.net/project/ecl/static/ecldoc/.

Before this release we have performed extensive tests on various platforms
(Linux, FreeBSD, OpenBSD, NetBSD, OSX, Windows MSVC, Windows MinGW, Windows
Cygwin, Android and Haiku). For details please consult
https://gitlab.com/embeddable-common-lisp/ecl/issues/307. Extra attention
has been paid to Windows testing to improve that platform support.

Best regards,
ECL Development Team

** API changes
- Added better interface for package-locks.

  Introduced functions:
  =ext:package-locked-p package=
  =ext:lock-package package=
  =ext:unlock-package package=
  =ext:without-package-locks=
  =ext:with-unlocked-package=

  To use these functions user has to require the module
  #+BEGIN_SRC lisp
    (require '#:package-locks)
  #+END_SRC

  =defpackage= accepts new option =lock= to allow locking package on
  creation:

  #+BEGIN_SRC lisp
    (defpackage foo (:lock t))
  #+END_SRC

- =mp:holding-lock-p=: introduce new function for multiprocessing. Function
  verifies if lock is hold by the thread which calls the function. Usage:
  =(mp:holding-lock-p my-lock)=.

- =make-random-state=: fix problem with simple-vectors. The correct
  initialization types for =make-random-state= are: =(OR RANDOM-STATE
  FIXNUM (MEMBER T NIL))=.

  Initializing a random state with an appropriate array (element type and
  arity dependent on platform) is also possible.

- =ext:random-state-array=: new extension for random-states. Usage:
  =(ext:random-state-array random-state)=.

- =ext:terminate-process=: new extension for external processes. Usage:
  =(ext:terminate-process process)= with a second, optional boolean
  argument whenever termination should be forced or not.

** Enhancements
- Implemented =CDR-7=.
  https://common-lisp.net/project/cdr/document/7/index.html

- implemented CDRs: =CDR-1=, =CDR-5=, =CDR-14=. Both =CDR-1= and =CDR-5=
  were already implemented, CDR-14 made us to list them in =*features*=
  (https://common-lisp.net/project/cdr/document/14/index.html).

- if ECL is build with =--with-cxx= option, =:CXX-CORE= is present in
  =*features*=.

- deprecated configure option =--with-local-gmp= has been removed - use
  =--enable-gmp= (defaults to auto).

- configure options has been revised.

- ASDF has been upgraded to version 3.1.7.26 (with a few patches scheduled
  for 3.2.0).

- bundled CLX has been purged. Lately I've fixed ECL support on portable
  CLX maintained by sharplispers on https://github.com/sharplispers/clx
  (available via QuickLisp).

- initial port for the Haiku platform. The port is done by Kacper Kasper's
  work, one of Haiku developers. Threads are not supported yet.

- refactored ECL internal tests framework. Tests in =src/tests= are now
  asdf-loadable (with =load-source-op=) and divided into test suites. =make
  check= target runs all regression and feature tests which aren't supposed
  to fail.

- removed 15000 lines of obsolete code. Files not included in the
  buildsystem but lingering in the codebase or options failing to
  build. All info is added in the new documentation in the section "Removed
  interfaces".

- improved man page and help output. Man page now contains up-to-date list
  of flags, as well as explanation of flag's behavior.

- deprecated long flags with one dash, added two-dash version. Flags that
  aren't one-character, but start with one dash (e.g. =-eval=) are now
  deprecated; long version =--eval= was added instead.

- indented C/C++ code to follow emacs's gnu C style.  This is a first step
  towards coding standards in the documentation. Additionally all in the
  src/c/ directory are listed in the appropraite documentation section
  (new-doc).

- refactored =list_current_directory in unixfsys.d=. Function was
  obfuscated with ifdefs with non-even pairs of =#\{= and =#\}=.

** Issues fixed
- ECL signals floating point exceptions in top-level console.

- =mp:rwlock= is treated as built-in class (previously process crashed if
  =class-of= was called on such object).

- ECL builds now succesfully with =--with-ieee-fp=no= option.

- =ext:file-stream-fd=: doesn't cause an internal-error if called with
  something not being a =file-stream= (signals a =SIMPLE-TYPE-ERROR=
  condtition).

- =stable-sort=: bugfix and improvement in speed. Adapted from SBCL by
  Diogo Franco.

- typep: accept =*= type specifier as abbreviation of =T= as described in
  =2.4.3 Type Specifiers= of the specification.

- MOP: fix problemes when redefining non-standard and anonymous
  classes. Bugs identified and fixed by Pascal Costanza.

- =getcwd=: fix issue with too long pathname. This fixes the regression,
  which crashed ECL at start when pathname exceeded 128 characters limit.

- =make-random-state=: fix a problem with simple-vectors. Until now =#$=
  reader macro accepted simple vectors as an argument, what lead to bugs if
  vector didn't match specific requirements like the element type or the
  arity. Now we sanitize this.

- =make-load-form=: provide implementation for random-state objects.

- thread fix on msvc: on windows importing thread was closing the thread
  handler so the thread wakeup wasn't working because the handler is not
  more valid.

- import thread wasn't set upping a proper environment: on some case the
  thread was mistakenly thinking that the thread was already registered.

- =ECL_HANDLER_CASE= and =ECL_RESTART_CASE= didn't work as expected. Bug
  identified and fixed by Vadim Penzin.

diffstat:

 lang/ecl/DESCR      |   1 -
 lang/ecl/Makefile   |   8 ++++----
 lang/ecl/PLIST      |  15 +++++++++------
 lang/ecl/distinfo   |  10 +++++-----
 lang/ecl/options.mk |  25 +++++++------------------
 5 files changed, 25 insertions(+), 34 deletions(-)

diffs (153 lines):

diff -r 4e7f7996e394 -r febd309be1ab lang/ecl/DESCR
--- a/lang/ecl/DESCR    Fri Mar 01 13:05:37 2019 +0000
+++ b/lang/ecl/DESCR    Fri Mar 01 13:30:52 2019 +0000
@@ -16,5 +16,4 @@
   * A simple conservative mark & sweep garbage collector.
   * The Boehm-Weiser garbage collector.
   * Threads using the POSIX threads library.
-  * CLX, an X11 client not needing extra X11 libraries.
   * Unicode.
diff -r 4e7f7996e394 -r febd309be1ab lang/ecl/Makefile
--- a/lang/ecl/Makefile Fri Mar 01 13:05:37 2019 +0000
+++ b/lang/ecl/Makefile Fri Mar 01 13:30:52 2019 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.24 2018/07/04 13:40:21 jperkin Exp $
+# $NetBSD: Makefile,v 1.25 2019/03/01 13:30:52 leot Exp $
 
-DISTNAME=              ecl-16.1.2
+DISTNAME=              ecl-16.1.3
 CATEGORIES=            lang
-MASTER_SITES=          https://common-lisp.net/project/ecl/files/release/${PKGVERSION_NOREV}/
+MASTER_SITES=          https://common-lisp.net/project/ecl/static/files/release/
 EXTRACT_SUFX=          .tgz
 
 MAINTAINER=            asau%inbox.ru@localhost
@@ -16,7 +16,7 @@
 USE_TOOLS+=            gmake makeinfo
 INFO_FILES=            yes
 
-CONFIGURE_ARGS+=       --enable-boehm=system --with-system-gmp
+CONFIGURE_ARGS+=       --enable-boehm=system --enable-gmp=system
 
 SUBST_CLASSES+=                        fix-libffi-include
 SUBST_STAGE.fix-libdir=                pre-configure
diff -r 4e7f7996e394 -r febd309be1ab lang/ecl/PLIST
--- a/lang/ecl/PLIST    Fri Mar 01 13:05:37 2019 +0000
+++ b/lang/ecl/PLIST    Fri Mar 01 13:30:52 2019 +0000
@@ -1,9 +1,11 @@
-@comment $NetBSD: PLIST,v 1.12 2016/03/11 20:32:30 asau Exp $
+@comment $NetBSD: PLIST,v 1.13 2019/03/01 13:30:52 leot Exp $
 bin/ecl
 bin/ecl-config
 include/ecl/bytecodes.h
 include/ecl/cache.h
+include/ecl/config-internal.h
 include/ecl/config.h
+include/ecl/configpre-int.h
 include/ecl/configpre.h
 include/ecl/cons.h
 include/ecl/cs.h
@@ -21,13 +23,11 @@
 include/ecl/object.h
 include/ecl/page.h
 include/ecl/stacks.h
-include/ecl/unify.h
-lib/${PKGNAME}/LGPL
+lib/${PKGNAME}/COPYING
+lib/${PKGNAME}/LICENSE
 lib/${PKGNAME}/TAGS
 lib/${PKGNAME}/asdf.fas
 lib/${PKGNAME}/build-stamp
-${PLIST.clx}lib/${PKGNAME}/clx.asd
-${PLIST.clx}lib/${PKGNAME}/clx.fas
 lib/${PKGNAME}/cmp.asd
 lib/${PKGNAME}/cmp.fas
 lib/${PKGNAME}/deflate.asd
@@ -200,7 +200,6 @@
 ${PLIST.unicode}lib/${PKGNAME}/encodings/windows-cp950.bin
 lib/${PKGNAME}/help.doc
 lib/${PKGNAME}/libasdf.a
-${PLIST.clx}lib/${PKGNAME}/libclx.a
 lib/${PKGNAME}/libcmp.a
 lib/${PKGNAME}/libdeflate.a
 lib/${PKGNAME}/libdefsystem.a
@@ -208,12 +207,15 @@
 lib/${PKGNAME}/libecl-curl.a
 lib/${PKGNAME}/libecl-help.a
 lib/${PKGNAME}/libecl-quicklisp.a
+lib/${PKGNAME}/libpackage-locks.a
 lib/${PKGNAME}/libprofile.a
 lib/${PKGNAME}/libql-minitar.a
 lib/${PKGNAME}/librt.a
 lib/${PKGNAME}/libsb-bsd-sockets.a
 lib/${PKGNAME}/libserve-event.a
 lib/${PKGNAME}/libsockets.a
+lib/${PKGNAME}/package-locks.asd
+lib/${PKGNAME}/package-locks.fas
 lib/${PKGNAME}/prebuilt-asdf.asd
 lib/${PKGNAME}/profile.asd
 lib/${PKGNAME}/profile.fas
@@ -233,3 +235,4 @@
 lib/libecl.so.${PKGVERSION}
 man/man1/ecl-config.1
 man/man1/ecl.1
+@pkgdir include/ecl/gc/private
diff -r 4e7f7996e394 -r febd309be1ab lang/ecl/distinfo
--- a/lang/ecl/distinfo Fri Mar 01 13:05:37 2019 +0000
+++ b/lang/ecl/distinfo Fri Mar 01 13:30:52 2019 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.19 2016/03/11 20:32:30 asau Exp $
+$NetBSD: distinfo,v 1.20 2019/03/01 13:30:52 leot Exp $
 
-SHA1 (ecl-16.1.2.tgz) = 73a972fa5e42d019a83d9f13447c6e6e080b9af3
-RMD160 (ecl-16.1.2.tgz) = f1b3ab9309cea2fe350fb39b141ea29c670e851e
-SHA512 (ecl-16.1.2.tgz) = f204494907226a12b4ecabc39d555f27c1ce5cba515fccd187d9b7ee584d86278558d6a26b2bbec98bce582239f21ac00c2d854f594c6b1f21e1636793845926
-Size (ecl-16.1.2.tgz) = 7449461 bytes
+SHA1 (ecl-16.1.3.tgz) = a0db6c435dcc33404b0a2a4a402e1f2edc169e95
+RMD160 (ecl-16.1.3.tgz) = 320e93e4abe62fa1fe9e36688ba040eef8ae8923
+SHA512 (ecl-16.1.3.tgz) = 5d743f422f6bc24671abf4c739cde8273d08f056906a1ef8aed5145c703b6d52c7fa4b5e0be8c125f32240c20ce053007786bb3ae81cc34d47791f6fae0819c1
+Size (ecl-16.1.3.tgz) = 7459212 bytes
diff -r 4e7f7996e394 -r febd309be1ab lang/ecl/options.mk
--- a/lang/ecl/options.mk       Fri Mar 01 13:05:37 2019 +0000
+++ b/lang/ecl/options.mk       Fri Mar 01 13:30:52 2019 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: options.mk,v 1.10 2016/07/05 01:26:59 dholland Exp $
+# $NetBSD: options.mk,v 1.11 2019/03/01 13:30:52 leot Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.ecl
-PKG_SUPPORTED_OPTIONS+=                debug threads unicode ffi clx
-PKG_SUGGESTED_OPTIONS+=                unicode ffi clx
+PKG_SUPPORTED_OPTIONS+=                debug threads unicode ffi
+PKG_SUGGESTED_OPTIONS+=                unicode ffi
 # Unicode support proved to break Axioms.
 # Threads are off, since threaded ECL requires threads support
 # in Boehm GC (off by default).
@@ -44,24 +44,13 @@
 CONFIGURE_ARGS+=       --with-dffi=no
 .endif
 
-.if !empty(PKG_OPTIONS:Mclx)
-CONFIGURE_ARGS+=       --with-clx
+PLIST_VARS+=           unicode
+
+.if !empty(PKG_OPTIONS:Municode)
+PLIST.unicode= yes
 .endif
 
-PLIST_VARS+=           clx unicode
-
-.for option in clx unicode
-.  if !empty(PKG_OPTIONS:M${option})
-PLIST.${option}=       yes
-.  endif
-.endfor
-
 # Help generating PLIST:
-.if !empty(PKG_OPTIONS:Mclx)
-PRINT_PLIST_AWK+=      {if ($$0 ~ /lib\/.*\/libclx.a$$/) {$$0 = "$${PLIST.clx}" $$0;}}
-PRINT_PLIST_AWK+=      {if ($$0 ~ /lib\/.*\/clx.(asd|fas)$$/) {$$0 = "$${PLIST.clx}" $$0;}}
-.endif
-
 .if !empty(PKG_OPTIONS:Municode)
 PRINT_PLIST_AWK+=      {if ($$0 ~ /lib\/.*\/encodings\//) {$$0 = "$${PLIST.unicode}" $$0;}}
 .endif



Home | Main Index | Thread Index | Old Index