|
From: Kouhei S. <ko...@co...> - 2013-03-24 11:39:10
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.2.4をリリースしまし
た。
このリリースからRuby/WebKitGtk2を追加しました。これは、GTK+
2でWebKitを使うためのライブラリです。
== お願い
=== Ruby/GTK3に関して
Ruby/GTK3のサンプルの多くはRuby/GTK2から移行しきっていません。
これらのサンプルはまだたくさん警告を出力します。すべてのサン
プルをRuby/GTK2から移行したいと思っています。この作業を手伝っ
て欲しいです。
具体的には以下のような作業になります。
% gem install gtk3
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gtk3/gtk-demo
% ruby main.rb # たくさんの警告がでます。
% vim xxx.rb # 警告やエラーを直して欲しいす。
# 期待する挙動はRuby/GTK2のサンプルを動かしてみてください。
# % cd ${RUBY_GNOME2_TOP_DIR}/gtk2/gtk-demo
# % ruby main.rb
# GTK+ 3のオリジナルのサンプルも参考にしてください。
# https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo
# もしかしたら、GTK+ 3から移行していないサンプルもあるか
# もしれません。そんなサンプルを見つけたらRuby/GTK3へポー
# ティングして欲しいです。
↑の作業をしてpull requestを送ってくれるとうれしいです。単位
は細かくていいです。大きいのがドカンとくるよりは細かく送って
くれたほうが確認しやすくてうれしいです。なので、少し進めたら
送ってくれると嬉しいです。
この作業の流れはgtk-demo用ですが、他にもgtk3/misc/と
gtk3/testgtk/にもサンプルがあります。これらに関しても手伝っ
てくれるとうれしいです。
=== GObject Introspectionベースのバインディングに関して
既存のバインディングの中で、可能なものはGObject
Introspectionベースのバインディングに置き換えていきたいと思っ
ています。具体的には、まずは、Ruby/GStreamerとRuby/GooCanvas
を置き換えたいと思っています。その作業を手伝ってもらえないで
しょうか。
これらはAPIが多くてなかなか完成しなく、まだ「実験的」な扱い
のライブラリです。しかも、新しいバージョンへの対応もできてい
ません。(GStreamerは1.0.0がリリースされました!)
GObject Introspectionベースのバインディングにすることにより、
半自動的に新しいバージョンにも対応できるようになり、開発者に
とっても利用者にとってもうれしくなります。
で、やって欲しい作業ですが、サンプルを移植して欲しいです。
こんな風にすると作業を開始できます。おかげさまでGStreamerの
方は移植が進んでいます!
GStreamerの場合:
% gem install gobject-introspection
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gstreamer-gi
% cd vim sample/xxx.rb
require "gst"
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.4: 2013-03-24
Ruby/WebKitGtk2を追加したリリース!
=== 変更点
==== 全体
* 改良
* mswin64のサポートを開始。(まだぜんぜん終わっていません。)
[GitHub #135] [usaさんがパッチ提供]
==== Ruby/GLib2
* 改良
* 必要のないGBoxedオブジェクトのコピーを減らした。
==== Ruby/GdkPixbuf2
* 修正
* typoでビルドエラーになっていた問題を修正。
==== Ruby/GtkSourceView2
* 改良
* CentOS 6では自動でRPMをインストールするようにした。
==== Ruby/GObjectIntrospection
* 改良
* メソッド引数のバリデーションに失敗した時のメッセージに
メソッド名を入れるようにした。
* バージョンを指定してロードできるようにした。
==== Ruby/GTK3
* 改良
* [windows] gschemas.compiledを追加した。
[ruby-talk:406026] [Regis d'Aubaredeさんが報告]
==== Ruby/WebKitGtk2
* New!
[GitHub #136] [eumarioさんがパッチ提供]
=== 感謝
* usaさん
* Regis d'Aubaredeさん
* eumarioさん
|