diff options
author | ajs124 <git@ajs124.de> | 2023-04-03 12:36:38 +0200 |
---|---|---|
committer | ajs124 <git@ajs124.de> | 2023-04-03 12:40:35 +0200 |
commit | b7cb74322c663479e5b2382bd88978a5e61b59a1 (patch) | |
tree | ee79efacae753a26a4b545d80501c75b03491d5f | |
parent | 9554582b341104529ffc8baaaa8955635636420e (diff) |
fetchhg: allow specifying (sri) hash
-rw-r--r-- | pkgs/build-support/fetchhg/default.nix | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix index b3c28fb0e2649..a5817f2c3050f 100644 --- a/pkgs/build-support/fetchhg/default.nix +++ b/pkgs/build-support/fetchhg/default.nix @@ -4,11 +4,14 @@ , rev ? null , md5 ? null , sha256 ? null +, hash ? null , fetchSubrepos ? false , preferLocalBuild ? true }: if md5 != null then - throw "fetchhg does not support md5 anymore, please use sha256" + throw "fetchhg does not support md5 anymore, please use sha256 or hash" +else if hash != null && sha256 != null then + throw "Only one of sha256 or hash can be set" else # TODO: statically check if mercurial as the https support if the url starts woth https. stdenvNoCC.mkDerivation { @@ -20,9 +23,14 @@ stdenvNoCC.mkDerivation { subrepoClause = lib.optionalString fetchSubrepos "S"; - outputHashAlgo = "sha256"; + outputHashAlgo = if hash != null then null else "sha256"; outputHashMode = "recursive"; - outputHash = sha256; + outputHash = if hash != null then + hash + else if sha256 != null then + sha256 + else + lib.fakeSha256; inherit url rev; inherit preferLocalBuild; |