E macsAir

Collecting frequent-committer miles

Re-introducing the Emacsmirror

The Emacsmirror is a growing collection of Emacs Lisp packages. All mirrored packages are available as Git repositories. In most cases this is done by mirroring the upstream Git repository, but if upstream uses something else, then the mirror nevertheless makes the package available as a Git repository.

One primary purpose of the Emacsmirror is to provide a comprehensive list of available Emacs packages, including packages that have gone out of fashion (but might later prove to be useful still).

Older efforts attempting to provide a comprehensive list of available packages, such as the Emacs Lisp List, over time collected an impressive list of dead links to packages that were no longer available anywhere.

With the Emacsmirror this won’t happen. If a package’s upstream disappears, then a copy remains available on the mirror. Once its upstream has disappeared a package is usually moved from the Emacsmirror to the Emacsattic, where it is no longer updated. (The Emacsattic is a Github “organization” separate from the Emacsmirror organization, but it is considered part of the Emacsmirror project.)

If other mirrored packages still depend on a package whose upstream has disappeared or no longer maintains the package, then it is copied to the Emacsorphanage. The Emacsmirror then mirrors that repository from the orphanage. The orphanage repository serves as a temporary home until someone volunteers to take over as maintainer. While a package is in the orphanage, the maintainer of the Emacsmirror makes an effort to merge pull requests from users.

Note that in the past I have sometimes removed packages completely, instead of moving them to the attic, but going forward that should only happen in exceptional cases.

For more information about the Emacsmirror visit its homepage.

Browsing the database using epkg.el

The epkg.el package provides a user interface for browsing the Emacsmirror package database. It is very similar to the interface provided by package.el, but there is more information and some goodies.

Epkg itself is not a package manager, but the closely related Borg package manager makes use of it.

epkg.el can be installed from Melpa using M-x install-package RET epkg RET. Right now Epkg unfortunately doesn’t work with the latest (or any) Emacs release, because it depends on some changes that have not made it into a release yet. [Update: Epkg requires Emacs v25.1.] Installation and usage instructions can be found in the manual.



Page CC BY 3.0 by Jonas Bernoulli, image CC BY-NC-SA 2.0 by David Bygott.

Posted on 16th April 2016