summary refs log tree commit diff
path: root/pkgs/build-support/fetchsvn/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/fetchsvn/default.nix')
-rw-r--r--pkgs/build-support/fetchsvn/default.nix19
1 files changed, 14 insertions, 5 deletions
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 68433d1471d..06f0ea0a3d1 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,7 +1,13 @@
-{stdenvNoCC, subversion, glibcLocales, sshSupport ? true, openssh ? null}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? ""
+{ stdenvNoCC, buildPackages
+, subversion, glibcLocales, sshSupport ? true, openssh ? null
+}:
+
+{ url, rev ? "HEAD", md5 ? "", sha256 ? ""
 , ignoreExternals ? false, ignoreKeywords ? false, name ? null
-, preferLocalBuild ? true }:
+, preferLocalBuild ? true
+}:
+
+assert sshSupport -> openssh != null;
 
 let
   repoName = with stdenvNoCC.lib;
@@ -32,13 +38,16 @@ else
 stdenvNoCC.mkDerivation {
   name = name_;
   builder = ./builder.sh;
-  nativeBuildInputs = [ subversion glibcLocales ];
+  nativeBuildInputs = [ subversion glibcLocales ]
+    ++ stdenvNoCC.lib.optional sshSupport openssh;
+
+  SVN_SSH = if sshSupport then "${buildPackages.openssh}/bin/ssh" else null;
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
   outputHash = sha256;
 
-  inherit url rev sshSupport openssh ignoreExternals ignoreKeywords;
+  inherit url rev ignoreExternals ignoreKeywords;
 
   impureEnvVars = stdenvNoCC.lib.fetchers.proxyImpureEnvVars;
   inherit preferLocalBuild;