Hacker News new | ask | show | jobs
by 22SAS 1297 days ago
Currently on Emacs 28, on my personal machines. I see that there is a Emacs 29 pretest version available, for Windows. Are all Linux users building Emacs 29 from source?
4 comments

I'm building from source because I want the latest features and bug fixes. It's really not that complicated. On Ubuntu, the following builds and installs Emacs into your home directory:

    sudo apt-get install build-essential
    sudo apt-get install libgtk-3-dev libtiff5-dev libgif-dev libjpeg-dev libpng-dev libxpm-dev libncurses-dev libgccjit-11-dev libgnutls28-dev texinfo

    git clone https://git.savannah.gnu.org/git/emacs.git
    cd emacs
    ./autogen.sh
    ./configure  --with-native-compilation --with-cairo --prefix=$HOME/usr
    make -j 4
    # testing:
    ./src/emacs -Q
    make install
To update:

    git pull
    make clean
    ./autogen.sh
    ./configure  --with-native-compilation --with-cairo --prefix=/home/malsburg/usr
    make -j 4
    # testing:
    ./src/emacs -Q
    make install
Building from source. I have a bunch of patches in the lread.c to make Clojure-style #f(+ % 1) lambdas work, so I don't have much of a choice. Recently (this year), the reader was rewritten to be non-recursive, so I had to modify my patches too. Other than that, dnf builddep emacs && ./configure && make generally work well. It's worth looking at config options, some interesting things are still disabled by default (last I checked, modules, threads, and xwidgets; though it might have changed in 29).
I'm on Windows but use WSL exclusively. It opens the frame seamlessly. I'm about to build 29 from source because my Ubuntu ppa doesn't have a prepackaged 29 build.

I personally believe it's a good thing for a developer to have an intimate relationship with the construction of their primary tooling. It feels right to me, even if it hurts adoption.

Mostly, probably. There's a ppa for Ubuntu and a copr for Fedora; I wouldn't be surprised if other distributions had 3rd party emacs-snapshot repositories, too.