as requested:

- moved function into strings.nix
- renamed function from makePerl5Lib
- removed duplicates entries in the resulting value
- rewrote the function from scratch after learning a few things (much cleaner now)
This commit is contained in:
Aaron Andersen
2018-08-21 20:11:28 +02:00
committed by Profpatsch
parent d5003f5f73
commit 74d446176e
3 changed files with 17 additions and 9 deletions
+16
View File
@@ -126,6 +126,22 @@ rec {
*/
makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl";
/* 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:
let
recurse = dep:
[ dep ] ++ dep.propagatedBuildInputs ++ (map (arg: recurse arg) dep.propagatedBuildInputs)
;
in
makePerlPath (lib.unique (lib.flatten (map (arg: recurse arg) deps)))
;
/* Depending on the boolean `cond', return either the given string
or the empty string. Useful to concatenate against a bigger string.