On 11 Aug 2014 21:37, "Ludovic Courtès" <l...@gnu.org> wrote:
>
> Tom Molesworth <tetra...@gmail.com> skribis:
>
> > Since Perl uses an include path, much like the $PATH environment
variable
> > for finding executables, this seems to imply that you'd need every
module
> > added to the Perl include path (via $PERL5LIB). This would quickly
become
> > unwieldy as more modules are installed.
>
> Normally, ‘guix package --install’ and ‘guix package --search-paths’
> would suggest adding ~/.guix-profile/lib/perl/... to $PERL5LIB, which
> should solve the problem, no?

If that means there's just a single extra PERL5LIB entry rather than one
per installed module, yes - that should be fine.

The output we'd seen looked like each module ended up in a separate path,
but maybe we were misinterpreting, or a later step copies/symlinks to a
common library path.

Note that this is a separate concern to the install path not matching the
final location of the files; the provided installation path at build time
is used in some modules (XML::SAX in this case). Passing an installation
path at build time, then moving the files afterwards, is likely to cause
errors at runtime. PERL5LIB is used for loading Perl modules, but if a
module has extra data it won't necessarily read that from the same place.
This is similar to the /usr/lib and /usr/share split on some systems.

> > A second issue is that, according to perl-build-system.scm, there does
not
> > appear to be any support for CPAN distributions which use the
Module::Build
> > toolchain:
>
> Indeed, thanks for the pointers and explanations.
>
> Currently, all the Perl packages provided in Guix use MakeMaker
> apparently, so I guess we’ll implement the Module::Build method as soon
> as we stumble upon a package that needs it.  :-)

Sounds reasonable.

Thanks,

Tom

Reply via email to