summary refs log tree commit diff
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)
downloadnixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.tar
nixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.tar.gz
nixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.tar.bz2
nixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.tar.lz
nixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.tar.xz
nixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.tar.zst
nixpkgs-463378f7ccd82e644737497b1af364fbeba48edc.zip
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 09358aa694b..ea52ca19fa6 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 ae8aabf858c..39272b99608 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