Ruby Gnome 0.19.1のインストーラをビルドしてみよう

Ruby Gnome2 0.19.1がリリースされていますが、
Windows版のバイナリは公式から提供されていません。

というわけで、0.18のときのビルドを提供して下さった方のメモを参考にビルドしてみた。
参考にしたというかほぼそのまんまなので詳細は省略。

http://d.hatena.ne.jp/luna_8bit/20090321

rumixを使っているので、rubyは1.8系です。

環境とかは以下の通りです。


GTKな環境はあるので、ある程度うまくいくかな。

  1. MinGWは導入済み(5.1.4+gcc4系)
  2. msysも導入済み(1.0.11?)
  3. http://ftp.gnome.org/pub/gnome/binaries/win32/からアーカイブをごっそりダウンロード
    • 現時点での最新リリースを選択。
    • ごっそりc:/GTKに展開
    • GConf-dev_2.22.0-2_win32.zip
    • GConf_2.22.0-2_win32.zip
    • ORBit2-dev_2.14.16-1_win32.zip
    • ORBit2_2.14.16-1_win32.zip
    • gail-1.22.0.zip
    • gail-dev-1.22.0.zip
    • gnome-vfs-dev_2.24.1-1_win32.zip
    • gnome-vfs_2.24.1-1_win32.zip
    • goocanvas-0.15-win32.zip
    • goocanvas-dev-0.15-win32.zip
    • gtksourceview-1.8.5.zip
    • gtksourceview-2.7.4.zip
    • gtksourceview-dev-1.8.5.zip
    • gtksourceview-dev-2.7.4.zip
    • libbonobo-dev_2.24.0-1_win32.zip
    • libbonobo_2.24.0-1_win32.zip
    • libbonoboui-dev_2.24.0-1_win32.zip
    • libbonoboui_2.24.0-1_win32.zip
    • libgnome-dev_2.24.1-1_win32.zip
    • libgnome_2.24.1-1_win32.zip
    • libgnomecanvas-2.20.1.zip
    • libgnomecanvas-dev-2.20.1.zip
    • libgnomeprint-2.12.1.zip
    • libgnomeprint-dev-2.12.1.zip
    • libgnomeprintui-2.12.1.zip
    • libgnomeprintui-dev-2.12.1.zip
    • libgnomeui-2.22.1.zip
    • libgnomeui-dev-2.22.1.zip
  4. cairo.pcの編集、は前になんかでやっていたのでパス。
  5. 環境変数の設定はとりあえずスキップ
  6. NSIS は2.45をインストール
  7. RUBYOPTは元から未設定
  8. c:/msys/1.0/home/khayashi/distにrubyをビルドしてインストール
    1. --prefix=/homeとかやるとc:直下のhomeになります。うっかりmsysのhome以下になるとか勘違いしないように。
  9. rcairo 1.8.0のビルド
    1. これでdist以下のrubyへと配置される。
  10. ruby gnome2のコードの編集はコードが変更されているのでパス
  11. CAIRO_PATHのexport
  12. ruby gnome2 glibのビルド
  13. glib以外をビルド
    • ruby/gtkのビルドのときに-lruby-gtk2が指定されてしまうので削除
    • libartのlibart_canvas.cの修正はやっぱり必要でした。
-----
Target libraries: glib, gdkpixbuf, pango, atk, gtk, bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomeprint, gnomeprintui, gnomevfs, goocanvas, gtkglext, gtksourceview, gtksourceview2, libart, libglade, rsvg
Ignored libraries: gstreamer, gtkhtml2, gtkmozembed, panel-applet, poppler, vte
-----
-----
SUCCEEDED:  glib gdkpixbuf pango atk gtk bonobo bonoboui gconf gnome gnomecanvas gnomeprint gnomeprintui gnomevfs goocanvas gtkglext gtksourceview gtksourceview2 libart libglade rsvg
FAILED: NONE
-----
Done.

うまくいったらこんな感じに表示される。

とりあえずここまで。