I've already written about installing emacs-snapshot on debian buster, here are two additional ways. The first is to use flatpak, and the other is to build from source.

Flatpack

1
2
3
sudo apt-get install flatpak
sudo apt install gnome-software-plugin-flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Then:

1
sudo flatpak install flathub org.gnu.emacs

And running it:

1
flatpak run org.gnu.emacs

You can then pin it in your dock and you are good to go.

From Source

For buster debian, make sure you have the deb-src lines in your /etc/apt/sources.list

1
2
3
4
5
6
7
8
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

Then lets add the dependancies and pull down the emacs source code:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  sudo apt update

  # Make sure you have the builddeps

  sudo apt build-dep emacs25

  # Also install native json parsing

  sudo apt-get install libjansson4 libjansson-dev libmagickcore-dev

  # Download the monster
  git clone --depth 1 --branch emacs-27 https://git.savannah.gnu.org/git/emacs.git

Now we can run ./autogen.sh and ./configure:

1
2
3
4
  cd emacs
  ./autogen.sh
  ./configure
  make

You can test this out by running:

1
  src/emacs

Or just install it:

1
  sudo make install

.desktop file:

This is what I have in my ~/.local/share/applications/emacs.desktop:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[Desktop Entry]
Version=1.0
Name=Emacs 27
GenericName=Text Editor
Comment=View and edit files
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/usr/local/bin/emacs %F
TryExec=emacs
Icon=emacs
StartWMClass=emacs
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;

Native json support test

The whole point of this for me was to see if we have native json support. We can test this with:

1
2
3
(if (functionp 'json-serialize)
  (message "Native JSON is available")
(message "Native JSON is *not* available"))
Native JSON is available

Previously

kuchin/awesome-cto

2021-03-05

Next

enochndika/kimia-UI

2021-03-09

labnotes

Previously

Setting up redis and nat-connector with FaasD Storage for your functions

2021-02-22

Next

Bootstrapping React with Tailwind as so I remember

2021-04-15