darwin.configd: fix build with CoreFoundation

This commit is contained in:
Randy Eckenrode 2023-11-01 20:55:47 -04:00
parent 448aed9e81
commit 080f7cc41e
No known key found for this signature in database
GPG key ID: 64C1CD4EC2A600D9

View file

@ -1,11 +1,19 @@
{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, xpc, ppp, IOKit, eap8021x, Security
{ lib, stdenv, runCommand, 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
cp ${swift-corelibs-foundation}/Library/Frameworks/CoreFoundation.framework/PrivateHeaders/* \
$out/include/CoreFoundation
'';
in
appleDerivation' stdenv {
meta.broken = stdenv.cc.nativeLibc;
nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ];
buildInputs = lib.optionals (!headersOnly) [ launchd ppp xpc IOKit eap8021x ];
buildInputs = lib.optionals (!headersOnly) [ privateHeaders launchd ppp xpc IOKit eap8021x ];
propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ];
@ -23,11 +31,6 @@ appleDerivation' stdenv {
substituteInPlace SystemConfiguration.fproj/SCNetworkReachability.c \
--replace ''$'#define\tHAVE_VPN_STATUS' ""
# Our neutered CoreFoundation doesn't have this function, but I think we'll live...
substituteInPlace SystemConfiguration.fproj/SCNetworkConnectionPrivate.c \
--replace 'CFPreferencesAppValueIsForced(serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' \
--replace 'CFPreferencesAppValueIsForced(userPrivate->serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE'
'';
dontBuild = headersOnly;