From adf11dcc01ed413a03597d119bae414de70b9e55 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 17 Mar 2018 13:58:41 +0100 Subject: [PATCH] darwin-frameworks: add hook for private frameworks to CoreMIDI Some parts of CoreMIDI depend on private frameworks, this enables eg. adding -framework MultitouchSupport to a build. --- pkgs/os-specific/darwin/apple-sdk/default.nix | 7 +++++++ .../darwin/apple-sdk/private-frameworks-setup-hook.sh | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 5a58410ae92..7f6f0cdd0c4 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -210,6 +210,13 @@ in rec { ]; }); + CoreMIDI = stdenv.lib.overrideDerivation super.CoreMIDI (drv: { + __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [ + "/System/Library/PrivateFrameworks/" + ]; + setupHook = ./private-frameworks-setup-hook.sh; + }); + Security = stdenv.lib.overrideDerivation super.Security (drv: { setupHook = ./security-setup-hook.sh; }); diff --git a/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh new file mode 100644 index 00000000000..fbd977f8552 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh @@ -0,0 +1,8 @@ +addPrivateFrameworks() { + flag="-F/System/Library/PrivateFrameworks" + if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then + NIX_CFLAGS_COMPILE+=" $flag" + fi +} + +addEnvHooks "$hostOffset" addPrivateFrameworks