diff options
Diffstat (limited to 'scripts/nix-channel.in')
-rw-r--r-- | scripts/nix-channel.in | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/scripts/nix-channel.in b/scripts/nix-channel.in index 84fa72e359e5..42e715605d69 100644 --- a/scripts/nix-channel.in +++ b/scripts/nix-channel.in @@ -81,17 +81,14 @@ sub update { # expressions. my $nixExpr = "["; - foreach my $url (@channels) { my $fullURL = "$url/nixexprs.tar.bz2"; - my $hash = `@bindir@/nix-prefetch-url '$fullURL' 2> /dev/null` - or die "cannot fetch `$fullURL'"; - chomp $hash; - # !!! escaping - $nixExpr .= "((import @datadir@/nix/corepkgs/fetchurl) " . - "{url = $fullURL; md5 = \"$hash\"; system = \"@system@\";}) " + $ENV{"PRINT_PATH"} = 1; + my ($hash, $path) = `@bindir@/nix-prefetch-url '$fullURL' 2> /dev/null`; + die "cannot fetch `$fullURL'" if $? != 0; + chomp $path; + $nixExpr .= $path . " "; } - $nixExpr .= "]"; $nixExpr = @@ -134,6 +131,9 @@ EOF } +usageError if scalar @ARGV == 0; + + while (scalar @ARGV) { my $arg = shift @ARGV; |