きりかノート 3冊め

おあそびプログラミング

VIM の Portfile に KaoriYa パッチなど追加

トーフサロンの Vim7.0 + KaoriYa を Mac OSX にインストールするMakefile と、2xup.org の Vim7.0 + KaoriYa を Mac OSX にインストールする の手順を MacPorts 化してみた。

  • 7za のパッケージをインストールしても、PATH が port プロセス中で /usr/local/bin に設定されていない(かつ system コマンドでは フルパスは記述できないっぽい)ために実行されないこと。結局 /usr/bin にシンボリックリンクをつくった
  • -lmigemo のテストを通すために configure.env を追加する必要があったこと

が、今回のハマリポイント。MacPorts 組み込みの機能を使えば、たぶん curl コマンドをたたかなくてよいのだろうけど、調べるのがめんどうだったので横着。

CMigemo は、DarwinPortsWiki-JP の PrivatePortFile を使えばよい。

以下は公式 (r20293) の Portfile との diff。

 Index: editors/vim/Portfile
===================================================================
--- editors/vim/Portfile (revision 400)
+++ editors/vim/Portfile (working copy)
@@ -53,6 +53,30 @@
}
}

+### apply KaoriYa's patches and enable migemo
+### see http://2xup.org/log/2006/09/13-0220
+post-fetch {
+ cd ${distpath}
+ if { ![file exists "vim7-daily-w32j.exe"] } {
+ system "curl -s -O http://www.kaoriya.net/testdir/vim7-daily-w32j.exe"
+ }
+ if { ![file exists "configure.diff"] } {
+ system "curl -s -O http://2xup.org/repos/vim/configure.diff"
+ }
+}
+
+post-patch {
+ # apply kaoriya patch
+ system "7za x ${distpath}/vim7-daily-w32j.exe"
+ system "cat vim7-daily-w32j/patches/* | patch -p0"
+ # apply patch for migemo from 2xup.org
+ system "cat ${distpath}/configure.diff | patch -p0"
+}
+
+configure.env LDFLAGS="-L${prefix}/lib" \
+ CFLAGS="-I${prefix}/include"
+###
+
configure.args --enable-gui=no --without-x --disable-gpm \
--mandir=${prefix}/share/man