about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2023-07-20 17:08:53 +0200
committerGitHub <noreply@github.com>2023-07-20 17:08:53 +0200
commit081d7a5712cef58a8cc26500dece4b400080ed75 (patch)
tree7bea94ec23dcce4241a737c52b4f1aaaf7b23202 /pkgs/build-support
parent21e2e172b9dbfcf4e1995f2ca83f5b03657ba5f0 (diff)
parent4cbdf0d1fc1cde13ba9e99173ee83946a2389d81 (diff)
Merge pull request #243568 from tjni/fetchsvn
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/fetchsvn/default.nix13
1 files changed, 10 insertions, 3 deletions
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 82dececc124a3..1a5764b4f6190 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -2,7 +2,7 @@
 , subversion, glibcLocales, sshSupport ? true, openssh ? null
 }:
 
-{ url, rev ? "HEAD", md5 ? "", sha256 ? ""
+{ url, rev ? "HEAD", md5 ? "", sha256 ? "", hash ? ""
 , ignoreExternals ? false, ignoreKeywords ? false, name ? null
 , preferLocalBuild ? true
 }:
@@ -34,6 +34,8 @@ in
 
 if md5 != "" then
   throw "fetchsvn does not support md5 anymore, please use sha256"
+else if hash != "" && sha256 != "" then
+  throw "Only one of sha256 or hash can be set"
 else
 stdenvNoCC.mkDerivation {
   name = name_;
@@ -43,9 +45,14 @@ stdenvNoCC.mkDerivation {
 
   SVN_SSH = if sshSupport then "${buildPackages.openssh}/bin/ssh" else null;
 
-  outputHashAlgo = "sha256";
+  outputHashAlgo = if hash != "" then null else "sha256";
   outputHashMode = "recursive";
-  outputHash = sha256;
+  outputHash = if hash != "" then
+    hash
+  else if sha256 != "" then
+    sha256
+  else
+    lib.fakeSha256;
 
   inherit url rev ignoreExternals ignoreKeywords;