ひさびさに GMV を Mac 版バイナリ配布用にビルドすることにしました。で、以前は GTK+ のパッケージを別にインストールしてもらう構成にしていたのだけれど、これ、インストール先の環境を汚してしまう感じがして大変申し訳ないので、ちゃんと Application bundle にしたいなー、と思いまして。
GMV を intensive に開発していた頃は、まだ GTK+-Quartz はあちこち怪しいところもあった (Gimp の配布も X11 版でした) んですが、いまはかなり安定して動くようになりましたし、しかも gtk-mac-bundler なんていうツールまで提供されているので、これは使うしかない。
まず、MacOS X 10.8 + Xcode をセットアップ。最近は MacOS X も仮想マシンとして使えるようになって本当に便利。職場では VMware Fusion ですが、自宅では VirtualBox でやってます。どっちもちゃんと動きます。VirtualBox だと、MacOS 用の Guest Additions がないので GUI で使うには若干不便 (host からの copy & paste とかができない) ですが、Xcode のセットアップまでやっちゃえばあとは ssh でログインして作業できることが大半ですし、あんまり問題ない感じ。
GNOME.org の GTK+-OSX のページから、gtk-osx-build-setup.sh というのをとってきてスタートです。なお、一連のツールは jhbuild という仕掛けを利用しており、gtk-osx-build-setp はこれを ~/.local/bin にインストールします。
[code:plain]
$ sh ./gtk-osx-build-setup.sh
$ export PATH=~/.local/bin:$PATH
$ jhbuild bootstrap
[/code]
これでとっかかりの部分があっけなく完了です。
ここから先は bootstrap でインストールされたツール群を利用するために、~/gtk/inst/bin にも PATH を通す必要がありますが、いろいろの環境変数の設定が面倒なので、
[code:plain]
$ jhbuild shell
[/code]
として、構築環境を起動します。しかしここでは MACOSX_DEPLOYMENT_TARGET という環境変数がなぜか 10.7 に設定されており、あとで GTK の build がエラーになるので、
[code:plain]
$ export MACOSX_DEPLOYMENT_TARGET=10.8
[/code]
としておいて、一通りのツールを作ります。Python は build しておかないと、システム標準のでは meta-gtk-osx-core の build でエラーがでる気がします。
[code:plain]
% jhbuild build python
% jhbuild build meta-gtk-osx-bootstrap
% jhbuild build meta-gtk-osx-core
[/code]
(続く)