GTK-mac-bundler HOWTO (ビルド編)

gtk-mac-bundler の本体もとってきて、適当なディレクトリに展開して make install します。
[code:plain]
$ tar xf gtk-mac-bundler-0.7.3.tar.xz
$ cd gtk-mac-bundler-0.7.3
$ make install
[/code]
これで gtk-mac-bundler がインストールされる先は ~/.local/ 以下で、jhbuild で gtk をインストールした先と同じです。また、展開したフォルダ以下の examples/ には gtk-mac-bundler を実行するときの設定ファイルのサンプルがいろいろあります。
pkg-config が参照する GTK のインストールディレクトリを適切に選択するためには、PKG_CONFIG_PATH とかを設定する必要があるのですが、そういうのはまとめて jhbuild に委ねます。
[code:plain]
$ jhbuild shell
[/code]
これで起動するシェルは環境設定がちゃんとできているだけで普通の bash なので、このなかで普通に自分のプログラムを build して実行ファイルを作ります。
アプリケーションバンドルを作るには以下のファイルが必要です。
– .bundle ファイル (gtk-mac-bundle の設定)
– Info.plist (OS X 用)
– 起動用シェルスクリプト
– アイコンファイル
[.bundle ファイル]
gtk-demo をアプリケーションバンドルにするためのサンプルが examples/gtk-demo.bundle として用意されており、中味は XML ファイルです。最低限変更が必要なのは、
– launcher-script (起動用シェルスクリプト)
– plist (Info.plist として使うファイル)
– main-binary (実行ファイル本体)
の3つです。アイコンのファイルがある場合には、これも変更しておきましょう。
また、pango に関連するバイナリが不足しており、このままだとポータビリティのない (他のMacで動かない) バンドルができてしまうので、pango-querymodules や pango のモジュールを含める設定をします。
[code:xml]

${prefix}/bin/pango-querymodules
${prefix}/lib/pango/1.8.0/modules/*.so

[/code]
[Info.plist]
アプリケーションのバージョンや Copyright の情報などが記述されています。examples/Info.plist をたたき台にしてテキストエディタで書きます。
[起動用シェルスクリプト]
サンプルとして examples/launcher.sh が用意されており、基本的にはこれで変更の必要はない、はずなのですが、やはり pango に関連する部分を修正しておかないと、他の Mac に持って行ったときにフォントが全部□になってしまいます。
修正が必要なのはスクリプトのわりと最初のほうと、一番最後の2カ所です。これで、起動のたびに pango のモジュールパスを正しく生成するようにします。
[code:plain]
export PANGO_RC_FILE=”$bundle_etc/pango/pangorc”
+export PANGO_LIBDIR=”$bundle_lib”
+export PANGO_SYSCONFDIR=”$bundle_etc”
[/code]
[code:plain]
+mkdir -p “$bundle/pango/1.8.0”
+ln -sf ../../ “$bundle/pango/1.8.0/modules”
+
+”$bundle_bin/pango-querymodules” > “$bundle_etc/pango/pango.modules”
+
+export PANGO_LIBDIR=””
+
$EXEC “$bundle_contents/MacOS/$name-bin” “$@” $EXTRA_ARGS
[/code]
これで準備は終わりです。
[code:plain]
$ gtk-mac-bundler hogehoge.bundle
[/code]
とすれば、~/Desktop にアプリケーションバンドルが作られるはずです。

コメントを残す