Ruby 1.9.1 + Ruby Gnome2 0.19.3 + Rabbit 0.6.4をWindowsで試す、が失敗

ruby gnome2を不完全ながら野良ビルドできたことに気を良くして、rabbitを動かしてみようと思いやってみた。

まず、rdtoolのインストールでpost-installには失敗した。

install version.rb C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rd
install visitor.rb C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rd
mkdir -p C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rd
hook C:/msys/1.0/home/khayashi/Project/ruby/rdtool-0.6.20/lib/rd/post-install failed:
undefined method `each' for "dot.rd2rc":String
Try 'ruby setup.rb --help' for detailed usage.

設定ファイルのみのようなので、とりあえず次にrabbitをインストールした。
rabbitをインストールしてサンプルを動かしてみた。
1.9.1にはto_aメソッドがないらしい。

C:\msys\1.0\home\khayashi\Project\ruby\rabbit-0.6.4\sample>ruby -S rabbit lightning-talk.rd
C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rd/tree.rb:50:in `parse': undefined method `to_a' for #<String:0x5ae5ddc> (NoMeth
odError)
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rd/rdfmt.rb:10:in `initialize'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/parser/rd.rb:18:in `new'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/parser/rd.rb:18:in `parse'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/parser.rb:17:in `parse'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/canvas.rb:335:in `block in parse'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/canvas.rb:726:in `keep_index'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/canvas.rb:332:in `parse'
        from C:/rumix/ruby/lib/ruby/site_ruby/1.9.1/rabbit/frame.rb:58:in `parse'
        from C:/rumix/ruby/bin/rabbit:567:in `parse'
        from C:/rumix/ruby/bin/rabbit:717:in `do_display'
        from C:/rumix/ruby/bin/rabbit:781:in `main'
        from C:/rumix/ruby/bin/rabbit:785:in `<main>'

とりあえず、以下のファイルの該当箇所def parseを書き換えてみた。
C:\rumix\ruby\lib\ruby\site_ruby\1.9.1\rd\tree.rb

if RUBY_VERSION >= '1.9.1'
  set_root(parser.parse([@src], self))
else
  set_root(parser.parse(@src.to_a, self))
end

いちおうバージョンなんかも考慮してみる。

ここまでやると、GTKによるwindow枠は表示されるがグレー表示となる。
こんな感じ。

ruby -wで実行してみるとwarningがどっさり出ているので、時間があればまた今度ということでお茶を濁してみる。

Windows 7だと自前ビルドしたruby gnome2だとrequire 'pango'でxmlCreatePushParseCtxtがlibxml2.dllからみつからないというエラーになっている(XPだと出ない)し、rabbitがというよりもruby gnome2のビルドでやらかしている気がしなくもない。(ちなみに試したのはXP)