きりかノート 3冊め

おあそびプログラミング

PortGroup github の使い方

MacPortsのPortfileを書く上で便利な機能をまとめたのがPortGroupです。

たとえばPortGroup rubyを使うと、gemやsetup.rb, extconf.rbを使ったライブラリのportが簡単に書けます。

   [erubis] gem fetch && gem install
   ruby.setup erubis 2.7.0 gem {} rubygems
   [uconv] ruby extconf.rb && make && make install
   ruby.setup uconv 0.5.3 extconf.rb {README README.ja}

今日はgithubのPortGroupについて調べたので紹介します。

PortGroup githubはソースのダウンロード方法を簡単に指定するためのPortGroupです。ビルド方法などには関知しません。githubからtarballやzipをふつうに落としてくると、ハッシュ(の一部)がファイル名に入ったりでちょっとMacPorts的にめんどうだったりするのですが、そのへんをうまく処理してくれます。

github.setupというプロシージャを使います。

   github.setup {gh_author gh_project gh_version {gh_tag_prefix ""}

たとえばrdtoolなら

から、こうなります。

   github.setup    uwabami rdtool 0.6.37 v

ということで、port:rb-rdtoolをひさしぶりに更新しました!

   # $Id: Portfile 98465 2012-10-05 21:30:34Z kimuraw@macports.org $
   PortSystem      1.0
   PortGroup       ruby 1.0
   PortGroup       github 1.0

   version         0.6.37
   github.setup    uwabami rdtool ${version} v
   ruby.setup      rdtool ${version} setup.rb {README.rd README.rd.ja doc utils}

ここではrubygithubの2つのPortGroupを利用しています。