diff options
Diffstat (limited to 'corepkgs')
-rw-r--r-- | corepkgs/fetchurl.nix | 14 | ||||
-rw-r--r-- | corepkgs/unpack-channel.nix | 4 |
2 files changed, 8 insertions, 10 deletions
diff --git a/corepkgs/fetchurl.nix b/corepkgs/fetchurl.nix index 042705b1abb0..62359433971d 100644 --- a/corepkgs/fetchurl.nix +++ b/corepkgs/fetchurl.nix @@ -1,24 +1,20 @@ { system ? builtins.currentSystem , url -, outputHash ? "" -, outputHashAlgo ? "" , md5 ? "", sha1 ? "", sha256 ? "" +, outputHash ? + if sha1 != "" then sha1 else if md5 != "" then md5 else sha256 +, outputHashAlgo ? + if sha1 != "" then "sha1" else if md5 != "" then "md5" else "sha256" , executable ? false , unpack ? false , name ? baseNameOf (toString url) }: -assert (outputHash != "" && outputHashAlgo != "") - || md5 != "" || sha1 != "" || sha256 != ""; - derivation { builder = "builtin:fetchurl"; # New-style output content requirements. - outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else - if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; - outputHash = if outputHash != "" then outputHash else - if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; + inherit outputHashAlgo outputHash; outputHashMode = if unpack || executable then "recursive" else "flat"; inherit name system url executable unpack; diff --git a/corepkgs/unpack-channel.nix b/corepkgs/unpack-channel.nix index 9445532ded03..a654db40e62a 100644 --- a/corepkgs/unpack-channel.nix +++ b/corepkgs/unpack-channel.nix @@ -15,7 +15,9 @@ let else ${bzip2} -d < $src | ${tar} xf - ${tarFlags} fi - mv * $out/$channelName + if [ * != $channelName ]; then + mv * $out/$channelName + fi if [ -n "$binaryCacheURL" ]; then mkdir $out/binary-caches echo -n "$binaryCacheURL" > $out/binary-caches/$channelName |