fetchurl: disallow specifying both sha256 and hash

A full check would be more complicated to write -
and more importantly - probably also more expensive.

Motivation: eval-time catch for errors like in commit 8198636be0.
This commit is contained in:
Vladimír Čunát 2022-07-26 12:45:00 +02:00
parent 59d13713c2
commit cb704bf922
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA

View file

@ -117,6 +117,9 @@ let
else throw "fetchurl requires either `url` or `urls` to be set";
hash_ =
# Many other combinations don't make sense, but this is the most common one:
if hash != "" && sha256 != "" then throw "multiple hashes passed to fetchurl" else
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; }