diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2019-11-17 14:55:00 +0100 |
---|---|---|
committer | Daiderd Jordan <daiderd@gmail.com> | 2019-11-17 14:55:00 +0100 |
commit | 41ca86129fa18278758e177d1821351dc608d24c (patch) | |
tree | 6e93e5c6aca2142b119e46e5b9ddff11afce3926 /pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix | |
parent | 27313767b8ed680d1dcfcfc0cb87c81562bba605 (diff) | |
download | nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.tar nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.tar.gz nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.tar.bz2 nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.tar.lz nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.tar.xz nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.tar.zst nixpkgs-41ca86129fa18278758e177d1821351dc608d24c.zip |
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
Diffstat (limited to 'pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix')
-rw-r--r-- | pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 6f7caa8ec02..1df7070e7a3 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -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" # 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"; - configurePhase = "../configure release --sysroot UNUSED"; + + configurePhase = '' + ../configure release --sysroot UNUSED + ''; 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 # Also, this includes a bunch of private headers in the framework, which is not what we want |