aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcorepkgs/buildenv/builder.pl.in16
1 files changed, 15 insertions, 1 deletions
diff --git a/corepkgs/buildenv/builder.pl.in b/corepkgs/buildenv/builder.pl.in
index d6dd2f4cf..a1914f658 100755
--- a/corepkgs/buildenv/builder.pl.in
+++ b/corepkgs/buildenv/builder.pl.in
@@ -25,6 +25,7 @@ sub createLinks {
if ($srcFile =~ /\/propagated-build-inputs$/ ||
$srcFile =~ /\/nix-support$/ ||
+ $srcFile =~ /\/perllocal.pod$/ ||
$srcFile =~ /\/log$/)
{
# Do nothing.
@@ -72,13 +73,27 @@ sub createLinks {
my %done;
+sub addPkg;
sub addPkg {
my $pkgDir = shift;
return if (defined $done{$pkgDir});
$done{$pkgDir} = 1;
+ print "adding $pkgDir\n";
createLinks("$pkgDir", "$out");
+
+ my $propagatedFN = "$pkgDir/nix-support/propagated-build-inputs";
+ if (-e $propagatedFN) {
+ open PROP, "<$propagatedFN" or die;
+ my $propagated = <PROP>;
+ close PROP;
+ my @propagated = split ' ', $propagated;
+ foreach my $p (@propagated) {
+ addPkg $p;
+ }
+ }
+
}
@@ -86,7 +101,6 @@ my @args = split ' ', $ENV{"derivations"};
while (scalar @args > 0) {
my $drvPath = shift @args;
- print "adding $drvPath\n";
addPkg($drvPath);
}