Project:Ruby

Main implementations
Right now, we include the following Ruby implementations in Gentoo.


 * ruby19 - Ruby MRI 1.9 (deprecated)
 * ruby20 - Ruby MRI 2.0
 * ruby21 - Ruby MRI 2.1
 * ruby22 - Ruby MRI 2.2 (testing)

Experimental implementations
The following implementations need an active maintainer. They are currently available in the tree, but are unsupported. Ping us, if you want to help out!


 * jruby - JRuby (based on the Java Virtual Machine)
 * rbx - Rubinius

This graph shows the current distribution of Ruby implementations in Gentoo.

Activating specific implementations
You can activate specific ruby implementations by adding  to. Please note that you might overwrite the implementations set by base profile.

You can install multiple Ruby implementations in parallel. The RUBY_TARGETS variable picks the implementations from USE_RUBY (which is set in the ebuild) and installs these.

The base profile currently activates Ruby MRI 2.0 and Ruby MRI 2.1. Our recommendation is to run Ruby packages with Ruby MRI 2.0 per default.

You can eselect it via:

Using a testing implementation on a stable system
Starting with Ruby 2.2 we are now using the stable mask mechanism to keep Ruby 2.2 on testing until it is ready to be unmasked. If you want to use ruby22 on an otherwise stable system then please see the instructions for Python for now, using ruby_targets_ruby22 for the USE flag.

Information for developers
To ease maintenance of Ruby-based packages we currently provide several eclasses:


 * Support for generic ruby packages: ruby-ng.eclass
 * Support for gem-based ruby packages: ruby-fakegem.eclass
 * Support for packages in need of a ruby target: ruby-single.eclass

Further resources:


 * Packaging RubyGems
 * Ongoing Tasks
 * Pending Bumps
 * Adding new ruby versions
 * Ruby-Overlay
 * RubyGems packages that need an update
 * Ruby 1.9 deprecation
 * Ruby 2.0 deprecation

Old and probably outdated documents

 * Ruby 1.9 migration
 * Ruby 1.8 deprecation

