Project:Ruby/Ruby 1.9 migration

From Gentoo Wiki
Jump to:navigation Jump to:search

With ruby 1.9 considered the default implementation and with ruby 1.8 having had its last upstream release (barring security updates), we should plan to migrate to ruby 1.9 as the default ruby implementation in Gentoo as well.

Current situation

Most of the hard work is already done. We have an infrastructure to deal with multiple ruby implementations and dev-lang/ruby:1.9 is in the tree and stable.

RUBY_TARGETS defaults to "ruby18 ruby19" which means that, where available, packages are installed for both ruby 1.8 and ruby 1.9. This default was chosen because it makes it easier to introduce a stable ruby 1.9 in the tree and because it already seeds systems with the ruby 1.9 versions. Once we make the switch this means that your system should already be ready and you don't need to re-emerge a large set of packages using -N.

Switch to ruby 1.9

We hope to make this switch sometime in the fall of 2012. At this point we'll change the default of eselect-ruby to point to ruby 1.9 which means that new installations will default to ruby 1.9. Gentoo users will be encouraged to switch as well via a news item.

There is a bug tracking the switch to ruby 1.9. We also need to make sure a sufficient number of stable packages support ruby 1.9.

Testing ruby 1.9 now

The least invasive way to test ruby 1.9 now is to use it directly via one of the postfixed versions. /usr/bin/ruby19 gives you the ruby 1.9 version of the interpreter, and /usr/bin/irb19 gives you an interactive shell.

You can also make ruby 1.9 the default interpreter using eselect. Use eselect ruby list to see the currently available interpreters, and eselect ruby set to select one. Please note that, while supported, this configuration has not been tested extensively yet.

Ruby 1.8 future

We intend to support the ruby 1.8 implementation at least until summer 2013, which is as long as upstream provides security support for it. After that time we will assess the current state of the tree and make further plans for deprecating and ultimately removing ruby 1.8.