summary refs log tree commit diff
path: root/pkgs/build-support/release
diff options
context:
space:
mode:
authorRob Vermaas <rob.vermaas@gmail.com>2010-12-22 14:57:18 +0000
committerRob Vermaas <rob.vermaas@gmail.com>2010-12-22 14:57:18 +0000
commit601603809783a5600bdd467058175776f8cdf8dc (patch)
tree863b64fc542293e2b79eea8a1e1593b86a9e87e8 /pkgs/build-support/release
parentdbd638295592c393743b876272cc4235ea9a0668 (diff)
downloadnixlib-601603809783a5600bdd467058175776f8cdf8dc.tar
nixlib-601603809783a5600bdd467058175776f8cdf8dc.tar.gz
nixlib-601603809783a5600bdd467058175776f8cdf8dc.tar.bz2
nixlib-601603809783a5600bdd467058175776f8cdf8dc.tar.lz
nixlib-601603809783a5600bdd467058175776f8cdf8dc.tar.xz
nixlib-601603809783a5600bdd467058175776f8cdf8dc.tar.zst
nixlib-601603809783a5600bdd467058175776f8cdf8dc.zip
nixBuild: add failurehook that saves build dir when succeedOnFailure = true and keepBuildDirectory = true
svn path=/nixpkgs/trunk/; revision=25243
Diffstat (limited to 'pkgs/build-support/release')
-rw-r--r--pkgs/build-support/release/nix-build.nix12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix
index 3a0d3a034ef1..201fe4e799d7 100644
--- a/pkgs/build-support/release/nix-build.nix
+++ b/pkgs/build-support/release/nix-build.nix
@@ -36,6 +36,18 @@ stdenv.mkDerivation (
           cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name
         fi
       '';
+
+    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
+    '';
   }
 
   // args //