fetchsvn: support hash parameter alongside sha256

This commit is contained in:
Theodore Ni 2023-07-14 18:07:07 -07:00
parent 46f3dff227
commit 4cbdf0d1fc
No known key found for this signature in database
GPG key ID: 48B67583BDDD4474

View file

@ -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;