From a28b4445a4eb8108dfc028083d3939d5f3a42685 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 23 Oct 2012 18:04:00 +0200 Subject: nix-prefetch-url: Improve option handling --- scripts/nix-prefetch-url.in | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/nix-prefetch-url.in b/scripts/nix-prefetch-url.in index 64102e8ae84a..bcd9197bcff1 100755 --- a/scripts/nix-prefetch-url.in +++ b/scripts/nix-prefetch-url.in @@ -8,11 +8,28 @@ use Nix::Store; use Nix::Config; use Nix::Utils; -my $url = shift; -my $expHash = shift; -my $hashType = $ENV{'NIX_HASH_ALGO'} || "sha256"; +my $hashType = $ENV{'NIX_HASH_ALGO'} || "sha256"; # obsolete my $cacheDir = $ENV{'NIX_DOWNLOAD_CACHE'}; +my @args; +my $arg; +while ($arg = shift) { + if ($arg eq "--help") { + exec "man nix-prefetch-url" or die; + } elsif ($arg eq "--type") { + $hashType = shift; + die "$0: `$arg' requires an argument\n" unless defined $hashType; + } elsif (substr($arg, 0, 1) eq "-") { + die "$0: unknown flag `$arg'\n"; + } else { + push @args, $arg; + } +} + +my $url = $args[0]; +my $expHash = $args[1]; + + if (!defined $url || $url eq "") { print STDERR <