From: Kouhei S. <ko...@co...> - 2013-01-30 14:10:46
|
須藤です。 Ruby-GNOME2プロジェクトはRuby-GNOME2 1.2.1をリリースしまし た。 今回はたくさんの人に助けてもらいました!ありがとうございます! Mac OS Xでクラッシュする問題を修正しました! 前回のリリースでWindowsでも動くことが確認できました。ただ、 見た目が微妙という問題があったので、今回からGreybirdというテー マをバンドルしています。これで、Windows上でもそれっぽい見た 目になるはずです。 https://github.com/shimmerproject/Greybird Ruby/GTK2、Ruby/GTK3関連ではGtk::TreeIter関連のメモリリーク が修正されています。Gtk::TreeIterを使っている人はアップデー トをオススメします。 また、WebKitGtk+のバインディングRuby/WebKitGtkも追加していま す。これは以下でインストールできます。 gem install webkit-gtk これはGObject Introspectionを使って実装しています。 == お願い 既存のバインディングの中で、可能なものはGObject Introspectionベースのバインディングに置き換えていきたいと思っ ています。具体的には、まずは、Ruby/GStreamerとRuby/GooCanvas を置き換えたいと思っています。その作業を手伝ってもらえないで しょうか。 これらはAPIが多くてなかなか完成しなく、まだ「実験的」な扱い のライブラリです。しかも、新しいバージョンへの対応もできてい ません。(GStreamerは1.0.0がリリースされました!) GObject Introspectionベースのバインディングにすることにより、 半自動的に新しいバージョンにも対応できるようになり、開発者に とっても利用者にとってもうれしくなります。 で、やって欲しい作業ですが、サンプルを移植して欲しいです。 ほとんど素のGObject Introspectionベースのバインディングを用 意しました。 GStreamer用: https://github.com/ruby-gnome2/ruby-gnome2/blob/master/gstreamer/sample/gst-gi.rb GooCanvas用: https://github.com/ruby-gnome2/ruby-gnome2/blob/master/goocanvas/sample/goocanvas-gi.rb これらのファイルをrequireしてGStreamer/GooCanvasに付属のサン プルを移植して欲しいです。 たぶん、こんな風にすると作業を開始できます。 GStreamerの場合: % gem install gobject-introspection % git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git % cd ruby-gnome2/gstreamer % cd vim sample/xxx.rb require "gst-gi" Gst.init # サンプルを移植する % ruby -I sample sample/xxx.rb GStreamerのサンプルは http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/ 以下にあるようです。例えば、以下がサンプルです。 http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c GooCanvasの場合: % gem install gobject-introspection % git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git % cd ruby-gnome2/goocanvas % cd vim sample/xxx.rb require "goocanvas-gi" # サンプルを移植する % ruby -I sample sample/xxx.rb GooCanvasのサンプルはここにあります。 http://git.gnome.org/browse/goocanvas/tree/demo どちらもサンプルをひとつ移植するごとにpull requestを送っても らえるとうれしいです。 また、中にはうまく移植できないものもあるかもしれません。その ときはpull requestかメーリングリストで教えてください。 Ruby/GObjectIntrospectionで未実装な機能が必要かもしれません。 == インストール方法 % gem install gtk2 % gem install gtk3 == Ruby-GNOME2 1.2.1: 2013-01-30 Max OS XでもGTK+ 3をサポートしたリリース! === 変更点 ==== Ruby/GLib2 * 改良 * 自動でネイティブパッケージをインストールするときにsudo のプロンプトにそれっぽいメッセージを使うようにした。 [GitHub:126] [Yorick Peterseさんが提案] * JRuby対応の作業を始めた。(ぜんぜん終わっていな いのでまだ動かない。) [GitHub:125] [vpereiraさんが報告] * GTypeがunsigned long intと同じサイズでも動くようにした。 * DLサポートをやめた。 * GLib >= 2.35.1のときは非推奨になったg_type_init()を呼 ぶのをやめた。 ==== Ruby/GTK2 * 修正 * Gtk::TreeIter関連のメモリリークを修正。 [GitHub:128] [Toshiaki Asaiさんがパッチ提供] ==== Ruby/GTK3 * 修正 * Gtk::TreeIter関連のメモリリークを修正。 (Ruby/GTK2のバックポート?) [GitHub:128] [Toshiaki Asaiさんが提供のパッチをベースにした] * Mac OS XではRuby/GDK3のシンボルと衝突してクラッシュする問題を修正。 [GitHub:127] [Sergio Campamaさんが報告] [Watsonさんが支援] ==== Ruby/GDK3 * 改良 * [windows] Greybirdテーマをバンドル。 [Regis d'Aubaredeさんが提案] ==== Ruby/GooCanvas * 改良 * Goo::Canvas#get_items_atを追加 [GitHub:124] [David Maciejakさんがパッチ提供] ==== Ruby/WebKitGTK * 追加した ==== Ruby/GtkSourceView3 * 改良 * Windows対応 === 改良 * David Maciejakさん * Yorick Peterseさん * vpereiraさん * Toshiaki Asaiさん * Sergio Campamaさん * Watsonさん * Regis d'Aubaredeさん |