pkgsrc-Bugs archive

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

PR/55227 CVS commit: pkgsrc/lang/ecl



The following reply was made to PR pkg/55227; it has been noted by GNATS.

From: "Yorick Hardy" <yhardy%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/55227 CVS commit: pkgsrc/lang/ecl
Date: Thu, 9 Jul 2020 08:23:38 +0000

 Module Name:	pkgsrc
 Committed By:	yhardy
 Date:		Thu Jul  9 08:23:37 UTC 2020
 
 Modified Files:
 	pkgsrc/lang/ecl: Makefile PLIST distinfo
 Removed Files:
 	pkgsrc/lang/ecl/patches: patch-src_c_ffi.d
 
 Log Message:
 lang/ecl: update to ecl-20.4.24
 
 PR 55227
 
 Pkgsrc changes: a newer version (5.2) of texinfo is required to build the documentation.
 
 This updates breaks math/maxima when built with ecl (clisp is the default). Maxima
 upstream has already fixed this in a later release.
 
 From the CHANGELOG file:
 
 ** Announcement
 Dear Community,
 
 After more than three years of development, we are proud to announce a new
 ECL release having the version tag `20.4.24`. During that time many
 important improvements have been made including bug fixes, stability
 enhancements and new features. Changes include but are not limited to:
 
 - package local nicknames support
 - atomic operations support
 - specialized representations of complex float types
 - a port to the iOS platform
 - fixes for weak hash tables and weak pointers
 - fixes for race conditions in the ECL internals
 - hash table extensions (synchronization and custom test functions)
 - better MOP conformance and improved meta-stability
 - improvements to the manual
 
 For more information please read the file CHANGELOG which is located in the
 source code, and browse commits. We'd like to thank all people who made
 this release possible by contributions of code, documentation, issue
 reports, testing and others. Some of them are listed here (without any
 particular order): Paul Ruetz, Karsten Poeck, Vadim Penzin, Roger Sen, Stas
 Boukarev, Michael Fox, Erik Bray, Bo Yao, Jeremy Cooper, Florian Margaine,
 Fabrizio Fabbri, Tomek Kurcz, Kris Katterjohn, Marcin Kolenda, Zhang Yuguo,
 Sébastien Villemot, Moritz Petersen, Marius Gerbershagen and Daniel
 KochmaÅ?ski. We'd also like to thank the company Rigetti Computing for
 sponsoring the work on specialized complex float representations.
 
 We have another important announcement we'd like to make. Embeddable
 Common-Lisp project has now two maintainers: Daniel KochmaÅ?ski and Marius
 Gerbershagen. After numerous contributions from Marius I've proposed him
 this responsibility and to my rejoice he has accepted it. That reflects our
 community growth.
 
 This release is available for download in a form of a source code archive
 (we do not ship prebuilt binaries):
 
 - [ECL 20.4.24 tarball archive](https://common-lisp.net/project/ecl/static/files/release/ecl-20.4.24.tgz)
 - [The ECL Manual](https://common-lisp.net/project/ecl/static/manual/)
 
 Happy Hacking,
 The ECL Developers
 
 ** Enhancements
 - iOS support thanks to the help of P. Ruetz and gitlab user Whimse
 - hash-table may now have a custom equivalence predicate
 - ~make-load-form-with-slots~ works for structs even if slot names are not interned
 - ~ext:weak-pointer-value~ returns two values (value and its presence)
 - specialized complex float types based on C99 complex numbers have been
   added, together with corresponding specialized array element types.
 - support for atomic operations added with an interface similar to SBCL.
   Currently (SBCL 1.4.12), it differs in the following points:
   - the set of supported places is slightly different
   - ~atomic-incf/decf~ always implement modular arithmetic with respect to
     the width of a fixnum, instead of a width of 64 bits as for some places
     in SBCL.
   - Functions such as ~(cas foo)~ analogous to ~(setf foo)~ are not allowed
     in ECL.
   - The arguments of ~defcas~ are consistent with the short form of
     ~defsetf~ in contrast to SBCL, where they are different.
   - compare-and-swap expansions can be removed with ~remcas~
 - experimental support for serializing Lisp objects in compiled files
   directly instead of using the reader for faster loading of .fas files
   (configure option ~--enable-serialization~).
 - improvements to C backtrace interface. Compile with CFLAGS+="-rdynamic"
   ./configure ... (Unix) or nmake ECL_USE_DBGHELP=yes ... (MSVC) to take
   full advantage of this feature.
 - better handling of fifo files (see man 7 fifo)
 - unicode names are always linked for unicode builds (~--with-unicode-names~ removed)
 - numerous bytecodes compiler enhancements
 - ~ext:run-program~: process streams may be virtual streams (for instance
   ~*standard-output*~ in slime, or a string-output-stream)
 - ~ext:run-program~: environ argument defaults to ~:default~, when NIL
   passed empty environment is used
 - compiler: when gcc fails ecl prints the failing command output
 - ASDF has been updated to 3.1.8.8
 - The Boehm-Demers-Weiser garbage collector has been updated to version 7.6.8
 - libffi has been updated to version 3.3
 - package local nicknames has been implemented (after SBCL)
 - hash table extensions are documented in newdoc
 - various cleanups performed in the compiler
 - compiler is less verbose by default now
 - ~ext:run-program~ has been rewritten (almost) from scratch
 - improved documentation of operating system interface (newdoc)
 - example of parsing arguments in standalone executable (newdoc)
 - example of using shared libraries from C world (newdoc)
 - reduced =format= directive tables size
 - simplified ~atan2~ implementation by using c99 equivalent - now we
   produce correct output for signed zeros, infinities and nans.
 - configure script supports new options =--with-libgc-prefix=,
   =--with-libgc-incdir= and =--with-libgc-libdir= (these flags work the
   same as flags for =libffi= and =libgmp=)
 ** Issues fixed
 - issues with type system revealed by sbcl bootstrapping are gone
 - classes are not defined at compilation time
 - weak hashtables mishandled weak values when keys were present
 - gethash on weak hashtables returned the pointer instead of the value
 - maphash on weak hashtables mapped over pointers instead of the values
 - initarg caches are now invalidated when new methods are defined. Problem
   found and fixed by Alexander Wood.
 - ECL allocated too much space in lisp stack. Instead of the specified size
   x in bytes, ECL allocated roughly x^2/p where p is defined in
   LISP_PAGESIZE (2048 by default). If you're setting the value of
   ECL_OPT_LISP_STACK_SIZE, please check whether you really have
   set a high enough value.
 - ~block/return-from~ fixed (didn't work across some closure boundaries)
 - ~mp:semaphore-signal~ fixed (race when count was > 1)
 - Multiple native threads issues fixed
 - ASDF systems like foo/base and bar/base doesn't have conflicts in bundles
 - interactive input stream in ext:run-program on Windows
 - removed race condition between waitpid and sigchld handler on UNIX
 - buildsystem parallel builds work (i.e make -j999)
 - ECL builds on consoles with unusual encodings on Windows (i.e cp936)
 ** API changes
 - ~LISP~ and ~USER~ package nicknames to ~COMMON-LISP~ and
   ~COMMON-LISP-USER~ are removed
 - make-hash-table accepts a new keyword argument ~:hashing-function~
 - no-op ~--enable-asmapply~ configure option has been removed
 - ~profile~ and ~rt~ contribs are now deprecated and disabled by default
 - thread-local variable support has been removed (~--with___thread~)
 - deprecated configure option ~--enable-opcode8~ has been removed
 - mk-defsystem is not build by default (enable by ~--with-defsystem=yes~)
 - asdf:make-build accepts ~:init-name~ argument for libraries
 this allows specifying human-memorable initialization function name to call
 in C code
 - package local nicknames protocol (documented in newdoc)
 - make-hash-table accepts ~:synchronize~ flag for thread safe variant. New
   predicate ~ext:hash-table-synchronized-p~ implemented
 - make-hash-table ~:weakness~ argument new variant ~:key-or-value~
   implemented
 - No more explicit option in ~main.d~ to trap SIGCHLD asynchronously
 - Zombie processes are cleaned in ~external-process~ finalizer. If process
   is still referenced in the memory, it's programmer duty to call wait.
 - The ECL_OPT_SIGALTSTACK_SIZE option has been removed, because it had no
   effect.
 - Non-standard package nicknames (USER for COMMON-LISP-USER and LISP for
   COMMON-LISP) have been removed.
 
 "Okay if you have tested it" from wiz@, tested mostly with math/maxima.
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.26 -r1.27 pkgsrc/lang/ecl/Makefile
 cvs rdiff -u -r1.13 -r1.14 pkgsrc/lang/ecl/PLIST
 cvs rdiff -u -r1.21 -r1.22 pkgsrc/lang/ecl/distinfo
 cvs rdiff -u -r1.1 -r0 pkgsrc/lang/ecl/patches/patch-src_c_ffi.d
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index