darwin.configd: remove dependency on CF for private headers

+22 -6
+22 -6
pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
··· 1 - { lib, stdenv, runCommand, appleDerivation', launchd, bootstrap_cmds, swift-corelibs-foundation, xnu, xpc, ppp, IOKit, eap8021x, Security 1 + { lib, stdenv, stdenvNoCC, appleDerivation', launchd, bootstrap_cmds, swift-corelibs-foundation, xnu, xpc, ppp, IOKit, eap8021x, Security 2 2 , headersOnly ? false }: 3 3 4 4 let 5 - privateHeaders = runCommand "swift-corelibs-foundation-private" { } '' 6 - mkdir -p $out/include/CoreFoundation 5 + # Copy the headers out of CF instead of building it to avoid an infinite recursion. 6 + privateHeaders = stdenvNoCC.mkDerivation { 7 + pname = "swift-corelibs-foundation-private"; 8 + inherit (swift-corelibs-foundation) version src; 9 + 10 + buildCommand = '' 11 + unpackFile "$src" 7 12 8 - cp ${swift-corelibs-foundation}/Library/Frameworks/CoreFoundation.framework/PrivateHeaders/* \ 9 - $out/include/CoreFoundation 10 - ''; 13 + mkdir -p "$out/include/CoreFoundation" 14 + 15 + declare -a privateHeaders=( 16 + Base.subproj/CFRuntime.h 17 + PlugIn.subproj/CFBundlePriv.h 18 + RunLoop.subproj/CFRunLoop.h 19 + String.subproj/CFStringDefaultEncoding.h 20 + ) 21 + 22 + for header in "''${privateHeaders[@]}"; do 23 + cp source/CoreFoundation/$header $out/include/CoreFoundation 24 + done 25 + ''; 26 + }; 11 27 in 12 28 appleDerivation' stdenv { 13 29 meta.broken = stdenv.cc.nativeLibc;