aboutsummaryrefslogtreecommitdiff
path: root/pkgs/build-support/fetchsvn
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2013-03-26 19:48:52 +0100
committeraszlig <aszlig@redmoonstudios.org>2013-03-27 00:26:55 +0100
commit463378f7ccd82e644737497b1af364fbeba48edc (patch)
tree056d5fde823e64cf5953faf230c487d357111bd0 /pkgs/build-support/fetchsvn
parentd4642465abc8afe0ac27cc23a801f42a3ff4d5aa (diff)
fetchsvn: Add ignoreExternals attribute.
There are some SVN repositories out there which don't have revision information tied to externals. By using ignoreExternals, fetchsvn won't fetch these externals anymore, so the fetch won't fail with a checksum mismatch, should there be some changes in some of those external repositories. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/build-support/fetchsvn')
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh3
-rw-r--r--pkgs/build-support/fetchsvn/default.nix4
2 files changed, 4 insertions, 3 deletions
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index 09358aa694bc..ea52ca19fa67 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -22,6 +22,7 @@ fi;
# server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic
# hash of the output matters.
-echo 'p' | svn export -r "$rev" "$url" $out
+echo 'p' | svn export ${ignoreExternals:+--ignore-externals} \
+ -r "$rev" "$url" "$out"
stopNest
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index ae8aabf858cd..39272b996082 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,5 +1,5 @@
{stdenv, subversion, sshSupport ? false, openssh ? null}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? ""}:
+{url, rev ? "HEAD", md5 ? "", sha256 ? "", ignoreExternals ? false}:
let
repoName = with stdenv.lib;
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
outputHashMode = "recursive";
outputHash = if sha256 == "" then md5 else sha256;
- inherit url rev sshSupport openssh;
+ inherit url rev sshSupport openssh ignoreExternals;
impureEnvVars = [
# We borrow these environment variables from the caller to allow