diff --git a/corepkgs/Makefile.am b/corepkgs/Makefile.am index 94d3735723..729d15e7b1 100644 --- a/corepkgs/Makefile.am +++ b/corepkgs/Makefile.am @@ -1,6 +1,6 @@ all-local: config.nix -files = nar.nix buildenv.nix buildenv.pl unpack-channel.nix unpack-channel.sh derivation.nix fetchurl.nix fetchurl.sh +files = nar.nix buildenv.nix buildenv.pl unpack-channel.nix unpack-channel.sh derivation.nix fetchurl.nix install-exec-local: $(INSTALL) -d $(DESTDIR)$(datadir)/nix/corepkgs diff --git a/corepkgs/fetchurl.nix b/corepkgs/fetchurl.nix index 29cf6720b3..8fc1c5970b 100644 --- a/corepkgs/fetchurl.nix +++ b/corepkgs/fetchurl.nix @@ -5,13 +5,20 @@ with import ; assert (outputHash != "" && outputHashAlgo != "") || md5 != "" || sha1 != "" || sha256 != ""; +let + + builder = builtins.toFile "fetchurl.sh" + '' + echo "downloading $url into $out" + ${curl} --fail --location --max-redirs 20 "$url" > "$out" + ''; + +in + derivation { name = baseNameOf (toString url); builder = shell; - args = [ "-e" ./fetchurl.sh ]; - - # Compatibility with Nix <= 0.7. - id = md5; + args = [ "-e" builder ]; # New-style output content requirements. outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else @@ -19,7 +26,7 @@ derivation { outputHash = if outputHash != "" then outputHash else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; - inherit system url curl; + inherit system url; # No need to double the amount of network traffic preferLocalBuild = true; diff --git a/corepkgs/fetchurl.sh b/corepkgs/fetchurl.sh deleted file mode 100644 index 6d35794caf..0000000000 --- a/corepkgs/fetchurl.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "downloading $url into $out" - -$curl --fail --location --max-redirs 20 "$url" > "$out"