./lang/ecl, Embeddable Common Lisp

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ]


Branch: CURRENT, Version: 26.5.5, Package name: ecl-26.5.5, Maintainer: asau

ECL stands for Embeddable Common-Lisp. The ECL project is an effort to
modernize Giuseppe Attardi's ECL environment to produce an implementation of
the Common-Lisp language which complies to the ANSI X3J13 definition of the
language.

The current ECL implementation features:
* A bytecodes compiler and interpreter.
* A translator to C.
* An interface to foreign functions.
* A dynamic loader.
* The possibility to build standalone executables.
* The Common-Lisp Object System (CLOS).
* Conditions and restarts for handling errors.
* Sockets as ordinary streams.
* The Gnu Multiprecision library for fast bignum operations.
* A simple conservative mark & sweep garbage collector.
* The Boehm-Weiser garbage collector.
* Threads using the POSIX threads library.
* Unicode.


Required to run:
[devel/gmp] [devel/libffi] [devel/boehm-gc]

Required to build:
[pkgtools/cwrappers]

Package options: ffi, unicode

Master sites:

Filesize: 7313.084 KB

Version history: (Expand)


CVS history: (Expand)


   2026-09-14 15:46:40 by Kevin Bloom | Files touched by this commit (1)
Log message:
ecl: remove uneeded subst
   2026-09-09 22:11:30 by Kevin Bloom | Files touched by this commit (2)
Log message:
ecl: fixed buliding on Darwin
   2026-07-15 18:36:22 by Kevin Bloom | Files touched by this commit (3) | Package updated
Log message:
ecl: updated to 26.5.5

* 26.5.5 changes since 26.3.27
- bugfix: MAKE-PACKAGE destructively modified defining form's cons
  cells of
  the package local nicknames, breaking package literals in bytecmp
- bugfix: the first environment is now always page-aligned by using
  the same allocation mechanism as all subsequent envs
- bugfix: allow loading concatenated fasc files
- bugfix: defclass does not redefine existing classes at compile
  time with forward-referenced classes

* 26.3.27 changes since 24.5.10
- Vendored libffi has been updated to the version 3.5.2
- It is now possible to cross-compile source code from hosts with a
  different environment than the target
- Compilation with -std=c23 (default for gcc-15) works now
- Byte operations on binary sequence streams and char operations on
  character sequence streams do not require a roundtrip for encoding
  and decoding elements (direct reading and writing to vector)
- When a sequence stream is created with :END NIL, then updating the
  vector
  fill pointer affects the stream maximum position before EOF
- Sequence streams are now bivalent and allow for the underlying
  vector
  upgraded array element type to be either a character or any byte
- Fix a bug in UNREAD-CHAR called on STRING-INPUT-STREAM that moved
  the position to negative values
- New operators for binary and bivalent streams: EXT:PEEK-BYTE,
  EXT:UNREAD-BYTE, GRAY:STREAM-PEEK-BYTE and GRAY:STREAM-UNREAD-BYTE.
- *READTABLE* and *PACKAGE* are local to an initialized module
  preventing an issue where file-locality of them did not propagate
  to executables
- Logical pathnames with multiple wild directories are now correctly
  translated. Previously using them resulted in an infinite recursion
- Process initial bindings, when specified, are inherited when the
  process is enabled (previously they were copied when the process
  was created)
- Bytecodes VM stores locals on the stack (performance improvement)
- Bytecodes closures capture now only closed over variables (not
  whole env)
- MANY internal improvements and bug fixes for the native compiler.
- Reduced function call overhead.
- The cross-compilation instructions for iOS and emscripten have
  changed slightly.
- Fix buffer overrun in stream encoding for UCS-4. This only
  occurred when the first character was written with a BOM.
- ~MAKUNBOUND~ makes unbound the current variable binding instead of
  a global value.
- Fix potential deadlock in synchronized hash tables during
  rehashing.
- All REPL I/O is performed through ~*QUERY-IO*~ and all debugger I/O
  is performed through ~*DEBUG-IO*~, while ~*STANDARD-OUTPUT*,
  ~*STANDARD-INPUT*~ and ~*ERROR-OUTPUT*~ are left for the user.
