[Nix-dev] How are perl modules handled?

Tobias Hunger tobias.hunger at gmx.de
Mon Feb 28 21:33:13 CET 2011


On Sunday 27 February 2011 23:10:52 Marc Weber wrote:
> Have a look at buildPerlPackage.
> 
> If you have a look at both: perl-packages.nix and the builder.sh file of
> buildPerlPackage you'll notice that propagatedBuildInputs is used which
> is then written to $out/nix-support/propagated-build-inputs and
> propagated-user-env-packages ensuring that dependencies are always added
> as well.

Let's look at /nix/store/dj05q1q2kk68vjw3b5h2yw4f51nvb1wb-perl-XML-SAX-0.96.

This has a nix-support directory, containing propagated-* all with the 
following contents:
/nix/store/fhh602lvr5y5s14awxi5i1pxwqm9hssq-perl-XML-NamespaceSupport-1.09

fhh602 does not contain a nix-support directory at all! It should also be a 
perl-module, why is no such directory there?

I do not understand how that defines a link back to the perl version used to 
build XML-SAX.

> Don't miss setup-hook.sh which will make the default builder add the .pl
> files to the search path:
> pkgs/development/interpreters/perl-5.10/setup-hook.sh

Yes I noticed that. If I understand that correctly then this script causes 
lib/perl5/site_perl to be appended to PERL5_LIB.

That does contain only generic site_perl directories in .nix-profile, 
/nix/var/profiles/default and /var/run/current-system/sw. All point to 
site_perl directories. I guess that is OK. A simple test program does pick up 
the XML SAX parser, so it does work:-)

Best Regards,
Tobias




More information about the nix-dev mailing list