WSL(Ubuntu 16.04)でVimをビルドする
Ubuntuでも+luaを使いたかったのでVimのビルドを試したら簡単にできた。
環境
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial
手順
apt sources.listの更新 (deb-srcの追加)
$ sudo vim /etc/apt/sources.list
# 以下を追加
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial main restricted universe multiverse
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-security main restricted universe multiverse
$ sudo apt update -y
ビルドに必要なパッケージのインストール
$ sudo apt build-dep vim
# => deb-src追加前はエラーが出たけど、
# deb-src追加後はインストール確認が表示された
$ sudo apt install luajit libluajit-5.1
$ dpkg -l luajit
$ dpkg -l libluajit*
ソースコードの取得
$ git clone https://github.com/vim/vim.git
$ cd vim
$ git checkout v8.1.0541
ビルド・インストール
$ cd src
$ ./configure \
--enable-fail-if-missing \
--disable-darwin \
--disable-xsmp \
--disable-xsmp-interact \
--enable-luainterp=dynamic \
--enable-perlinterp=dynamic \
--enable-pythoninterp=dynamic \
--enable-python3interp=dynamic \
--enable-tclinterp=dynamic \
--enable-rubyinterp=dynamic \
--enable-cscope \
--disable-netbeans \
--enable-terminal \
--enable-multibyte \
--disable-gtktest \
--disable-icon-cache-update \
--disable-desktop-database-update \
--disable-sysmouse \
--with-compiledby=s_hiiragi \
--with-luajit
$ make
# 野良ビルドはporgで管理しているが使わなくてもOK
$ sudo porg -lp vim make install
# シェルが記憶しているコマンドのパス情報をクリアする
$ hash -r
$ vim --version
# => "Compiled by s_hiiragi"が表示された
# +lua/dyn, +terminal, +job, +channel, +timers が有効になっている
aptで入れたvimのアンインストール
$ sudo apt purge vim
:!
コマンドが動くようにする
$ echo "export SHELL=/bin/bash" >> ~/.profile
参考