When you are an ardent fan of Emacs, you would want to use the very latest Emacs. But you wouldn’t be able to do so just because your OS vendor hasn’t come around to packaging it for you.
For example, I run the very latest Debian i.e., Debian Unstable. Inspite of that, I am stuck at using Emacs 25.2.2, when I could be running Emacs 26.1.
Given this handicap, you might want to consider using Flatpak (1). The Flatpak project describes itself as
Flatpak is a next-generation technology for building and distributing desktop applications on Linux
True to it’s mission, the Flatpak project distributes the very latest Emacs.(1)
Step 1: Install Flatpak
Setup Flatpak for your specific distribution (1).
If you are running Debian, open a terminal and run the following commands
$ sudo apt install flatpak $ sudo apt install gnome-software-plugin-flatpak $ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo $ sudo flatpak update
Note 1: At the time of writing this article, I had trouble running the second of the above commands. This is presumably because of the ongoing migration to Perl 5.28.(1). It appears that you can skip the second step altogether, and yet not compromise your ability to install Emacs 26.1.
Step 2: Install GNU Emacs
Check the availability of GNU Emacs with
$ flatpak search emacs
You should see an output like this
$ flatpak search emacs Application ID Version Branch Remotes Description org.gnu.emacs 26.1 stable flathub An extensible text editor org.gnome.Devhelp stable flathub A developer tool for browsing and searching API documentation
If the above search fails, update the list of flathub packages with
$ sudo flatpak update
and try again.
Now install GNU Emacs with
$ sudo flatpak install flathub org.gnu.emacs
If you are installing Emacs for the first time, the above command installs GNOME runtime for you. Note that the runtime is a very sizable download.
Step 3: Run Emacs
You can run Emacs with
$ flatpak run org.gnu.emacs
Step 4: Check your Emacs features
Before relying on your flathub Emacs, you may want to check it’s features against the features of your distribution-specific Emacs. You can check the capabilities of your Emacs by examining the variable system-configuration-features
or by M-x report-emacs-bug RET
(1).
At the time of writing, the flathub Emacs
- has no support for
GPM
orIMAGEMAGICK
- lacks support for
LIBOTF
andM17N_FLT
- doesn’t support
XWIDGETS
Item (2) above means that you may have trouble when editing in Indic, Khmer, Arabic and Farsi.(1) Item (3) is acceptable because it is felt that this feature compromises security(1)
sh-4.4$ diff -u debian-emacs-25.2.2-features.txt flathub-emacs-26.1-features.txt --- debian-emacs-25.2.2-features.txt 2018-11-05 13:20:10.453834977 +0530 +++ flathub-emacs-26.1-features.txt 2018-11-05 13:21:42.345884892 +0530 @@ -3,16 +3,12 @@ FREETYPE GIF GNUTLS -GPM GSETTINGS GTK3 -IMAGEMAGICK JPEG LCMS2 -LIBOTF LIBSELINUX LIBXML2 -M17N_FLT NOTIFY PNG RSVG @@ -23,5 +19,4 @@ X11 XFT XPM -XWIDGETS ZLIB
Concluding Words
The flatpak is a blessing in disguise for those are desperate to run the very latest Emacs. The flathub Emacs lacks support for some crucial features like IMAGEMAGICK , CTL etc. These issues(1) could be addressed by working with flatpak maintainers. Flatpak eco-system is in it’s infancy(1), and it has fair share of supporters and detractors. That said, I am excited about flatpak, mostly because it allows me to use the very latest Emacs, and I need no longer be solely at the mercy of my OS vendor.