PPA description

This repository contains updated `emacs` packages based on stable releases.

The following package series are available:

- `emacs27`: based on 27.x-series releases.

- `emacs26`: based on 26.x-series releases.

- `emacs25`: based on 25.x-series releases.

The `emacs27` packages have `cairo`-based text rendering; this may cause issues with bitmapped fonts. They add native JSON manipulation, ACL support, and version-dependent 'load-path entries (like what the Ubuntu packages have), and more. The `emacs27` packages for 16.04 LTS (xenial) no longer include xwidgets support due to an upstream change that requires newer libraries.

On top of each series, I have applied the following patches:

- A fix for an `xinput`-related bug that, when triggered, causes `emacs` to enter an infinite loop; the process will then be unresponsive and will consume 100% of a single CPU core until you kill it.

An ELPA signing key expired in 2019-09. The new key, which is valid until 2024, is included Emacs 26.3 and later. I have also backported it to the `emacs25` series. If you have an existing install that is affected by the key expiration, instructions on fetching the new key and inserting it into the keychain are available here: https:/ /elpa.gnu. org/packages/ gnu-elpa- keyring- update. html

Debug symbols are available! After adding the PPA however you normally do, find the corresponding entry in `/etc/apt/ sources. list.d` .

It will look like the first line below (though the suite name may be different if you are not using focal); duplicate it and change the component name ("main") to "main/debug".

deb http:// ppa.launchpad. net/kelleyk/ emacs/ubuntu focal main

deb http:// ppa.launchpad. net/kelleyk/ emacs/ubuntu focal main/debug

The packaging was originally based on that from the `emacs-snapshot` PPA.

The source packages that I upload are built from a packaging repository (https:/ /github. com/kelleyk/ ppa-emacs) with the help of my `kk-debuilder` utility (described at https:/ /github. com/kelleyk/ kk-debuilder).

$ kk-debuilder --target= xenial, bionic, focal,groovy --no-check --debian- branch= master- emacs27. 1 --upstream- branch= upstream- emacs27. 1 --source-only

If you want to build binary packages yourself, note that you may run into trouble unless you disable ASLR.

$ echo 0 | sudo tee /proc/sys/ kernel/ randomize_ va_space

Remember to re-enable it once the build is complete.

$ echo 2 | sudo tee /proc/sys/ kernel/ randomize_ va_space

Change history highlights:

- 27.1~1. git86d8d76aa3- kk1: The 'load-path has been changed to include

version- specific directories like the Ubuntu/Debian packages do. The

packages now also provide the non-version- specific package names used

by the Ubuntu packages (e.g. emacs27-common provides emacs-common).

- 25.3~2. gitc09215a- kk1: I have backported the 2019 ELPA signing key,

which is valid until 2024.

- 25.1~1. gitf0eb70d- kk8: I have experimentally enabled debug symbols

(`-dbgsym` packages) and non-x86 architectures in this PPA's settings.

- 25.1~1. gitf0eb70d- kk4: The GTK and -nox packages have had

--with-modules and --with- file-notificati on added to their build-time

configuration.