diff options
-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; |