[gentoo-user] Re: Ruby - 3 versions - seriously????

2017-09-03 Thread Hans de Graaff
On Sat, 02 Sep 2017 22:57:12 +0200, Alan McKinnon wrote:

> OK, so disclaimer up front. I detest Ruby. I hate it with a passion.

Personally I find that passion is better reserved for positive things.

> You have to understand what Ruby is. It is not a language. It is 5
> languages. Like python27 and python3 are really different languages with
> much in common. The difference is the python devs have solid reasons for
> doing python3 and the transition has been mostly smooth. Each new minor
> version of ruby is a whole new language and the devs are OK with large
> breaking changes between minor version numbers.

I'm not sure this is fully fair to both ruby and python. Yes, there are 
incompatibilities between ruby versions, sometimes even large ones (1.8 
to 1.9 certainly had them), but recent versions haven't seen major 
changes and for the most part all ruby code in the gentoo repository 
works with all versions. To say that the python3 transition has been 
smooth probably doesn't do justice to the slow uptake.

> So why 3 rubys? Because they are 3 languages and you have packages that
> for whatever reason are tied to different rubys. Just pretend to
> yourself that they aren't really ruby22, ruby23 and ruby24 - they are
> php, perl and python (or whatever 3 language names you like that help
> you get past the 3 rubys! thing).

The situation with ruby really isn't different from python or perl at 
all. We also have multiple python versions in the tree just like with 
ruby. perl is not slotted but faces the same issues on each version (e.g. 
the "no . in INC path anymore" issue that made ruby 1.8 to 1.9 such a big 
deal).

> You probably need all 3. As housekeeping, you can put this in make.conf:
> RUBY_TARGETS="ruby22",
> and remove all ruby versions from world and let depclean, revdep-rebuild
> and emerge world take care of the details.

I find it very unlikely that you would *need* all three versions, unless 
you are doing ruby development and want to actively use all three. The 
RUBY_TARGETS="ruby22" advice matches the current default in the profile.

Until recently we had four different ruby versions, so we are already 
improving here. The end goal is to only have the two latest versions in 
the tree.

Hans




[gentoo-user] Re: Ruby - 3 versions - seriously????

2017-09-03 Thread Hans de Graaff
On Sat, 02 Sep 2017 21:33:31 +0800, Andrew Lowe wrote:

> Hi all,
>   I'm in the process of doing a world update and due to a failed 
compile,
> I have cause to look up through the list of stuff to compile/update.
> Imagine my surprise when I saw there were three versions of Ruby wanting
> to update:
> 
> [ebuild U  ] dev-lang/ruby-2.4.1-r4 [2.4.1-r3]
> [ebuild U  ] dev-lang/ruby-2.3.4-r4 [2.3.4-r3]
> [ebuild U  ] dev-lang/ruby-2.2.7-r4 [2.2.7-r3]

That is unusual unless you configured this yourself. Did you set 
RUBY_TARGETS in make.conf? Are you on stable or testing?

It would also be interesting to know what is pulling in these ruby 
versions.

>   I would prefer to get rid of Ruby, but, if memory serves me 
correctly,
> someone associated with the kernel decided it would be a good idea to
> use yet another language for something, obviously Python wasn't good
> enough

webkit-gtk and thin-provisioning-tools come to mind as pulling ruby for 
people that don't want it perse.

Hans