A long-lived project that still receives updates
Ruby/GTK2 is a Ruby binding of GTK+-2.x.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
 Project Readme

Build Status Gem Version

Ruby-GNOME

Ruby-GNOME Logo Ruby bindings for GNOME

This is a set of bindings for the GNOME 2.x and 3.x libraries to use from Ruby 2.4, 2.5 and 2.6.

Installation

Install the current releases.

The gems of the Ruby-GNOME projects can be easily installed with the gem command. For example in order to install the gtk3 gem and its dependencies:

gem install gtk3

Install from GitHub master branch

You can also install these gems from GitHub master branch.

Create Gemfile like the following:

source "https://rubygems.org/"

git "https://github.com/ruby-gnome/ruby-gnome.git" do
  gem "gtk3"
end

Install these gems by Bundler:

% bundle install

Release packages

ruby-gtk2

  • Ruby/GLib2: GLib 2.12.x or later
  • Ruby/ATK: ATK 1.12.x or later
  • Ruby/Pango: Pango 1.14.x or later
  • Ruby/GdkPixbuf2: GTK+ 2.0.x or later
  • Ruby/GTK2: GTK+ 2.10.x or later
  • Ruby/GObjectIntrospection: GObject Introspection 1.32.1 or later

ruby-gtk3

  • Ruby/GLib2: GLib 2.12.x or later
  • Ruby/GIO2: GIO 2.16.x or later
  • Ruby/ATK: ATK 1.12.x or later
  • Ruby/Pango: Pango 1.14.x or later
  • Ruby/GdkPixbuf2: GTK+ 2.0.x or later
  • Ruby/GObjectIntrospection: GObject Introspection 1.32.1 or later
  • Ruby/CairoGObject: cairo-gobject 1.12.10 or later
  • Ruby/GDK3: GTK+ 3.4.2 or later
  • Ruby/GTK3: GTK+ 3.4.2 or later

ruby-gnome-all

  • ruby-gtk2 + ruby-gtk3
  • Ruby/RSVG2: librsvg 2.8.0 or later
  • Ruby/Poppler: poppler-glib 0.8.0 or later
  • Ruby/VTE: VTE 0.12.1 or later (for GTK+ 2)
  • Ruby/VTE3: VTE 0.37.0 or later (for GTK+ 3)
  • Ruby/GStreamer: GStreamer 1.0.0 or later
  • Ruby/GtkSourceView2: GtkSourceView 2.0.0 or later
  • Ruby/GtkSourceView3: GtkSourceView 3.4.2 or later
  • Ruby/GtkSourceView4: GtkSourceView 4.0.0 or later
  • Ruby/Clutter: Clutter 1.12.0 or later
  • Ruby/ClutterGTK: Clutter-GTK 1.2.0 or later
  • Ruby/ClutterGStreamer:Clutter-GStreamer 2.0.0 or later
  • Ruby/WebKitGTK: WebKitGTK+ 1.8.1 or later (for GTK+ 3)
  • Ruby/WebKitGTK2: WebKitGTK+ 1.8.1 or later (for GTK+ 2)
  • Ruby/WebKit2GTK: WebKitGTK+ 2.0.0 or later (for GTK+ 3)

Experimental / Incomplete:

  • Ruby/GSF: GSF 1.14.0 or later
  • Ruby/GOffice: GOffice 0.10 or later
  • Ruby/Gnumeric: Gnumeric 1.12 or later

Advanced Installation

% ruby extconf.rb
% make
% sudo make install

To compile and install a particular sub-binding, you can add arguments:

% ruby extconf.rb [subdir]...
e.g.) ruby extconf.rb glib2 pango atk gdk_pixbuf2 gtk2

Or you can compile each sub-binding:

% cd <each sub-directory>
% ruby extconf.rb
% make
% sudo make install

extconf.rb options

  • --ruby

    • ruby directory
  • --topsrcdir

    • top source directory
  • --topdir

    • top directory
  • --strict

    • if some libraries fail to compile/install, "make" command returns 1(exit 1)

Bugs

Please report bugs either in our bug tracker

or on the ruby-gnome2-devel-en / ruby-gnome2-devel-ja mailing list

Copying

Copyright (c) 2002-2019 Ruby-GNOME Project Team

This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.

Exceptions

Some GTK+ 3 examples are licensed under GNU Free Documentation License 1.3 or any later version later; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

Because they are based on scripts in PyGObject-Tutorial. PyGObject-Tutorial is licensed under GFDL 1.3.

See gtk3/examples/ directory for details.

Project Website

https://ruby-gnome2.osdn.jp/