From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Foreign packages (formerly Re: [PATCH] gnu: Add ruby-nokogiri) Date: Thu, 18 Feb 2016 07:25:34 +0100 Message-ID: <20160218062534.GA9060@thebird.nl> References: <20150713130956.GC28969@thebird.nl> <877fq4i41n.fsf@elephly.net> <20150714090613.GA1523@thebird.nl> <20160217223708.GA7805@thebird.nl> <56C4FCB6.2080108@uq.edu.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36887) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWI2y-0007fV-9K for guix-devel@gnu.org; Thu, 18 Feb 2016 01:26:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWI2t-0006K2-AL for guix-devel@gnu.org; Thu, 18 Feb 2016 01:26:40 -0500 Received: from mail.thebird.nl ([95.154.246.10]:57521) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWI2t-0006Jh-4y for guix-devel@gnu.org; Thu, 18 Feb 2016 01:26:35 -0500 Content-Disposition: inline In-Reply-To: <56C4FCB6.2080108@uq.edu.au> 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: Ben Woodcroft Cc: "guix-devel@gnu.org" On Thu, Feb 18, 2016 at 09:05:26AM +1000, Ben Woodcroft wrote: > On 18/02/16 08:37, Pjotr Prins wrote: > >There you go :) Share the love. > > > >http://www.nokogiri.org/tutorials/installing_nokogiri.html#gnu_guix > Excellent. However, I'm not sure that is entirely correct: > > > guix package -i ruby-nokogiri > >will install Nokogiri with tool and libraries and all its > dependencies (including a recent Ruby, libxml2 and libxslt). > > It doesn't install Ruby unless you make it > > guix package -i ruby-nokogiri ruby It does install Ruby. But it does not propagate it automatically. And maybe it is up for garbage collection - I am not sure of that right now. We have the same issue with R packages, I think. Another issue: for me the main problem with foreign modules in Guix is that they are not completely isolated in the profile. No one caught me out on that yet ~/.guix-profile/lib/ruby/2.2.0/ (in my talk I showed the path). But we symlink against major version numbers. 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. I realise this is different from what you are saying Ben, but both these problems exist in my mind. I would prefer to isolate the against the full hash in the profile - or at least Ruby version - that way there can be no mixing. E.g. ~/.guix-profile/lib/ruby/pgks1l9cl696j34v9mb35lk8x6lac3b0-ruby-2.2.4/ It does not look as nice in the profile - but who cares. Pj.