From 914c604a0147a3de73919b26dc68f7a13b1239cb Mon Sep 17 00:00:00 2001 From: Calum MacRae Date: Sat, 27 Mar 2021 12:13:42 +0000 Subject: [PATCH 1/3] apple-sdk: fix PrivateFrameworks symlinks With the absence of these symlinks, private frameworks aren't exposed to the linker. --- pkgs/os-specific/darwin/apple-sdk/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index b88107f992c..67e9bb80da0 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -192,6 +192,20 @@ let mkdir -p $out/Library/Frameworks/ cp -r ${darwin-stubs}/System/Library/${lib.optionalString private "Private"}Frameworks/${name}.framework \ $out/Library/Frameworks + + cd $out/Library/Frameworks/${name}.framework + + versions=(./Versions/*) + if [ "''${#versions[@]}" != 1 ]; then + echo "Unable to determine current version of framework ${name}" + exit 1 + fi + current=$(basename ''${versions[0]}) + + chmod u+w -R . + ln -s "$current" Versions/Current + ln -s Versions/Current/* . + # NOTE there's no re-export checking here, this is probably wrong ''; }; From 2c82907da4492bd1dd92815ae82fe1efea6043d3 Mon Sep 17 00:00:00 2001 From: Calum MacRae Date: Sat, 27 Mar 2021 12:14:55 +0000 Subject: [PATCH 2/3] apple-sdk: generate SkyLight framework outputs --- pkgs/os-specific/darwin/apple-sdk/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 67e9bb80da0..1b60abf562b 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -326,7 +326,7 @@ in rec { "Versions/A/Frameworks/WebKitLegacy.framework/Versions/A/WebKitLegacy.tbd" ]; }); - } // lib.genAttrs [ "ContactsPersistence" "UIFoundation" "GameCenter" ] (x: tbdOnlyFramework x {}); + } // lib.genAttrs [ "ContactsPersistence" "GameCenter" "SkyLight" "UIFoundation" ] (x: tbdOnlyFramework x {}); bareFrameworks = lib.mapAttrs framework (import ./frameworks.nix { inherit frameworks libs; From 28192c446c6e6006c1446319644b8b96e11f979c Mon Sep 17 00:00:00 2001 From: Calum MacRae Date: Sat, 27 Mar 2021 12:15:35 +0000 Subject: [PATCH 3/3] spacebar: fix builds on macOS Big Sur --- pkgs/os-specific/darwin/spacebar/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/spacebar/default.nix b/pkgs/os-specific/darwin/spacebar/default.nix index 780347c60c5..8cfbaa3f9a3 100644 --- a/pkgs/os-specific/darwin/spacebar/default.nix +++ b/pkgs/os-specific/darwin/spacebar/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, Carbon, Cocoa, ScriptingBridge }: +{ lib, stdenv, fetchFromGitHub, Carbon, Cocoa, ScriptingBridge, SkyLight }: stdenv.mkDerivation rec { pname = "spacebar"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0f5ddn3sx13rwwh0nfl784160s8ml3m5593d5fz2b1996aznzrsx"; }; - buildInputs = [ Carbon Cocoa ScriptingBridge ]; + buildInputs = [ Carbon Cocoa ScriptingBridge SkyLight ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e806c6af866..87ccb52e0cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8424,7 +8424,7 @@ in spacebar = callPackage ../os-specific/darwin/spacebar { inherit (darwin.apple_sdk.frameworks) - Carbon Cocoa ScriptingBridge; + Carbon Cocoa ScriptingBridge SkyLight; }; spaceFM = callPackage ../applications/misc/spacefm { };