[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/2] native-search-paths for GHC
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH 0/2] native-search-paths for GHC |
Date: |
Thu, 08 Oct 2015 14:00:47 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Eric Bavier <address@hidden> skribis:
> On 2015-10-07 11:07, Federico Beffa wrote:
[...]
>> * If I understand correctly, the configuration files of dependencies
>> are
>> copied in a unique directory for each package. Instead of copying
>> would a symlink work? (There are literally thousands of packages on
>> Hackage and hopefully Guix will get more of them.)
>
> I don't know if symlinking is allowed across store directories, though
> if it is, that'd be something to try.
Yes it’s allowed. That’s what ‘union-build’ (the procedure that builds
profiles) does.
>> * Some Haskell libraries have a rather large list of dependencies. For
>> this reason I can imagine that in some situations GHC_PACKAGE_PATH
>> could grow rather long.
>
> Not every package would end up with an entry in GHC_PACKAGE_PATH, only
> those that are installed, or declared inputs. Dependent libraries
> would be found when GHC examines the package databases of those
> packages.
>
>> This thought made me wonder if there is a
>> maximum length to the value of environment variables that we could
>> possibly hit.
>
> We've already pushed this quite far. E.g. the hydra package creates a
> rather sizable PER5LIB path.
Nice. :-)
AFAIK there’s no limit on the size of an environment variable’s value.
However, it’s a good idea to keep search paths small, to reduce the
number of ‘stat’ calls that have to be done before a given file is
found.
Using a symlink forest is a good way to achieve that.
Thanks,
Ludo’.