2 Installation

Epkg is available from Melpa and Melpa-Stable. To install it and its dependencies run M-x package-install RET epkg RET.

The Epkg database is stored in an SQLite database, which it accesses using the EmacSQL package.

Because the command line tool that comes with SQLite is unreliable, EmacSQL uses its own binary. By default that binary is compiled every time EmacSQL is updated, and if that fails, then EmacSQL asks whether you want to download a pre-build binary.

The SQLite database file is stored in a Git repository. If Epkg cannot find your local clone of that repository, then it offers to clone it to the location specified by the option epkg-repository. It isn’t necessary but preferable to clone the repository manually before loading epkg.

git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs

If you cloned the repository to a different location, then you have to set the value of epkg-repository accordingly. Add the following to your init file and don’t forget to evaluate that form so that it also takes effect in the current session. To do so place the cursor after the closing parentheses and type C-M-x.

(setq epkg-repository "/path/to/epkgs/")
User Option: epkg-repository

This option specifies the location of the local Emacsmirror repository.

This repository contains the Epkg SQLite database and, if they have been initialized, all package repositories from the Emacsmirror and Emacsattic as submodules.

If you change the value of this option, then you should also manually move the repository. Otherwise it would be cloned again.

The local clone of the Epkg repository is not updated automatically, so you should periodically use M-x epkg-update RET to update the database.

Command: epkg-update

This command updates the Epkg database by pulling the master branch in the epkg-repository and then reloading the Epkg database. It returns the database connection.