summary refs log tree commit diff
path: root/pkgs/development/tools/analysis/valgrind/default.nix
diff options
context:
space:
mode:
authorTor Hedin Brønner <torhedinbronner@gmail.com>2018-12-14 09:54:41 +0100
committerTor Hedin Brønner <torhedinbronner@gmail.com>2018-12-14 18:17:44 +0100
commita6d4a0c53c88bf47482b17665fe2675f4cc82bb2 (patch)
tree1a55093ed534470d942d6373c2e284066db23232 /pkgs/development/tools/analysis/valgrind/default.nix
parent4ccba8b26d97b9352098c96928e58fd9ba0d8027 (diff)
downloadnixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.tar
nixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.tar.gz
nixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.tar.bz2
nixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.tar.lz
nixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.tar.xz
nixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.tar.zst
nixpkgs-a6d4a0c53c88bf47482b17665fe2675f4cc82bb2.zip
valgrind: fix build on darwin
We fixed a race condition in #51505 and #51107. This required running
autoreconfHook to pick up the `coregrind-makefile-race.patch` patch.

Unfortunately this broke darwin's postPatch fixes as autoreconfHook would run
afterwards regenerating the fixed makefiles.

Moving the postPatch fixes to preConfigure should resolve the issue.

I left `postPatch = ""` in to avoid a rebuild on linux.
Diffstat (limited to 'pkgs/development/tools/analysis/valgrind/default.nix')
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix11
1 files changed, 5 insertions, 6 deletions
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index ca8d64f9132..d70ec0ed9ac 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -31,12 +31,8 @@ stdenv.mkDerivation rec {
     in ''
       echo "Don't derive our xnu version using uname -r."
       substituteInPlace configure --replace "uname -r" "echo ${OSRELEASE}"
-    ''
-  );
 
-  postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
-    # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
-    ''
+      # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
       echo "getting rid of the \`-arch' GCC option..."
       find -name Makefile\* -exec \
         sed -i {} -e's/DARWIN\(.*\)-arch [^ ]\+/DARWIN\1/g' \;
@@ -60,7 +56,10 @@ stdenv.mkDerivation rec {
       echo "substitute hardcoded /usr/bin/ld with ${cctools}/bin/ld"
       substituteInPlace coregrind/link_tool_exe_darwin.in \
         --replace /usr/bin/ld ${cctools}/bin/ld
-    '';
+    '');
+
+  # To prevent rebuild on linux when moving darwin's postPatch fixes to preConfigure
+  postPatch = "";
 
   configureFlags =
     stdenv.lib.optional (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin") "--enable-only64bit";