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').
|
||||
name ? ""
|
||||
|
||||
# Different ways of specifying the hash.
|
||||
, outputHash ? ""
|
||||
, # SRI hash.
|
||||
hash ? ""
|
||||
|
||||
, # Legacy ways of specifying the hash.
|
||||
outputHash ? ""
|
||||
, outputHashAlgo ? ""
|
||||
, md5 ? ""
|
||||
, sha1 ? ""
|
||||
|
@ -103,7 +106,8 @@ let
|
|||
else throw "fetchurl requires either `url` or `urls` to be set";
|
||||
|
||||
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 sha512 != "" then { outputHashAlgo = "sha512"; outputHash = sha512; }
|
||||
else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; }
|
||||
|
|
Loading…
Reference in a new issue