Emacs 29.4 インストール(AUR)
Emacs 29.3のときと同じようにソースからビルドしてもよかったけど、せっかくOSを入れ替えたのでAURの作法でやってみました。
まだaurに不慣れで、変なことしてるかもなのでツッコミよろしくです!
完成品
下記のようなのが入ります。
$ emacs --batch --eval '(message (string-replace "\n" "" (emacs-version)))'
GNU Emacs 29.4 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.0) of 2024-08-29
$ emacs --batch --eval '(message system-configuration-features)'
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB
環境
Wayland環境です。
SwayだけでDEなしのデスクトップですが、Arch Linuxでもこの方法で行けると思います。
1. aurをとってくる
素晴らしいお手本があります。
このお手本そのままでもNATIVE_COMP
なEmacsができるので、基本これに沿って行きます。
paru -S base-devel
cd ~/Downloads
git clone https://aur.archlinux.org/emacs-git.git/ emacs-git-aur
cd emacs-git-aur
2. aurを変更する
このままビルドするとgitの最新ができてしまうので、
- リリース 29.4を使いたい
- いつも使っているビルドオプションを使いたい
なのでPKGBUILD
ファイルを変更して、以下の3点をカスタマイズします。
- gitのタグを
emacs-29.4
に切り替え - ビルドオプション
--without-pop
を追加 - ビルドオプション
--with-small-ja-dic
を追加
変更後のファイルをgistに置きました。
下記のようにPKGBUILD
ファイルをバックアップした上でダウンロード(上書き)します。
cp PKGBUILD{,.orig} # バックアップ
wget https://gist.githubusercontent.com/hidsh/153e3a19eacdaaf031fed4d1897b10fc/raw/43890cb4f19042c03266431cbae8e76663022341/PKGBUILD
diff PKGBUILD.orig PKGBUILD # 差分を確認
3. ビルド、インストール
ビルドしてインストールします。
makepkg -siC
sudo pacman -Syu
sudo pacman -U emacs-git-29.4.166187-1-x86_64.pkg.tar.zst
which emacs # => /bin/emacs
4. ignore updating this package
sudo vim /etc/pacman.conf
#IgnorePkg =
IgnorePkg = emacs-git
おわりに
初めてBUILDPKG
をいじりましたが、初見ということもあり手間取りました。
最初は、emacsのソースをgit clone
するときに、29.4のタグだけを取得したくて
source=("emacs-git::git+https://git.savannah.gnu.org/git/emacs.git#emacs-29.4"
"nemacs")
のようにしたのですが、エラーになりました。
しかたないので、全取得したあとでタグを切り替えるようにしています。
また、元のコメントにもあるのですがCHECK = "YES"
にするとやっぱりエラーになります。
なので、ここは変更せずに直接ビルドするしかないようです(メンテナはケアする気がなさそ)。
あと、(これはEndeavorOSの仕様かもしれませんが)インストールするとなぜか/bin
に入ります。
長いことapt民だったこともあり、/usr/bin
に入るのに慣れきっていたのでちょっと意外に感じます。
まあ/usr/bin
よりも/bin
のほうが短くていいですが、しばらく違和感続くかも。
・・・aurまだよくわからん x_x;
Discussion