darwin.configd: remove dependency on CF for private headers

This commit is contained in:
Randy Eckenrode 2024-04-14 08:56:47 -04:00
parent b7952b4729
commit 4ee4fe5fe7
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

View File

@ -1,13 +1,29 @@
{ lib, stdenv, runCommand, appleDerivation', launchd, bootstrap_cmds, swift-corelibs-foundation, xnu, xpc, ppp, IOKit, eap8021x, Security
{ lib, stdenv, stdenvNoCC, appleDerivation', launchd, bootstrap_cmds, swift-corelibs-foundation, xnu, xpc, ppp, IOKit, eap8021x, Security
, headersOnly ? false }:
let
privateHeaders = runCommand "swift-corelibs-foundation-private" { } ''
mkdir -p $out/include/CoreFoundation
# Copy the headers out of CF instead of building it to avoid an infinite recursion.
privateHeaders = stdenvNoCC.mkDerivation {
pname = "swift-corelibs-foundation-private";
inherit (swift-corelibs-foundation) version src;
cp ${swift-corelibs-foundation}/Library/Frameworks/CoreFoundation.framework/PrivateHeaders/* \
$out/include/CoreFoundation
'';
buildCommand = ''
unpackFile "$src"
mkdir -p "$out/include/CoreFoundation"
declare -a privateHeaders=(
Base.subproj/CFRuntime.h
PlugIn.subproj/CFBundlePriv.h
RunLoop.subproj/CFRunLoop.h
String.subproj/CFStringDefaultEncoding.h
)
for header in "''${privateHeaders[@]}"; do
cp source/CoreFoundation/$header $out/include/CoreFoundation
done
'';
};
in
appleDerivation' stdenv {
meta.broken = stdenv.cc.nativeLibc;