ぼちぼち散歩

Vimperatorビルド用にMacPortsでasciidocの8.2系列をビルドするPrivate Portfile

Vimperatorではヘルプの生成にasciidocを使っているけど,最新のasciidoc 8.3系列じゃなくて8.2系列の使用を前提としているため,8.3系列のasciidocだとmakeの途中でエラーで止まってしまう([参考1] [参考2]).ところが,MacPortsでasciidocをインストールすると8.3系列がインストールされ,しかも今のところ8.2系列などの過去のバージョンをインストールする手段が(たぶん)ない.というわけで,asciidoc 8.2.7をインストールするPrivate Portfileを作ってみた.以下,簡単に作業ログの残しておきます.ちなみにPrivate PortfileについてはHowTo/LocalPortfile - MacPortsWiki-JPなどを参照してください.

asciidocのホームページダウンロードページを見ると,Mercurialでソースコード管理しているとのことなので,MacPortsを使わずにインストールする場合は,

% hg clone -r 8.2.7 http://hg.sharesource.org/asciidoc
% cd asciidoc
% sudo ./install.sh

などとすればインストールできることがわかる.これをPortfileにすることを考えて,まず以下のようにして8.2.7当時の公式Portfileを引っ張ってきた.

% svn co -r 44195 http://svn.macports.org/repository/macports/trunk/dports/textproc/asciidoc
% cp -R asciidoc /path/to/local_port_tree/textproc

次に,MacPorts Guideのhgのところや,HowTo/PrivatePortfileTutorial - MacPortsWiki-JPを参考にしながら,hgでソースをfetchしてくるように変更してみた.本当は,新しくasciidoc827とかいう名前のPortfileを作って,公式のasciidocと共存するようにしたかったのだけど,asciidoc 8.2.7のinstall.shに簡単にコマンド名などにsuffixをつけれるオプションがなかったので,今回は妥協してasciidocという名前のままにした.個人的にはVimperatorのビルドにしかasciidocを使わないのでこれで困らないけど,他の用途でasciidocを使っている人は気をつけて下さい.したがって元のasciidocをアンインストールしてから8.2.7をインストールする必要があります.

% sudo port uninstall asciidoc
% cd /path/to/local_port_tree
% portindex
% sudo port install asciidoc @8.2.7

ここで,fetch時というかhg cloneのときに「abort: unknown encoding: X-MAC-JAPANESE」というエラーが出たので,mercurialとsshと私 » Happy My Lifeのページを参考に$HOME/.hgrcを適当にいじってからリトライした.ここまでで,asciidoc 8.2.7のインストールは終わりで,Vimperatorをmakeし直してみる.ヘルプファイルは元のtxtファイルが更新されてないとリビルドされない上に,手元の環境ではmake cleanでヘルプファイルを消せなかったので,自力で消してから再度ビルドした.

% cd /path/to/vimperator_git
% rm */locale/*/*.html   
% make xpi

で,一応うまいこといったので,たぶん大丈夫なんでしょう.以下に作成したPortfileを貼っておきます.あんまり自信ないので試される方は自己責任でお願いします.

スポンサーサイト

2009/01/12 15:52 | Mac | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