|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.|
No lead election date set
(and inherited members)
|Parent Project||Gentoo Programming Language Support Project|
Information for users
Right now, we include the following Ruby implementations in Gentoo.
- ruby20 - Ruby MRI 2.0 (deprecated)
- ruby21 - Ruby MRI 2.1
- ruby22 - Ruby MRI 2.2 (testing)
- ruby23 - Ruby MRI 2.3 (testing)
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
RUBY_TARGETS="$implementation" to /etc/portage/make.conf. Please note that you might overwrite the implementations set by base profile.
# Installs packages for Ruby 2.0, Ruby 2.1, and Ruby 2.2 RUBY_TARGETS="ruby20 ruby21 ruby22"
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:
eselect ruby set ruby20
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
- Packaging RubyGems
- Ongoing Tasks
- Pending Bumps
- Adding new ruby versions
- RubyGems packages that need an update
- Ruby 1.9 deprecation
- Ruby 2.0 deprecation
Old and probably outdated documents
RecruitmentWe are currently looking for users interested in helping the project with these jobs:
|Ruby core package maintainer||Ruby 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 firstname.lastname@example.org|
|Ruby package maintainer||General 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 email@example.com|