# \[ANN\] Ruby-GNOME2 2.0.0

**URL:** <https://www.ruby-forum.com/t/ann-ruby-gnome2-2-0-0/228586>\
**Category:** Ruby-Gnome 2\
**Created:** [April 29, 2013, 11:07am UTC](https://www.ruby-forum.com/t/ann-ruby-gnome2-2-0-0/228586 "2013-04-29T11:07:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kouhei\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f4b2a3/32.png) [@Kouhei\_S](https://www.ruby-forum.com/u/Kouhei_S)\
**Post date:** [April 29, 2013, 11:07am UTC](https://www.ruby-forum.com/t/ann-ruby-gnome2-2-0-0/228586/1 "2013-04-29T11:07:09Z")

</div>

Hi,

The Ruby-GNOME2 project released Ruby-GNOME2 2.0.0:  
[http://ruby-gnome2.sourceforge.jp/hiki.cgi?News\_20130429\_1](http://ruby-gnome2.sourceforge.jp/hiki.cgi?News_20130429_1)

Yes! It is 2.0.0!!!

This release includes Windows binary included gem for  
GObject Introspection based bindings. For example,  
Ruby/GStreamer and Ruby/Clutter are these bindings. I  
decided that using “2.0.0” for this release because we can  
continue to develop Ruby-GNOME2 based on GObject Introspection.

GObject Introspection based bindings work well for simple  
usage but complex usage will not work well. Especially,  
object ownership related work will not be stable. If you  
find memory leaks and/or double-free SEGV, please report it  
to us.

Since this release, Ruby/GStreamer is based on GObject  
Introspection and supports GStreamer 1.0. But old GStreamer  
0.10.x support is dropped. If you want to use with old  
GStreamer, please use old Ruby/GStreamer.

== Help us!

=== About Ruby/GTK3

Many sample programs for Ruby/GTK3 aren’t migrated from  
Ruby/GTK2. They reports many warnings. We want to migrate  
all sample programs from Ruby/GTK2. We want you to help us  
for the work.

Here are work flows to start the work.

% gem install gtk3  
% git clone removed\_email\_address@domain.invalid:ruby-gnome2/ruby-gnome2.git  
% cd ruby-gnome2/gtk3/gtk-demo  
% ruby main.rb # reports many warnings  
% vim xxx.rb # You fix warnings and errors  
# See Ruby/GTK2 version program to confirm the expected behavior:  
# % cd ${RUBY\_GNOME2\_TOP\_DIR}/gtk2/gtk-demo  
# % ruby main.rb  
# And see also the original sample programs in GTK+ 3:  
# [Sign in · GitLab](https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo)  
# We may have some missing samples. If you find some  
# missing samples, please port it to Ruby/GTK3.

We are happy that you send a pull request for the work.

The above work flows for gtk-demo but there are more samples  
in gtk3/misc/ and gtk3/testgtk/. We want you to help us for  
the samples.

=== About GObject Introspection bindings

We want to replace existing bindings by GObject  
Introspection based bindings. If the bindings is GObject  
Introspection ready. To be specific, first we want to  
replace Ruby/GStreamer and Ruby/GooCanvas with GObject  
Introspection based bindings. Ruby/GStreamer is almost  
replaced but many minor APIs aren’t confirmed yet. We want  
you to help us for the work.

GStreamer and GooCanvas has many API. So their bindings  
aren’t completed yet. Their bindings are still  
“experimental”. And their bindings don’t support the latest  
version yet.  
If we get GObject Introspection based bindings, we can  
support the latest version semi automatically. Both  
developers and users will be happy.

To be specific, we want you to port sample programs for them  
to Ruby.

We want you to port sample programs of GStreamer and  
GooCanvas to Ruby by requiring those bindings.

Here are work flows to start the work.

For GStreamer:

% gem install gobject-introspection  
% git clone removed\_email\_address@domain.invalid:ruby-gnome2/ruby-gnome2.git  
% cd ruby-gnome2/gstreamer  
% vim sample/xxx.rb  
require “gst”  
Gst.init

# Port a sample

% ruby -I sample sample/xxx.rb

You can find samples for GStreamer at  
[http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/](http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/)

For example:  
[http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c](http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c)

For GooCanvas:

% gem install gobject-introspection  
% git clone removed\_email\_address@domain.invalid:ruby-gnome2/ruby-gnome2.git  
% cd ruby-gnome2/goocanvas  
% vim sample/xxx.rb  
require “goocanvas-gi”

# Port a sample

% ruby -I sample sample/xxx.rb

You can find samples for GooCanvas at  
[demo · master · GNOME / goocanvas · GitLab](http://git.gnome.org/browse/goocanvas/tree/demo)

And we want to use GObject Introspection for new bindings  
such as Ruby/WebKitGTK. There are the bindings but it  
doesn’t have ported samples. We need to port WebKitGTK+  
samples to create usable API. Here is work flow to start the  
work:

% gem install gobject-introspection  
% git clone removed\_email\_address@domain.invalid:ruby-gnome2/ruby-gnome2.git  
% cd ruby-gnome2/webkit-gtk  
% vim sample/xxx.rb  
require “webkit-gtk”  
WebKitGtk.init

# Port a sample

% ruby -I sample sample/xxx.rb

We are happy that you send a pull request for a sample.

You may find a sample that can’t be ported well. If you find  
it, please tell us by pull request or sending an email to  
this mailing list. The sample may use a feature that is not  
implemented in Ruby/GObjectIntrospection.

== Install

% gem install gtk2  
% gem install gtk3

== Ruby-GNOME2 2.0.0: 2013-04-29

GObject Introspection based bindings on Windows support release!

=== Changes

==== NEWS

- Fixes
  - Fixed a typo. [Reported by Masafumi Y.]
  - FIxed a typo. [Reported by Toyo Abe]

==== Ruby/GLib2

- Improvements
  - Moved lib/gnome2-\*.rb files to lib/gnome2/ directory.
  - Supported GLib 2.34. [Reported by OBATA Akio]

==== Ruby/GdkPixbuf2

- Fixes
  - [windows] Fixed PNG can’t be handled problem.  
[ruby-gnoem2-devel-ja] [Reported by Masafumi Y.]

==== Ruby/GDK3

- Improvements
  - [windows] Removed needless Greybird theme.  
[ruby-gnome2-devel-en] [Reported by Regis d’Aubarede]
  - Added Gdk::Window#create\_cairo\_context  
[ruby-gnome2-devel-en] [Reported by Detlef R.]

==== Ruby/GTK3

- Improvements
  - Updated samples.  
[GitHub #140][GitHub #141][GitHub #144]  
[Patch by Simon A.]  
[GitHub #142][GitHub #143][GitHub #145][GitHub #146][GitHub #148]  
[Patch by Detlef R.]

==== Ruby/GObjectIntrospection

- Improvements
  - [windows] Supported!

==== Ruby/GStreamer

- Improvements
  - Supported GStreamer 1.0!
  - Migrated to GObject Introspection bindings!
  - Dropped GStreamer 0.10 support.

==== Ruby/Clutter

- Improvements
  - [windows] Supported!

==== Ruby/ClutterGTK

- Improvements
  - [windows] Supported!

=== Thanks

- Masafumi Y.
- Toyo Abe
- OBATA Akio
- Regis d’Aubarede
- Detlef R.
- Simon A.

## Thanks,

kou

---

<div class="post-metadata">

**Author:** ![Kouhei\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f4b2a3/32.png) [@Kouhei\_S](https://www.ruby-forum.com/u/Kouhei_S)\
**Post date:** [May 1, 2013, 12:03am UTC](https://www.ruby-forum.com/t/ann-ruby-gnome2-2-0-0/228586/2 "2013-05-01T00:03:00Z")

</div>

Hello,  
All work find, with my ruiby dsl test case, on windows,  
Thank you for the job!

---

<div class="post-metadata">

**Author:** ![Kouhei\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f4b2a3/32.png) [@Kouhei\_S](https://www.ruby-forum.com/u/Kouhei_S)\
**Post date:** [May 3, 2013, 1:48pm UTC](https://www.ruby-forum.com/t/ann-ruby-gnome2-2-0-0/228586/3 "2013-05-03T13:48:38Z")

</div>

Hi,

In [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
“Re: [ruby-gnome2-devel-en] [ANN] Ruby-GNOME2 2.0.0” on Wed, 01 May  
2013 00:03:00 +0200,  
Regis d’Aubarede [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> All work find, with my ruiby dsl test case, on windows,  
> Thank you for the job!

It’s good news. 🙂  
Thanks for confirming it!

–  
kou
