ソース・パッチをリモートから直接展開・適用する
少し以前から Lisp を学びたいという衝動が高まってきまして、Vim に MzScheme インターフェースを追加することにしました (emacs への乗換えも一時検討したんですが、あっさり断念しました)。
ソースを持っていなかったため、一からパッケージを取ってくるところから始めました。以下、備忘録代わりに手順を記しておきます。
なお、Cygwin+Mingw で Windows 用にビルドする、というのがシナリオです。
まず、適当なディレクトリで
curl -s ftp://ftp.vim.org/pub/vim/unix/vim-7.0.tar.bz2 | tar xvj curl -s ftp://ftp.vim.org/pub/vim/extra/vim-7.0-extra.tar.gz | tar xvz
としてダウンロードしながら展開します。
(svn を使えば一発なんですが、今回は敢えて古典的な方法を取っております)
これが済んだら
cd ./vim70
で、展開されたディレクトリに移動。
次はパッチです。大量にありまして、100 個単位でパックされています。これもダウンロードと展開を一度にやります:
curl -s ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.001-100.gz | gzip -d | patch -p0
101 個目からは 1 個ずつになります。
for (( i = 101; i < 165; i++ )); do curl -s "ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.$i" | patch -p0 sleep 1 done
無事に出来たらコンパイルなんですが、その前に Makefile を編集しなければいけません。
src/Make_ming.mak を開き、
/mzscheme
で編集箇所を検索。"#MZSCHEME=..." の行のコメントを外し、パスを適切に書き換えます。
"MZSCHEME_VER" の値も、入手した MzScheme のバージョンに合わせて書き換えます (例: MZSCHEME_VER=360_000)。
もう一つ、忘れがちなんですが、Windows 用にビルドするということで gcc のオプションに "-mno-cygwin" を付け加えなければなりません。
/cflags
で探した行に適当に追加します。
これでようやく準備完了です。
それでは
make -f Make_ming.mak gvim.exe && mv gvim.exe ~/bin/ && echo "Happy Vim+Scheming!!"