darwin.CF: workaround intermittent CFRuntime.c failures
Based on testing this issue seems to only occur with clang_7, so we should be able to revert this when the default llvm versions are updated. Fixes #66811
This commit is contained in:
parent
27313767b8
commit
41ca86129f
|
@ -63,10 +63,31 @@ stdenv.mkDerivation {
|
||||||
# I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra"
|
# I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra"
|
||||||
# and this version is a version from there. No idea how accurate it is.
|
# and this version is a version from there. No idea how accurate it is.
|
||||||
LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize";
|
LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize";
|
||||||
configurePhase = "../configure release --sysroot UNUSED";
|
|
||||||
|
configurePhase = ''
|
||||||
|
../configure release --sysroot UNUSED
|
||||||
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
buildPhase = "ninja -j $NIX_BUILD_CORES";
|
|
||||||
|
# FIXME: Workaround for intermittent build failures of CFRuntime.c.
|
||||||
|
# Based on testing this issue seems to only occur with clang_7, so
|
||||||
|
# please remove this when updating the default llvm versions to 8 or
|
||||||
|
# later.
|
||||||
|
buildPhase = stdenv.lib.optionalString true ''
|
||||||
|
for i in {1..512}; do
|
||||||
|
if ninjaBuildPhase; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >&2
|
||||||
|
echo "[$i/512] retrying build, workaround for #66811" >&2
|
||||||
|
echo " With clang_7 the build of CFRuntime.c fails intermittently." >&2
|
||||||
|
echo " See https://github.com/NixOS/nixpkgs/issues/66811 for more details." >&2
|
||||||
|
echo >&2
|
||||||
|
continue
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
# TODO: their build system sorta kinda can do this, but it doesn't seem to work right now
|
# TODO: their build system sorta kinda can do this, but it doesn't seem to work right now
|
||||||
# Also, this includes a bunch of private headers in the framework, which is not what we want
|
# Also, this includes a bunch of private headers in the framework, which is not what we want
|
||||||
|
|
Loading…
Reference in a new issue