|
From: Kouhei S. <ko...@co...> - 2013-04-06 09:01:18
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.2.6をリリースし(てい)
ました。
このリリースではRuby/Popplerとcairoを一緒に使ったときにうま
く動かないバグを修正しています。
Windows用のgemにはビルド済みのバイナリをバンドルしていますが、
バンドルするGTK+ 3を最新のGTK+ 3.8.0にしました!
== お願い
=== 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.6: 2013-04-02
Ruby/Popplerのバグを修正したリリース!
=== 変更点
==== Ruby/GLib2
* 改良
* 非推奨となっているGLib::Completionを削除。
* 非推奨となっているg_suorce_get_current_time()の使用を止めた。
* [windows] バンドルしているGLibを3.8.0にあげた。
* [windows] バンドルしているglib-networkingを3.8.0にあげた。
* [windows] バンドルしているGnuTLSを3.1.10にあげた。
==== Ruby/ATK
* 改良
* [windows] バンドルしているATKを2.8.0にあげた。
==== Ruby/GdkPixbuf2
* 改良
* [windows] バンドルしているgdk-pixbufを2.28.0にあげた。
==== Ruby/Pango
* 改良
* [windows] バンドルしているPangoを1.34.0にあげた。
==== Ruby/GDK3
* 改良
* [windows] バンドルしているGTK+を3.8.0にあげた。
==== Ruby/Poppler
* 修正
* Poppler::Page#renderが動作しない問題を修正。
[SF.net#184] [HARUYAMA Seigoさんが報告]
==== Ruby/GooCanvas
* 改良
* Ruby/GObjectIntrospectionベースのサンプルを追加。
[GitHub #139] [Masafumi Yokoyamaさんがパッチ提供]
=== 感謝
* Masafumi Yokoyamaさん
* HARUYAMA Seigoさん
|