diff --git a/corepkgs/Makefile.am b/corepkgs/Makefile.am index 94d37357233b689b69140f404aea226c01b6d48c..729d15e7b191db63d06818b186dab28c4adf7311 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 29cf6720b3f1cac0e7e5ed51fbaadc1ce157ab51..8fc1c5970bc559a832935d9c487903cb38610413 100644 --- a/corepkgs/fetchurl.nix +++ b/corepkgs/fetchurl.nix @@ -5,13 +5,20 @@ with import <nix/config.nix>; 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 6d35794cafbee0a5d8f1af9d09c3aaec0e7151b8..0000000000000000000000000000000000000000 --- a/corepkgs/fetchurl.sh +++ /dev/null @@ -1,3 +0,0 @@ -echo "downloading $url into $out" - -$curl --fail --location --max-redirs 20 "$url" > "$out"