きりかノート 3冊め

おあそびプログラミング

MacPortsで配布ファイルがURL末尾に来ないときの対応方法

Weird distfile URLsで、ダミーのパラメータを渡して、${distfiles}をmaster_sitesに含めればいいよ、という提案(実例 graphics/VirtualPlanetBuilder/Portfile)。

最初理解できなくて「そんな機能があるのか、なんとマニアックな」と思ったがなんでもないな。セミコロンでURIのパラメータにしたほうがCGIより誤認が起きにくいように思うけどそうでもないのかな?

テンプレートの文字列があって、それを変更するってなってたらスマートかなあ。
ちなみに自分が書くときは、fetchを独自定義することが多いけどおすすめしない。
たとえば、rb-glib2だとこんな感じ(てきとうに折り返し)。

 fetch {
if {[file isfile ${distpath}/${distname}${extract.suffix}]} {return 0}
curl fetch "http://ruby-gnome2.svn.sourceforge.net/viewvc/ruby-gnome2/\
ruby-gnome2/trunk.tar.gz?view=tar&pathrev=3263" \
${distpath}/${distname}${extract.suffix}
}

すでに${distpath}にあったときに抜けるのを自分で書いてるのが、いちばんの減点ポイント。