# Install ecl with Homebrew, apk, apt, MacPorts, Nix, pacman, zypper

Embeddable Common Lisp. Version 26.5.5 via Homebrew; verified 2026-07-07.

## Install

```sh
sudo av install brew:ecl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ecl
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ecl
```

  Evidence: MacPorts ports tree: lang/ecl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ecl
```

  Evidence: Alpine Linux edge package indexes: ecl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install ecl
```

  Evidence: Debian stable package indexes: ecl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#ecl
```

  Evidence: nixpkgs package indexes: ecl from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S ecl
```

  Evidence: Arch Linux sync databases: ecl from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install ecl
```

  Evidence: openSUSE Tumbleweed package metadata: ecl from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:ecl
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ecl>
- **Version:** 26.5.5
- **Source summary:** Embeddable Common Lisp
- **Homepage:** <https://ecl.common-lisp.dev>
- **Repository:** <https://gitlab.com/embeddable-common-lisp/ecl>
- **Upstream docs:** <https://ecl.common-lisp.dev/static/manual>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://ecl.common-lisp.dev/static/files/release/ecl-26.5.5.tgz>
- **Last updated:** 2026-07-07T07:58:27Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ecl (cli)
- ecl-config (cli)
- ecl (alias)
- ecl-config (alias)

## Dependencies

- bdw-gc
- gmp

## Build dependencies

- texinfo

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 26.5.5
- Package-manager updated: 2026-07-07
- Local data: ok
- Upstream repository: https://ecl.common-lisp.dev
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

ECL, Embeddable Common Lisp, is a Common Lisp implementation designed around a Lisp-to-C compiler, standard C calling conventions, and use as a linkable runtime inside other programs. Its package-manager identity is not just another Common Lisp executable: it is the Common Lisp implementation people install when embeddability, C interoperability, portability, and small runtime composition matter.

### Project history

The ECL manual traces the project through the Kyoto Common Lisp family. KCL was developed in 1984 at Kyoto University's Research Institute for Mathematical Sciences by Taiichi Yuasa and Masami Hagiya, with an implementation partly in C and partly in Common Lisp and a Lisp-to-C translator. Later descendants included Ibuki Common Lisp, DELPHI Common Lisp, Austin Kyoto Common-Lisp, GNU Common Lisp, and HCL.

Giuseppe Attardi began the ECL line after leaving DELPHI in 1994 and returning to the University of Pisa. The manual explains the name as both Embeddable Common Lisp and ECoLisp, tied to the goal of integrating Lisp code with other languages at a time when Lisp programmers were becoming less common.

Juan Jose Garcia-Ripoll later started the ECLS or ECL-Spain effort from the ECoLisp sources. Its immediate goals were practical package-nerd goals: portability, 64-bit cleanliness, bootstrapping without another Lisp implementation, and restoring the ability to link ECL with C programs. That fork eventually became the continuing community ECL project.

After another maintenance gap beginning in 2013, Daniel Kochmanski took over maintenance in 2015 with Garcia-Ripoll's consent, and Marius Gerbershagen became co-maintainer in 2020. Current development, according to the manual, focuses on ANSI compliance, compatibility with the Common Lisp library ecosystem, bug fixing, speed, and portability.

### Adoption history

ECL's adoption has been tied to portability and embedding rather than to a single flagship application. Its manual emphasizes C interoperability, modular runtime construction, native CLOS support, bytecode fallback for systems without a C compiler, and ANSI Common Lisp compliance, which explains its presence across Unix-like package managers.

The Homebrew, Debian, Ubuntu, Alpine, Arch, Nix, MacPorts, and openSUSE package names in the batch input reflect the same pattern: ECL is a standard packaged Common Lisp implementation rather than an application-specific one-off. Its upstream GitLab tags show active releases through 2026, including 26.5.5.

### How it is used

Users typically install ECL to run an interactive Common Lisp environment, compile Lisp systems, or embed Lisp into a C or C++ application. The `ecl` executable provides the runtime and REPL, while `ecl-config` exposes compiler and linker flags for programs that build against ECL.

The manual's key usage distinction is that compiled Lisp functions follow standard C calling conventions, letting C and Lisp call each other without a separate foreign-function layer. That makes ECL especially relevant for applications that want Common Lisp as an extension language or as a compiled library component.

### Why package nerds care

ECL matters to package maintainers because it is both a compiler toolchain and a library runtime. Packaging it means caring about C compilers, runtime modules, dynamic loading, threads, binary images, and ABI-facing configuration through `ecl-config`, not just shipping a single REPL binary.

Its lineage also makes it historically interesting: a modern package-manager formula connects directly back to the KCL family of Lisp-to-C systems, while still tracking contemporary Common Lisp library compatibility and portability work.

### Timeline

- 1984: Kyoto Common Lisp is developed at Kyoto University.
- 1988: DELPHI Common Lisp is released as an extended KCL descendant.
- 1994: Giuseppe Attardi begins the ECL line at the University of Pisa.
- 1990s: The ECLS or ECL-Spain fork focuses on portability, 64-bit cleanup, bootstrapping, and C linking.
- 2015: Daniel Kochmanski becomes maintainer.
- 2020: Marius Gerbershagen becomes co-maintainer.
- 2026: Upstream GitLab tags include ECL 26.5.5.

### Related projects

- Kyoto Common Lisp is the oldest ancestor named in ECL's manual.
- GNU Common Lisp is another AKCL descendant in the same family tree.
- Maxima is named in the ECL history as the computer algebra system that motivated GNU Common Lisp.
- Common Lisp libraries and ANSI Common Lisp conformance are current compatibility targets for ECL development.

### Sources

- <https://ecl.common-lisp.dev/static/manual/History.html>
- <https://ecl.common-lisp.dev/static/manual/What-is-ECL.html>
- <https://gitlab.com/api/v4/projects/embeddable-common-lisp%2Fecl/repository/tags?per_page=10>


## Security Notes

No matching local secret-handling manifest was found for ecl. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ecl
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - ecl - 24.5.10+ds-1+b1: normalized package name match | Debian stable package indexes: ecl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Embeddable Common-Lisp: has an interpreter and can compile to C | https://common-lisp.net/project/ecl/
- Debian apt - libecl-dev - 24.5.10+ds-1+b1: normalized package name match | Debian stable package indexes: libecl-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Embeddable Common-Lisp: development files | https://common-lisp.net/project/ecl/
- Debian apt - libecl24.5t64 - 24.5.10+ds-1+b1: normalized package name match | Debian stable package indexes: libecl24.5t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Embeddable Common-Lisp: shared library | https://common-lisp.net/project/ecl/
- Nix - ecl: normalized package name match | nixpkgs package indexes: ecl from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - ecl - 21.2.1+ds-4.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: ecl from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Embeddable Common-Lisp: has an interpreter and can compile to C | https://common-lisp.net/project/ecl/
- Ubuntu apt - libecl-dev - 21.2.1+ds-4.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libecl-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Embeddable Common-Lisp: development files | https://common-lisp.net/project/ecl/
- Ubuntu apt - libecl21.2t64 - 21.2.1+ds-4.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libecl21.2t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Embeddable Common-Lisp: shared library | https://common-lisp.net/project/ecl/
- apk - ecl - 24.5.10-r2: normalized package name match | Alpine Linux edge package indexes: ecl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Embeddable Common Lisp | https://ecl.common-lisp.dev/
- apk - ecl-dev - 24.5.10-r2: normalized package name match | Alpine Linux edge package indexes: ecl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Embeddable Common Lisp (development files) | https://ecl.common-lisp.dev/
- apk - ecl-doc - 24.5.10-r2: normalized package name match | Alpine Linux edge package indexes: ecl-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Embeddable Common Lisp (documentation) | https://ecl.common-lisp.dev/
- pacman - ecl - 26.5.5-1: normalized package name match | Arch Linux sync databases: ecl from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Embeddable Common Lisp | https://common-lisp.net/project/ecl/
- zypper - ecl - 26.3.27-1.3: normalized package name match | openSUSE Tumbleweed package metadata: ecl from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Embeddable Common-Lisp | https://common-lisp.net/project/ecl/
- zypper - ecl-devel - 26.3.27-1.3: normalized package name match | openSUSE Tumbleweed package metadata: ecl-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Embeddable Common-Lisp -- development files | https://common-lisp.net/project/ecl/
- zypper - libecl26_3 - 26.3.27-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libecl26_3 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Embeddable Common-Lisp -- shared library | https://common-lisp.net/project/ecl/
- MacPorts - ecl: normalized package name match | MacPorts ports tree: lang/ecl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [texinfo](https://www.automicvault.com/pkg/brew/texinfo/) - Build dependency declared by Homebrew.
- [clisp](https://www.automicvault.com/pkg/brew/clisp/) - Shares av.db curated category or tags: cli, common-lisp, compiler, implementation, interpreter.
- [sbcl](https://www.automicvault.com/pkg/brew/sbcl/) - Shares av.db curated category or tags: cli, common-lisp, compiler, implementation, language-runtime.
- [abcl](https://www.automicvault.com/pkg/brew/abcl/) - Shares av.db curated category or tags: cli, common-lisp, compiler, interpreter, language-runtime.
- [clozure-cl](https://www.automicvault.com/pkg/brew/clozure-cl/) - Shares av.db curated category or tags: cli, common-lisp, compiler, implementation, language-runtime.
- [gcl](https://www.automicvault.com/pkg/brew/gcl/) - Shares av.db curated category or tags: cli, common-lisp, compiler, language-runtime, lisp.
- [gforth](https://www.automicvault.com/pkg/brew/gforth/) - Shares av.db curated category or tags: cli, compiler, implementation, interpreter, language-runtime.
- [mit-scheme](https://www.automicvault.com/pkg/brew/mit-scheme/) - Shares av.db curated category or tags: cli, compiler, interpreter, language-runtime, lisp.
- [roswell](https://www.automicvault.com/pkg/brew/roswell/) - Shares av.db curated category or tags: cli, common-lisp, language-runtime, lisp.

## Combined YAML source

View the package source record on GitHub. [combined/ecl.yml](https://github.com/automic-vault/db/blob/main/combined/ecl.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
