diff options
Diffstat (limited to 'pkgs/top-level/perl-packages.nix')
-rw-r--r-- | pkgs/top-level/perl-packages.nix | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 74e9e60a0f88..999aad99b42f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -30,6 +30,24 @@ let checkPhase = "./Build test"; }); + /* Construct a perl search path (such as $PERL5LIB) + + Example: + pkgs = import <nixpkgs> { } + makePerlPath [ pkgs.perlPackages.libnet ] + => "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl" + */ + makePerlPath = stdenv.lib.makeSearchPathOutput "lib" perl.libPrefix; + + /* Construct a perl search path recursively including all dependencies (such as $PERL5LIB) + + Example: + pkgs = import <nixpkgs> { } + makeFullPerlPath [ pkgs.perlPackages.CGI ] + => "/nix/store/fddivfrdc1xql02h9q500fpnqy12c74n-perl-CGI-4.38/lib/perl5/site_perl:/nix/store/8hsvdalmsxqkjg0c5ifigpf31vc4vsy2-perl-HTML-Parser-3.72/lib/perl5/site_perl:/nix/store/zhc7wh0xl8hz3y3f71nhlw1559iyvzld-perl-HTML-Tagset-3.20/lib/perl5/site_perl" + */ + makeFullPerlPath = deps: makePerlPath (stdenv.lib.misc.closePropagation deps); + ack = buildPerlPackage rec { name = "ack-2.24"; @@ -4026,8 +4044,8 @@ let sha256 = "5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1"; }; postInstall = stdenv.lib.optionalString (perl ? crossVersion) '' - mkdir -p $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI - cat > $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI.pm <<EOF + mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI + cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI.pm <<EOF package DBI; BEGIN { our \$VERSION = "$version"; @@ -4035,8 +4053,8 @@ let 1; EOF - autodir=$(echo $out/lib/perl5/site_perl/${perl.version}/*/auto/DBI) - cat > $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI/DBD.pm <<EOF + autodir=$(echo $out/${perl.libPrefix}/${perl.version}/*/auto/DBI) + cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI/DBD.pm <<EOF package DBI::DBD; use Exporter (); use vars qw (@ISA @EXPORT); @@ -9162,7 +9180,7 @@ let buildInputs = [ ModuleBuild NetDNSResolverProgrammable ]; propagatedBuildInputs = [ Error NetAddrIP NetDNS URI ]; - buildPhase = "perl Build.PL --install_base=$out --install_path=\"sbin=$out/bin\" --install_path=\"lib=$out/lib/perl5/site_perl\"; ./Build build "; + buildPhase = "perl Build.PL --install_base=$out --install_path=\"sbin=$out/bin\" --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build "; doCheck = false; # The main test performs network access meta = { @@ -16142,7 +16160,7 @@ let install_name_tool -change "$oldPath" "$newPath" "$out/bin/biblex" install_name_tool -change "$oldPath" "$newPath" "$out/bin/bibparse" install_name_tool -change "$oldPath" "$newPath" "$out/bin/dumpnames" - install_name_tool -change "$oldPath" "$newPath" "$out/lib/perl5/site_perl/${perl.version}/darwin-2level/auto/Text/BibTeX/BibTeX.bundle" + install_name_tool -change "$oldPath" "$newPath" "$out/${perl.libPrefix}/${perl.version}/darwin-2level/auto/Text/BibTeX/BibTeX.bundle" ''; meta = { description = "Interface to read and parse BibTeX files"; |