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.
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/.
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
Unofficial packages built from stable releases are available in ppa:kelleyk/emacs.
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.
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
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
~/emacs-20131123/bin/emacs to start it.
For non-latin scripts you might want to add:
as a library and:
as a configure option.
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.