summary refs log tree commit diff
path: root/pkgs/build-support/fetchhg/default.nix
diff options
context:
space:
mode:
authorajs124 <git@ajs124.de>2023-04-03 12:36:38 +0200
committerajs124 <git@ajs124.de>2023-04-03 12:40:35 +0200
commitb7cb74322c663479e5b2382bd88978a5e61b59a1 (patch)
treeee79efacae753a26a4b545d80501c75b03491d5f /pkgs/build-support/fetchhg/default.nix
parent9554582b341104529ffc8baaaa8955635636420e (diff)
downloadnixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.tar
nixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.tar.gz
nixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.tar.bz2
nixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.tar.lz
nixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.tar.xz
nixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.tar.zst
nixpkgs-b7cb74322c663479e5b2382bd88978a5e61b59a1.zip
fetchhg: allow specifying (sri) hash
Diffstat (limited to 'pkgs/build-support/fetchhg/default.nix')
-rw-r--r--pkgs/build-support/fetchhg/default.nix14
1 files changed, 11 insertions, 3 deletions
diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix
index b3c28fb0e26..a5817f2c305 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;