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.
This commit is contained in:
parent
4ccba8b26d
commit
a6d4a0c53c
@ -31,12 +31,8 @@ stdenv.mkDerivation rec {
|
|||||||
in ''
|
in ''
|
||||||
echo "Don't derive our xnu version using uname -r."
|
echo "Don't derive our xnu version using uname -r."
|
||||||
substituteInPlace configure --replace "uname -r" "echo ${OSRELEASE}"
|
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..."
|
echo "getting rid of the \`-arch' GCC option..."
|
||||||
find -name Makefile\* -exec \
|
find -name Makefile\* -exec \
|
||||||
sed -i {} -e's/DARWIN\(.*\)-arch [^ ]\+/DARWIN\1/g' \;
|
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"
|
echo "substitute hardcoded /usr/bin/ld with ${cctools}/bin/ld"
|
||||||
substituteInPlace coregrind/link_tool_exe_darwin.in \
|
substituteInPlace coregrind/link_tool_exe_darwin.in \
|
||||||
--replace /usr/bin/ld ${cctools}/bin/ld
|
--replace /usr/bin/ld ${cctools}/bin/ld
|
||||||
'';
|
'');
|
||||||
|
|
||||||
|
# To prevent rebuild on linux when moving darwin's postPatch fixes to preConfigure
|
||||||
|
postPatch = "";
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
stdenv.lib.optional (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin") "--enable-only64bit";
|
stdenv.lib.optional (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin") "--enable-only64bit";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user