From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 221E21396D0 for ; Sun, 3 Sep 2017 07:00:43 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 22E65E0EA0; Sun, 3 Sep 2017 07:00:37 +0000 (UTC) Received: from blaine.gmane.org (unknown [195.159.176.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B7BA2E0E63 for ; Sun, 3 Sep 2017 07:00:36 +0000 (UTC) Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1doOtD-000294-VL for gentoo-user@lists.gentoo.org; Sun, 03 Sep 2017 09:00:15 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-user@lists.gentoo.org From: Hans de Graaff Subject: [gentoo-user] Re: Ruby - 3 versions - seriously???? Date: Sun, 3 Sep 2017 08:08:43 +0200 Message-ID: References: <7b8d7e5b-51d5-2bc2-e1be-e4c9e5510bda@wht.com.au> <9dfc7db0-cf95-e420-5f1d-c664ab547f2f@gmail.com> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@blaine.gmane.org User-Agent: Pan/0.141 (Tarzan's Death; 168b179 git.gnome.org/pan2) X-Archives-Salt: 7a5175ad-4807-4a56-9642-27c91e0e7bc6 X-Archives-Hash: d9c87e69713b16093ab534c46bb8e116 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