[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some documentation
From: |
Mark H Weaver |
Subject: |
Re: Some documentation |
Date: |
Mon, 27 Oct 2014 00:48:31 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Hi Pjotr,
Pjotr Prins <address@hidden> writes:
> I am documenting my GNU Guix journey here:
>
> https://github.com/pjotrp/guix-notes
This is a great start, thanks for writing this up! :)
I have a few comments. In your HACKING file, you mentioned this as an
alternative to "guix package -i ruby":
guix package -i $(guix build ruby)
Passing a raw directory name to "guix package -i", while occasionally
useful, is inferior in many ways. I've forgotten the detailed effects,
but the main problem is that Guix doesn't really know what package it
is, it just blindly merges that directory into your profile, so things
like upgrades, propagated inputs, and search-path advisories aren't
handled correctly.
Also, in your RUBY file, you wrote:
> The libraries that come with Ruby are also symlinked via
> ~/.guix-profile/lib/ruby/2.1.0/. The numbering does not matter too
> much since it points to an immutable (read-only) directory in
>
> ~/.guix-profile/lib ->
> /gnu/store/ziy7a6zib846426kprc7fgimggh8bz97-ruby-2.1.3/lib
>
> (FIXME: the symlink should be at lib/ruby level)
When a profile is built, the symlinks are always placed as close to the
root as possible. In the case above, your ruby package must have been
the only thing in your profile that had a top-level 'lib' directory. If
you later install another package that contains 'lib', you'll find that
the newly-built profile will create 'lib' as a directory and move the
symlinks further down.
Mark