From Gentoo Wiki
Jump to: navigation, search
Gentoo Ruby Project
Description The Ruby project maintains packages for Ruby implementations, libraries and development tools. This project also maintains the RubyGems package, the de facto standard for packaging Ruby projects.
IRC Channel #gentoo-ruby
Parent Project Gentoo Programming Language Support Project
Subprojects (none)
Project listing

Information for users

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

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.

You can activate these by adding RUBY_TARGETS="$implementation" to /etc/portage/make.conf. Please note that you might overwrite the implementations set by base profile.

FILE /etc/make.conf
# Installs packages for Ruby 1.9, Ruby 2.0 and Ruby 2.1
RUBY_TARGETS="ruby19 ruby20 ruby21"

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 1.9 and Ruby 2.0. Our recommendation is to run Ruby packages with Ruby MRI 2.0 per default.

You can eselect it via:

root # eselect ruby set ruby20

Information for developers

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

Further resources:

Old and probably outdated documents


We are currently looking for users interested in helping the project with these jobs:
Ruby core package maintainerRuby core package maintainer to help out with the core ruby packages (dev-lang/ruby and dev-ruby/rubygems). Revision bumping, handling security bugs, patching packages to play nice with Gentoo, following upstream to handle changes and updates in a timely manner.Experience with ruby on Linux, ideally Gentoo. Knowledge of C and ruby. Experience with patching
Ruby package maintainerGeneral ruby package maintainer to help out managing packages in the herd. Revision bumping, bug filing/fixing, updating ebuilds per eclass or syntax changes, etc. This involves a mix of gem and source based ebuilds.Experience with ruby on Linux, ideally Gentoo. Knowledge of the gem repository system and its supporting software and experience with building ruby software using setup.rb and its many