fetchurl (and derived functions): Support SRI hashes
E.g. fetchFromGitHub { owner = "NixOS"; repo = "nix"; rev = "ad42a784690449873fccb20192bd2150da81c56d"; hash = "sha256-ZXeadXUJMXV5lSLz6TOBeL/SSOVwQ8ywxU5AFMCnbRU="; }
This commit is contained in:
parent
528a690293
commit
267c8d6b2f
1 changed files with 7 additions and 3 deletions
|
@ -49,8 +49,11 @@ in
|
||||||
# first element of `urls').
|
# first element of `urls').
|
||||||
name ? ""
|
name ? ""
|
||||||
|
|
||||||
# Different ways of specifying the hash.
|
, # SRI hash.
|
||||||
, outputHash ? ""
|
hash ? ""
|
||||||
|
|
||||||
|
, # Legacy ways of specifying the hash.
|
||||||
|
outputHash ? ""
|
||||||
, outputHashAlgo ? ""
|
, outputHashAlgo ? ""
|
||||||
, md5 ? ""
|
, md5 ? ""
|
||||||
, sha1 ? ""
|
, sha1 ? ""
|
||||||
|
@ -103,7 +106,8 @@ let
|
||||||
else throw "fetchurl requires either `url` or `urls` to be set";
|
else throw "fetchurl requires either `url` or `urls` to be set";
|
||||||
|
|
||||||
hash_ =
|
hash_ =
|
||||||
if md5 != "" then throw "fetchurl does not support md5 anymore, please use sha256 or sha512"
|
if hash != "" then { outputHashAlgo = null; outputHash = hash; }
|
||||||
|
else if md5 != "" then throw "fetchurl does not support md5 anymore, please use sha256 or sha512"
|
||||||
else if (outputHash != "" && outputHashAlgo != "") then { inherit outputHashAlgo outputHash; }
|
else if (outputHash != "" && outputHashAlgo != "") then { inherit outputHashAlgo outputHash; }
|
||||||
else if sha512 != "" then { outputHashAlgo = "sha512"; outputHash = sha512; }
|
else if sha512 != "" then { outputHashAlgo = "sha512"; outputHash = sha512; }
|
||||||
else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; }
|
else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; }
|
||||||
|
|
Loading…
Reference in a new issue