guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Foreign packages (formerly Re: [PATCH] gnu: Add ruby-nokogiri)


From: Pjotr Prins
Subject: Foreign packages (formerly Re: [PATCH] gnu: Add ruby-nokogiri)
Date: Thu, 18 Feb 2016 07:25:34 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]