summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorEelco Dolstra2010-01-04 13:15:04 +0000
committerEelco Dolstra2010-01-04 13:15:04 +0000
commit6259721697ab6bca1fce467a64a8985009fb84f3 (patch)
treec14331839a11a4c1ac7878e59d567e27967fc88f /pkgs/stdenv
parented4447febd1a0f519884bb45c8aea132faf4a1c5 (diff)
* Linux 2.6.32 generates weirdly named gcno files.
svn path=/nixpkgs/trunk/; revision=19206
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/adapters.nix7
1 files changed, 6 insertions, 1 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 88193714f61b..9e02a8bd307f 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -144,12 +144,17 @@ rec {
         # Get rid of everything that isn't a gcno file or a C source
         # file.  This also includes the gcda files; we're not
         # interested in coverage resulting from the package's own test
-        # suite.
+        # suite.  Also strip the `.tmp_' prefix from gcno files.  (The
+        # Linux kernel creates these.)
         cleanupBuildDir =
           ''
             find $out/.build/ -type f -a ! \
               \( -name "*.c" -o -name "*.h" -o -name "*.gcno" \) \
               | xargs rm -f --
+
+            for i in $(find $out/.build/ -name ".tmp_*.gcno"); do 
+                mv "$i" "$(echo $i | sed s/.tmp_//)"
+            done
           '';
       } stdenv;