Debian 12 上で Emacs 29.1 をビルド

Debian 12 をクリーン・インストールしたが、Emacsは28で今まで使っていたものよりもバージョンが古い。packageなどが動かないものがあるので、29.1をローカル・インストール。

なお、Emacs30もpackageで動かないものがある。

ビルドのメモ

Triton Famme: Compiling GNU Emacs 30 on Debian 12を参考にした。

Tree-sitter

$ cd ~/tmp
$ git clone https://github.com/tree-sitter/tree-sitter.git
$ cd tree-sitter
$ make
$ sudo make install

Emacs本体のビルド

Debian 12のEmacsパッケージのバージョンは28だが、build-depで必要なツールをひとまずインストールしておく。足りないものがあったら、都度インストールする方針。

$ sudo apt-get build-dep emacs-gtk
$ cd ~/tmp
$ wget http://ftp.gnu.org/gnu/emacs/emacs-29.1.tar.xz
$ tar xvf emacs-29.1.tar.xz
$ cd emacs-29.1
$ ./autogen.sh
$ ./configure --with-tree-sitter --with-native-compilation 
$ make
$ sudo make -n install
$ sudo make install

flatpak について

Emacsも flatpakがあるが、自分の場合は問題があった。

cmigemoやw3mといった外部のコマンドを使うためだ。

システムにこられがインストールされていても、flatpakのパッケージは参照してくれない。 flatpakはflatpakで閉じた世界で成立しているので、cmigemoやw3mもflatpakでインストールすることになる。 こんなことするならローカルでビルドするほうが、よほど普通だ。