From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Re: Foreign packages (formerly Re: [PATCH] gnu: Add ruby-nokogiri) Date: Sun, 21 Feb 2016 13:02:31 +0100 Message-ID: <20160221120231.GA29139@thebird.nl> References: <20150713130956.GC28969@thebird.nl> <877fq4i41n.fsf@elephly.net> <20150714090613.GA1523@thebird.nl> <20160217223708.GA7805@thebird.nl> <56C4FCB6.2080108@uq.edu.au> <20160218062534.GA9060@thebird.nl> <87io1i48k5.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXSjn-0006Ur-WE for guix-devel@gnu.org; Sun, 21 Feb 2016 07:03:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXSjk-0003Nl-Pg for guix-devel@gnu.org; Sun, 21 Feb 2016 07:03:43 -0500 Received: from mail.thebird.nl ([95.154.246.10]:35176) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXSjk-0003NA-KM for guix-devel@gnu.org; Sun, 21 Feb 2016 07:03:40 -0500 Content-Disposition: inline In-Reply-To: <87io1i48k5.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: "guix-devel@gnu.org" On Sun, Feb 21, 2016 at 12:16:58PM +0100, Ricardo Wurmus wrote: > > So any Ruby interpreter 2.2.x version will share the same gems. It is= not > > necessarily a problem because the Ruby world is built around this > > assumption. But when I look at developer support and reproducibility = I > > don't like it much. You can have software running with different Ruby > > interpreters under the hood - and you won't know it. >=20 > Do they really reference different variants of Ruby in the background? Potentially: when you have a gem already installed and you update Ruby to a newer version, you can run the old gem against the newer Ruby provided it looks in the profile path for modules. > The ruby-build-system adds the =E2=80=9Cruby=E2=80=9D package only to t= he build inputs. > I don=E2=80=99t have different =E2=80=9Cruby-*=E2=80=9D packages in my = store right now (after > =E2=80=9Cguix gc=E2=80=9D), so I cannot verify this myself. I would be= interested to > know if references to the =E2=80=9Cruby=E2=80=9D package are actually r= etained when > building, say, =E2=80=9Cruby-nokogiri=E2=80=9D. Ruby is an input in the build system, right? After that... > I haven=E2=80=99t thought enough about this to have an opinion about th= is. > Generally, though, I dislike to use environment variables to point the > interpreter to a prefix where all libraries can be found. I think that > it=E2=80=99s up to the libraries themselves to find their dependencies = (like > it=E2=80=99s done with RUNPATH). You are right. The same holds for Guile, python, perl, R and Ruby at this point.=20 I think it would be OK to have a profile for every Ruby with libs. The main problem here is that ruby interpreters can get mixed in with existing (installed) modules. I think Dave has pointed this out in the past.=20 Pj.