Emacs

Installation

Prerequisites

Dependencies

sudo apt install build-essential \
                libgtk-3-dev \
                libwebkit2gtk-4.0-dev \
                libgnutls28-dev \
                texinfo \
                libtiff5-dev \
                libgif-dev \
                libjpeg-dev \
                libpng-dev \
                libxpm-dev \
                libncurses-dev

For Native JIT Compilation Support

sudo apt install libgccjit0 \
                libgccjit-10-dev \
                gcc-10 \
                g++-10

For Dynamic Image Resizing

This is for when you are opening images in the dired buffer or any other
buffer to fit the image to its size.

sudo apt install libmagickcore-dev libmagick++-dev

For Incremental Parsing

The tree-sitter library is a general-purpose parsing system supporting
incremental parsing and error recovery. Once all the major modes use it
we'll have a much more robust mechanism for syntax highlighting, code
navigation, and refactoring.

sudo apt install libtree-sitter-dev

Build and Install

git clone git://git.savannah.gnu.org/ emacs.git

cd emacs

export CC=/usr/bin/gcc-10 CXX=/usr/bin/gcc-10
./autogen.sh
./configure --with-native-compilation \
        f   --with-json \
           --with-tree-sitter \
           --with-imagemagick \
           --with-xwidgets \
           --with-mailutils

make --jobs=$(nproc)
sudo make install