summary refs log tree commit diff
path: root/pkgs/build-support/release
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/release')
-rw-r--r--pkgs/build-support/release/source-tarball.nix12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix
index 35e07589363..afaea4ca2e0 100644
--- a/pkgs/build-support/release/source-tarball.nix
+++ b/pkgs/build-support/release/source-tarball.nix
@@ -68,6 +68,18 @@ stdenv.mkDerivation (
 
       eval "$postAutoconf"
     '';
+
+    failureHook = ''
+      if test -n "$succeedOnFailure"; then
+          if test -n "$keepBuildDirectory"; then
+              KEEPBUILDDIR="$out/`basename $TMPDIR`"
+              header "Copying build directory to $KEEPBUILDDIR"
+              ensureDir $KEEPBUILDDIR
+              cp -vR $TMPDIR/* $KEEPBUILDDIR
+              stopNest
+          fi
+      fi
+    '';
   }
 
   # Then, the caller-supplied attributes.