summary refs log tree commit diff
path: root/pkgs/development/tools/analysis/valgrind
diff options
context:
space:
mode:
authorJosef Kemetmueller <josef.kemetmueller@gmail.com>2017-09-12 00:53:30 +0200
committerJosef Kemetmueller <josef.kemetmueller@gmail.com>2017-09-15 14:55:38 +0200
commitc71fd768225b8db59ab60ee4b0e64c2b771d5fd7 (patch)
tree776522f097b6a15f96221d5bc6a5feb4ca8363a9 /pkgs/development/tools/analysis/valgrind
parenteed14baec3db43df7294d3b549045c7298044eb4 (diff)
downloadnixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.tar
nixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.tar.gz
nixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.tar.bz2
nixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.tar.lz
nixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.tar.xz
nixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.tar.zst
nixpkgs-c71fd768225b8db59ab60ee4b0e64c2b771d5fd7.zip
valgrind: Fix darwin build
The bzero-patch was merged upstream in
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16103, so it does no
longer apply.

Additionally - to make the build succeed on darwin systems more recent
than our nixpkgs.darwin.xnu kernel version - we need to teach the build
the version of the xnu headers we provide, instead of letting the build
figure out the actual system version using `uname -r`.
Diffstat (limited to 'pkgs/development/tools/analysis/valgrind')
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix10
-rw-r--r--pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch37
2 files changed, 9 insertions, 38 deletions
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 21dba34e884..875feea84d4 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -18,7 +18,15 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = stdenv.lib.optionals (stdenv.isDarwin) [ ./valgrind-bzero.patch ];
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin (
+    let OSRELEASE = ''
+      $(awk -F '"' '/#define OSRELEASE/{ print $2 }' \
+      <${xnu}/Library/Frameworks/Kernel.framework/Headers/libkern/version.h)'';
+    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).
diff --git a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
deleted file mode 100644
index f56a277ad71..00000000000
--- a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Index: coregrind/m_main.c
-===================================================================
---- a/coregrind/m_main.c (revision 16102)
-+++ b/coregrind/m_main.c (revision 16103)
-@@ -3489,6 +3489,10 @@
-     // skip check
-   return VG_(memset)(s,c,n);
- }
-+void __bzero(void* s, UWord n);
-+void __bzero(void* s, UWord n) {
-+    (void)VG_(memset)(s,0,n);
-+}
- void bzero(void *s, SizeT n);
- void bzero(void *s, SizeT n) {
-     VG_(memset)(s,0,n);
-@@ -4058,20 +4062,7 @@
- 
- #endif
- 
--#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
- 
--/* This might also be needed for > DARWIN_10_10, but I have no way
--   to test for that.  Hence '==' rather than '>=' in the version
--   test above. */
--void __bzero ( void* s, UWord n );
--void __bzero ( void* s, UWord n )
--{
--   (void) VG_(memset)( s, 0, n );
--}
--
--#endif
--
--
- /*--------------------------------------------------------------------*/
- /*--- end                                                          ---*/
- /*--------------------------------------------------------------------*/
-