MacPortsでPrivatePortsを利用する

以前、はこべにっき# - MacPortsでステキなUNIXツールをインストールでMacPortsの紹介をしました。今回は、、MacPorts標準では用意されていないソフトウェアがインストールできるようになるPrivatePortsを今更ながら利用してみました。

MacPortsではソフトウェアをインストールするのに、ソフトウェアのソースコードの場所やインストール方法を指定したportfileというものを使っています。普通にMacPortsを使っているとデフォルトで用意されたportfileを使ってソフトウェアをインストールすることができます。

PrivatePortsというのは、MacPortsでデフォルト以外で、有志が作成したportfile達の事を指します。PrivatePortsを使えば、普通MacPortsではインストールできないソフトウェアやパッチが適応されたソフトウェアを使う事ができるようになります。ありがたやありがたや。

うちもKaoriYaパッチのvimがこの方法でつかえると知ったので、このPrivatePortfile/Vim - MacPortsWiki-JPをインストールしてみました。以下そのメモ。

まず、PrivatePortsのportfileを置くためのディレクトリを作成します。私は以下のようにしました。

$ mkdir /Users/yohei/localports

このディレクトリに、portfileを展開します。PrivatePortfile/Vim - MacPortsWiki-JPのvimを利用するには、PrivatePortfile/CMigemo - MacPortsWiki-JPにあるCMigemoも必要らしいので、それぞれのページから、最新のportfileをダウンロードして展開します。展開したファイルを/Users/yohei/localportsに置くと次のようになります。

$ ls /Users/yohei/localports 
editors/   textproc/

これだけでは、portからは読み込めないらしく、インデックスを作成する必要があります。portindexコマンドでインデックスを作ります。これはportfileを追加するごとに必要だと思います、たぶん。

$ cd /Users/yohei/localports 
$ portindex 
Creating software index in /Users/yohei/localports
Adding port editors/vim
Adding port textproc/cmigemo

Total number of ports parsed:   2 
Ports successfully parsed:      2        
Ports failed:                   0

これで、portfileの配置はできました。しかし、このままだとportコマンドはあたらしくつくったlocalportsがどこにあるのかわかりません。そこで/opt/local/etc/ports/sources.confに次の一行を書き加えます。

file:///Users/yohei/localports

これであたらしく追加したportfileをportコマンドで使えるようになったはずです。確認すると、

$ port search vim
vim                            editors/vim    7.1b.001     Vi workalike with many additional features
vimdrop                        aqua/vimdrop   0.8          droplet for getting files loaded into vim
vim                            editors/vim    7.1b.002     Vi workalike with many additional features
vim-app                        editors/vim-app 7.0.224      Vim.app is a GUI version of the famous editor vim.
p5-text-vimcolor               perl/p5-text-vimcolor 0.11         syntax color text in HTML or XML using Vim.
vim2html                       textproc/vim2html 1.46         vim2html converts any Vim-editable file into well-formed HTML

デフォルトのvim以外にも別のvimが現れるようになりました。一番上のvimがそうです。

後は依存モジュールであるcmigemoをインストールすれば、kaoriyaパッチのあたったvimがインストールできるようになります。うちは、以下のように新しくvimをインストールしました。

$ sudo port install cmigemo +utf8 
$ sudo port install vim +huge +multibyte +perl +python +ruby +macvim +kaoriya +cscope +aqua

PrivatePortsはPrivatePortfile - MacPortsWiki-JPにまとめられていて、他にもいろいろなものが作成されているようです。ありがたや、ありがたや。

自分でも作れるようなので、まだMacPortsにないモジュールのportfileを作ってみるのもよいかもですね。