summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2019-06-17 23:09:06 +0200
committerDaiderd Jordan <daiderd@gmail.com>2019-07-03 22:20:09 +0200
commit73d9cac3776b705c8d265b0c9c2ddaf18bc48b46 (patch)
tree850bd227105a79c8d7d49c5981c4d0286ac622e5 /pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
parentc2b76fa13cf7cacc16f1040f43d379402b518149 (diff)
downloadnixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.tar
nixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.tar.gz
nixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.tar.bz2
nixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.tar.lz
nixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.tar.xz
nixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.tar.zst
nixpkgs-73d9cac3776b705c8d265b0c9c2ddaf18bc48b46.zip
darwin-frameworks: replace cf-private and move it's setup-hook
The only remaining use-case for cf-private are symbols that are not
available in the opensource build.  This generally solved the problem
because of it's setup-hook.
Diffstat (limited to 'pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh')
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
new file mode 100644
index 00000000000..66e24fe5877
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
@@ -0,0 +1,9 @@
+linkSystemCoreFoundationFramework() {
+  NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks $NIX_CFLAGS_COMPILE"
+  # gross! many symbols (such as _OBJC_CLASS_$_NSArray) are defined in system CF, but not
+  # in the opensource release
+  # if the package needs private headers, we assume they also want to link with system CF
+  NIX_LDFLAGS+=" /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"
+}
+
+preConfigureHooks+=(linkSystemCoreFoundationFramework)