読者です 読者をやめる 読者になる 読者になる

apt-getで入るやつと同じオプションでVim 8.0をビルドする

Vim 8は試してみたいけど、PPAで入れるのはなんか気が引ける。ので、自分でビルドする。

それ自体は簡単で、GitHub上にソースコードはあるので

sudo apt build-dep vim

git clone https://github.com/vim/vim
cd vim/

./configure ...
make
make install

とかやればビルドできる。問題は、configureに指定するオプションがよくわからないこと。

そういうときどうすればいいかというと、Ubuntuの場合はlaunchpadにはビルド時のログがあるのでそれを見れば公式パッケージが使っているオプションがわかる(たぶんDebianもどっかにビルドログがあるはず)。

2:7.4.1689-3ubuntu1 : vim package : Ubuntu

たとえば、vim-nox(GUIがないやつ)をビルドしようと思うと、以下のようになるらしい。

cd src/vim-nox && LDFLAGS="-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --enable-cscope --enable-gpm --enable-selinux --disable-smack --with-features=huge --enable-multibyte --enable-acl --without-x --enable-gui=no --enable-luainterp --disable-mzschemeinterp --enable-perlinterp --enable-python3interp --with-python-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu --disable-pythoninterp --enable-rubyinterp --enable-tclinterp --with-tclsh=/usr/bin/tclsh

ちなみにAPTレポジトリで使われているソースは、deb-srcのエントリがsources.listにあればapt-cache showsrcで見れる。

$ apt-cache showsrc vim | grep Debian-Vcs
Debian-Vcs-Browser: http://anonscm.debian.org/hg/pkg-vim/vim
Debian-Vcs-Hg: http://anonscm.debian.org/hg/pkg-vim/vim

ほんとはGitのレポジトリもある(http://anonscm.debian.org/cgit/pkg-vim/vim)けど、それは調べ方がわからなかった。

(さらにちなみに、ここのソースをdebuildなりdpkg-buildpackageなりすればビルドできるはずだけど、自分の環境だとGUI関連のテストがこけるのでよくわからなくて断念した)