guix-devel
[Top][All Lists]
Advanced

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

Re: Subdirectories in GUIX_PACKAGE_PATH


From: Alex Kost
Subject: Re: Subdirectories in GUIX_PACKAGE_PATH
Date: Mon, 03 Jul 2017 21:15:52 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Ludovic Courtès (2017-06-30 11:35 +0200) wrote:

> Hello,
>
> Ricardo Wurmus <address@hidden> skribis:
>
>> Christopher Baines <address@hidden> writes:
>>
>>> Recently I had problems with the way GUIX_PACKAGE_PATH was working with
>>> govuk-guix [1]. Currently, I'm using a separate directory for the
>>> GUIX_PACKAGE_PATH that contains symlinks to a subset of the Guile
>>> modules necessary for the packages in the repository.
>>>
>>> I think support (whether intentional or otherwise) for this approach was
>>> removed in [2].
>>
>> Looks like this was removed in an attempt to improve performance over
>> NFS.  The “scheme-files” procedure now includes a comment:
>>
>>   ;; XXX: We don't recurse if we find a symlink.
>>
>> Would it not be better to fix this instead of adding support for special
>> syntax in GUIX_PACKAGE_PATH?
>
> Indeed, apologies for the breakage.
>
> I think the patch below fixes it.  It incurs overhead only when a
> symlink is encountered, which is reasonable I think.
>
> Chris & Alex: could you give it a try and report back?

I confirm that the patch you attached fixes this problem, thanks!

I have a (probably not related) question though: in the past, package
'location' contained an *absolute* file name for the packages from
GUIX_PACKAGE_PATH.  Now these locations are *relative* file names.  Is
this intended?

If so, this is a problem for Emacs-Guix: you see, when you try to open a
package location (for example, by pressing an according button in *Guix
Package Info* buffer), it is expanded against 'guix-directory' variable.
So if you open "gnu/packages/guile.scm" location, it works, but now if
it is your location like "my-guix-packages/foo.scm", the wrong
(non-existent) file will be opened.  Previously it worked, because that
location was absolute, like "/home/me/my-guix-packages/foo.scm".

I hope it was clear, let me know, if it's not :-)

-- 
Alex



reply via email to

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