EmacsSnapshotAndDebian

There are good Debian and Ubuntu packages that provide emacs versions newer than the official packages. One can also install from source for maximum freshness.

Debian packages

secretsauce.net

Generates and publishes a single weekly snapshot for amd64 Debian/unstable. Instructions and further details are available at: http://emacs.secretsauce.net/. The actual packages are here: http://emacs.secretsauce.net/pool/main/e/emacs-snapshot/.

ganneff.de

Maintains debian packages based upon emac git snapshots. Each’s build status can be reviewed at the developer’s gitlab instance: https://git.nsb-software.de/joerg/emacs/pipelines. The actual repository root is at http://emacs.ganneff.de/, and the package listing is at http://emacs.ganneff.de/pool/main/e/emacs-snapshot/

The ganneff.de repository does not include an instructions page. To use it:

1. enable adding a private repository.

    sudo apt-get install software-properties-common
    sudo apt-get update

2. get the repository’s Apt signing key

    wget -q http://emacs.ganneff.de/apt.key -O- | sudo apt-key add

3. Add the repository (replace Buster with your version).

    sudo add-apt-repository "deb http://emacs.ganneff.de/ buster main"
    sudo apt-get update
    sudo apt-get install emacs-snapshot

4. Update Alternatives to ensure it uses the snapshot version of emacsclient.

 
    sudo update-alternatives --config emacsclient

Ubuntu packages

The “Ubuntu Emacs Lisp” team maintain The Official ;-) Ubuntu Emacs Daily Snapshot PPA.

Unofficial packages built from stable releases are available in ppa:kelleyk/emacs.

Installing from source on Debian and similar

To install a bleeding-edge version of Emacs direct from Git, or build it from source for any other reason, and still integrate with Debian, so your version of Emacs can act as a dependency, one can use this handy script and Debian package by Michael Olson.

Alternatively, do it yourself. First, use git to get the sources:

    git clone --depth 1 --branch emacs-27 https://git.savannah.gnu.org/git/emacs.git

Note that even with the space-saving options ‘--depth 1 --branch emacs-27’, this initial git download will be more than 200 Mb. Compare with a source tarball for emacs27 of 40 Mb.

Required Packages

The following packages are available through apt and might need to be installed. Check the output from the configure stage described below. Git is for the git clone mentioned above.

    sudo apt install build-essential git

Get the required dependencies with build-dep.

    sudo apt build-dep emacs25

Building from the source

In order to build after installing required dependencies:

    cd emacs
    ./autogen.sh
    ./configure
    make bootstrap
    sudo make install

A good alternative is to not do a root install:

    mkdir ~/emacs-20131123 # for example
    cd emacs
    ./autogen.sh
    ./configure --prefix=/home/me/emacs-20131123 # for example
    make bootstrap
    make install

Then use ~/emacs-20131123/bin/emacs to start it.

Optional multi character library

For non-latin scripts you might want to add:

    libm17n-dev

as a library and:

    --with--m17n-flt

as a configure option.

Keeping up to date

You can use git pull to keep pulling. Emacs is often released against tags so you can pull those too:

    git checkout -t tag-name

To rebuild it’s best to:

    git clean -dxf  ## cleans up old files
    ./autogen.sh
    ./configure
    make bootstrap
    sudo make install

or use the alternative method to have a prefixed emacs.


CategoryBuilding