From c71fd768225b8db59ab60ee4b0e64c2b771d5fd7 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Tue, 12 Sep 2017 00:53:30 +0200 Subject: 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`. --- .../tools/analysis/valgrind/default.nix | 10 +++++- .../tools/analysis/valgrind/valgrind-bzero.patch | 37 ---------------------- 2 files changed, 9 insertions(+), 38 deletions(-) delete mode 100644 pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch (limited to 'pkgs/development/tools/analysis') 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 ---*/ - /*--------------------------------------------------------------------*/ - -- cgit 1.4.1