目次
Remacs公式
テスト環境
- 試した順番
- Ubuntu MATE 16.04.3 (Virtualbox 64bit)
- Linux Mint 18.3 (実機, Ubuntu 16.04 based, 64bit)
- Windows Subsystem for Linux (実機, Ubuntu 16.04 based, 64bit)
- Linux Mint Debian Edition 2 (実機, Debian jessie based, 32bit)
- Xubuntu 16.04.3 (実機, Ubuntu 16.04 based, 32bit)
- Debian 9.3 (実機, 32bit)
- Manjaro Linux (Virtualbox, 実機, Arch based, 64bit)
- Debian系もしくはその派生であるUbuntu系ならインストールできると推察されます。
手順 (といってもほぼ公式準拠)
Rustをインストール
URL: https://www.rust-lang.org/en-US/install.html
curl https://sh.rustup.rs -sSf | sh
- インストール方法を聞いてくるので,1.の通常インストールを選びましょう。
- インストールを終えたら設定を反映させるためログインし直します。
remacsリポジトリをクローンし,Rustを開発版にする
git clone https://github.com/Wilfred/remacs.git
cd remacs/rust_src
rustup install `cat rust-toolchain`
cd ../
rustup override set nightly
必要なソフトウェアをインストール
sudo apt install build-essential autoconf texinfo libjpeg-dev \
libtiff-dev libgif-dev libxpm-dev libgtk-3-dev libgnutls-dev \
libncurses5-dev libxml2-dev
ビルドを実行
$ ./autogen.sh
$ ./configure --enable-rust-debug
$ make
- remacs/src内にremacsバイナリができます。
動作している様子
私が現在使用しているパッケージはすべて互換性がありました。
32bit版Linuxの場合
32bit版のLinuxでは公式の手順だとエラーが生じる (https://github.com/Wilfred/remacs/issues/294) ので,上記の「必要なソフトウェアをインストールする」までを実行したら,次の手続きでビルドします。
$ sed -i -e "s/i64/i32/g" rust_src/src/lisp.rs
$ ./autogen.sh
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" --enable-rust-debug
$ RUST_BACKTRACE=0 make
ここではlisp.rsの命令を32bitに修正して,make時のbacktraceを無効にしました。スワップが1GB程度あればコアダンプせずに最後まで実行できると思います。
追記: 現在lisp.rsのキャストが修正されたため,1行目は不要です。
Manjaro Linuxの場合
こちらの記事 をご覧ください。
あとがき
remacsはemacsの核であるlispインタプリタをRustに置き換える試みですが,ここまで本家と違和感なく使えるとは思いませんでした。Ubuntu系を使っている方は気軽に試してみてはいかがでしょうか。