- Fix numerous issues in weak hash table implementation, most notably
  resolve invalid handling of collissions.
- Update bundled libgc-8.2.4 to libgc-8.2.8.

* 24.5.10 changes since 23.9.9
** Enhancements
- Add gray-streams module. This makes it possible to load Gray stream
  support via ~(require '#:gray-streams)~ versus calling the internal
  function ~gray::redefine-cl-functions~.
- Add support for some Gray stream extensions by adding the following
  generic functions.
  1) ~gray:stream-line-length~ which allows stream specific line
    lengths when ~cl:*print-right-margin*~ is NIL.
  2) ~gray:stream-file-length~ which allows Gray streams to implement
     ~cl:file-length~.
  3) ~gray:stream-file-string-length~ which allows Gray streams to
     implement ~cl:file-string-length~.
  4) Generic versions of ~cl:pathname~ and ~cl:truename~.
- The emscripten target now supports shared libraries.

** Bugs fixed
- Various bug fixes for Gray streams.
- The garbarge collector is set up to automatically handle fork calls
  on Unix systems, preventing rare crashes on Mac OS X (where bdwgc
  does not enable this option by default).
   2024-07-31 19:10:10 by Thomas Klausner | Files touched by this commit (1)
Log message:
ecl: fix ffi option handling in buildlink3.mk
   2023-09-10 08:28:21 by Yorick Hardy | Files touched by this commit (3) | Package updated
Log message:
lang/ecl: update to ecl-23.9.9

Tested by building and using math/maxima.

Release announcement:

ECL 23.9.9 release

Dear Community,

We are happy to announce a new stable ECL release tagged 23.9.9.
The new release includes many bug fixes, some new features,
improvements to the compiler and more. Changes include but are
not limited to:

 *  Complete overhaul of thread synchronization primitives (mutexes,
    condition variables, etc.). Users of bordeaux-threads will have
    to update as this breaks workarounds for missing timeouts on
    condition variable wait operations in version 0.9.1 and earlier
    of this library.
 *  Better unicode support: add new functions to convert between
    Lisp strings and byte arrays in different encodings, allow
    non-ascii characters in pathnames and as arguments to
    ext:run-program.
 *  Preliminary support for the Emscripten target (bytecodes
    compiler only).
 *  Various bug fixes and internal improvements to the compiler.
 *  Better conformance to the ANSI standard.

We'd like to thank all people who contributed to ECL with code,
testing, issue reports and otherwise.

People listed here contributed code in this iteration: Caleb Xu,
Catherine Tower, Daniel Kochmański, Dima Pasechnik, Dmitry
Solomennikov, Eric Timmons, Florian Margaine, Jeronimo Pellegrini,
Kevin Zheng, Kirill A. Korinsky, Marius Gerbershagen, Nick Faro,
Tarn W. Burton, Ulrich Müller, Yuguo Zhang, Yuri D. Lensky.

People listed here tested ECL extensively before the release:
Kirill A. Korinsky, Marius Gerbershagen and Paul Ruetz.

This release is available for download in a form of a source code
archive (we do not ship prebuilt binaries):

    ECL 23.9.9 tarball archive
    The ECL Manual

Happy Hacking,
The ECL Developers
   2021-12-08 17:07:18 by Adam Ciarcinski | Files touched by this commit (3062)
Log message:
revbump for icu and libffi
   2021-10-26 12:51:59 by Nia Alarie | Files touched by this commit (260)
Log message:
lang: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (possibly fetched
conditionally?):

./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo \ 
rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo \ 
rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz
./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz
./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz
./lang/oracle-jre8/distinfo jce_policy-8.zip
./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz
./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz
./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz
./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz
./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz
./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz
./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip
./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz
./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/gcc6/distinfo ecj-4.5.jar
./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz
./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
   2021-10-07 16:21:17 by Nia Alarie | Files touched by this commit (282)
Log message:
lang: Remove SHA1 hashes for distfiles