DarwinPorts の勝手 (local) repository 追加

先日、Binc IMAPGauche の Portfile を書き変えて、その最新版を入れた。そのときは CVS ツリーの Portfile を直に変えたけれど、最新版に追随していない Portfile を修正して使うことは今後もありそうなので、DarwinPorts のドキュメントにある方法で Portfile repository を置くことにした。以下、prefix を /opt にして DarwinPorts をインストールしてある場合。

$ cd /opt/darwinports
$ mkdir -p local_dports/local/bincimap
$ cp -p dports/mail/bincimap/Portfile local_dports/local/bincimap
$ cp -pR dports/mail/bincimap/file local_dports/local/bincimap
$ mkdir -p /opt/darwinports/local_dports/local/gauche
$ cp -p dports/lang/gauche/Portfile local_dports/local/gauche

local_dports/local は好きな名前でよいが、階層の深さはこのとおりにする。Binc IMAP の file ディレクトリにはパッチが入っていて、1.2.11final にも当たる。Gauche 0.8.3 ではパッチはもう要らないみたいだ。

さらに、/opt/etc/ports/sources.conf を修正。

file:///opt/darwinports/local_dports
file:///opt/darwinports/dports

これで勝手 repository となる local_dports を DarwinPorts が認識する。あとは、

$ cd /opt/darwinports/local_dports; portindex

で、local_dports に PortIndex が作られ、検索できるようになる。さっそくテスト。

$ port search bincimap
bincimap        local/bincimap  1.2.11final     modular, secure, stable, and fast IMAP server for Maildir
bincimap        mail/bincimap   1.2.10final     modular, secure, stable, and fast IMAP server for Maildir

うまくいった。

ついでに、DarwinPorts紹介記事を MacDevCenter.com で見つけたのでメモ。