mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 14:06:16 +02:00
parent
2c1ecf8e81
commit
5904262640
1 changed files with 13 additions and 8 deletions
|
@ -157,17 +157,22 @@ foreach my $expr (@exprs) {
|
||||||
|
|
||||||
# Instantiate.
|
# Instantiate.
|
||||||
my @drvPaths;
|
my @drvPaths;
|
||||||
# !!! would prefer the perl 5.8.0 pipe open feature here.
|
if ($expr !~ /^\/.*\.drv$/) {
|
||||||
my $pid = open(DRVPATHS, "-|") || exec "$Nix::Config::binDir/nix-instantiate", "--add-root", $drvLink, "--indirect", @instArgs, $expr;
|
# !!! would prefer the perl 5.8.0 pipe open feature here.
|
||||||
while (<DRVPATHS>) {chomp; push @drvPaths, $_;}
|
my $pid = open(DRVPATHS, "-|") || exec "$Nix::Config::binDir/nix-instantiate", "--add-root", $drvLink, "--indirect", @instArgs, $expr;
|
||||||
if (!close DRVPATHS) {
|
while (<DRVPATHS>) {chomp; push @drvPaths, $_;}
|
||||||
die "nix-instantiate killed by signal " . ($? & 127) . "\n" if ($? & 127);
|
if (!close DRVPATHS) {
|
||||||
exit 1;
|
die "nix-instantiate killed by signal " . ($? & 127) . "\n" if ($? & 127);
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
push @drvPaths, $expr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($runEnv) {
|
if ($runEnv) {
|
||||||
die "$0: a single derivation is required\n" if scalar @drvPaths != 1;
|
die "$0: a single derivation is required\n" if scalar @drvPaths != 1;
|
||||||
my $drvPath = readlink $drvPaths[0] or die "cannot read symlink `$drvPaths[0]'";
|
my $drvPath = $drvPaths[0];
|
||||||
|
$drvPath = readlink $drvPath or die "cannot read symlink `$drvPath'" if -l $drvPath;
|
||||||
my $drv = derivationFromPath($drvPath);
|
my $drv = derivationFromPath($drvPath);
|
||||||
|
|
||||||
# Build or fetch all dependencies of the derivation.
|
# Build or fetch all dependencies of the derivation.
|
||||||
|
@ -235,7 +240,7 @@ foreach my $expr (@exprs) {
|
||||||
|
|
||||||
# Build.
|
# Build.
|
||||||
my @outPaths;
|
my @outPaths;
|
||||||
$pid = open(OUTPATHS, "-|") || exec "$Nix::Config::binDir/nix-store", "--add-root", $outLink, "--indirect", "-r",
|
my $pid = open(OUTPATHS, "-|") || exec "$Nix::Config::binDir/nix-store", "--add-root", $outLink, "--indirect", "-r",
|
||||||
@buildArgs, @drvPaths2;
|
@buildArgs, @drvPaths2;
|
||||||
while (<OUTPATHS>) {chomp; push @outPaths, $_;}
|
while (<OUTPATHS>) {chomp; push @outPaths, $_;}
|
||||||
if (!close OUTPATHS) {
|
if (!close OUTPATHS) {
|
||||||
|
|
Loading…
Reference in a new issue