summary refs log tree commit diff
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-11-01 08:01:17 -0400
committerGitHub <noreply@github.com>2023-11-01 08:01:17 -0400
commit53a128364c4ed351976f67aae3518940a044c287 (patch)
tree045d59d10956bdea6d4123b6dd0620937d883968
parent4a533d29ce8fa4759d9aa43e9cd0a128f0e94767 (diff)
parent3f3a594249877179c5395ac74d4625a5f0c23e4c (diff)
downloadnixpkgs-53a128364c4ed351976f67aae3518940a044c287.tar
nixpkgs-53a128364c4ed351976f67aae3518940a044c287.tar.gz
nixpkgs-53a128364c4ed351976f67aae3518940a044c287.tar.bz2
nixpkgs-53a128364c4ed351976f67aae3518940a044c287.tar.lz
nixpkgs-53a128364c4ed351976f67aae3518940a044c287.tar.xz
nixpkgs-53a128364c4ed351976f67aae3518940a044c287.tar.zst
nixpkgs-53a128364c4ed351976f67aae3518940a044c287.zip
Merge pull request #264497 from reckenrode/qtwebengine-fix
-rw-r--r--pkgs/development/libraries/qt-6/default.nix8
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtwebengine.nix2
-rw-r--r--pkgs/stdenv/adapters.nix23
3 files changed, 29 insertions, 4 deletions
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix
index 6629f618a2e..987e31b9ed5 100644
--- a/pkgs/development/libraries/qt-6/default.nix
+++ b/pkgs/development/libraries/qt-6/default.nix
@@ -9,6 +9,7 @@
 , gst_all_1
 , libglvnd
 , darwin
+, overrideSDK
 , buildPackages
 , python3
 
@@ -141,13 +142,18 @@ let
       qtwebchannel = callPackage ./modules/qtwebchannel.nix { };
       qtwebengine = callPackage ./modules/qtwebengine.nix {
         inherit (darwin) bootstrap_cmds cctools xnu;
-        inherit (darwin.apple_sdk_11_0) libpm libunwind llvmPackages_14;
+        inherit (darwin.apple_sdk_11_0) libpm libunwind;
         inherit (darwin.apple_sdk_11_0.libs) sandbox;
         inherit (darwin.apple_sdk_11_0.frameworks)
           AGL AVFoundation Accelerate Cocoa CoreLocation CoreML ForceFeedback
           GameController ImageCaptureCore LocalAuthentication
           MediaAccessibility MediaPlayer MetalKit Network OpenDirectory Quartz
           ReplayKit SecurityInterface Vision;
+        qtModule = qtModule.override {
+          stdenv = if stdenv.isDarwin
+            then overrideSDK stdenv { darwinMinVersion = "10.13"; darwinSdkVersion = "11.0"; }
+            else stdenv;
+        };
         xcbuild = buildPackages.xcbuild.override {
           productBuildVer = "20A2408";
         };
diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
index 8670fba6bb2..4b4172897e0 100644
--- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
@@ -60,7 +60,6 @@
 , mesa
 , enableProprietaryCodecs ? true
   # darwin
-, llvmPackages_14
 , bootstrap_cmds
 , cctools
 , xcbuild
@@ -106,7 +105,6 @@ qtModule {
     gn
     nodejs
   ] ++ lib.optionals stdenv.isDarwin [
-    llvmPackages_14.clang
     bootstrap_cmds
     cctools
     xcbuild
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index a7985b474ed..dd3dcfd6f3a 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -323,8 +323,27 @@ rec {
           then sdk.frameworks."${framework}"
           else replacePropagatedFrameworks pkg;
 
+      mapRuntimeToSDK = pkg:
+        # Only remap xcbuild for now, which exports the SDK used to build it.
+        if pkg != null && lib.getName pkg == "xcodebuild"
+          then pkg.override { stdenv = overrideSDK stdenv { inherit darwinMinVersion darwinSdkVersion; }; }
+          else pkg;
+
       mapInputsToSDK = inputs: args:
-        lib.genAttrs inputs (input: map mapPackageToSDK (args."${input}" or [ ]));
+        let
+          runsAtBuild = lib.flip lib.elem [
+            "depsBuildBuild"
+            "depsBuildBuildPropagated"
+            "nativeBuildInputs"
+            "propagatedNativeBuildInputs"
+            "depsBuildTarget"
+            "depsBuildTargetPropagated"
+          ];
+          atBuildInputs = lib.filter runsAtBuild inputs;
+          atRuntimeInputs = lib.subtractLists atBuildInputs inputs;
+        in
+        lib.genAttrs atRuntimeInputs (input: map mapPackageToSDK (args."${input}" or [ ]))
+        // lib.genAttrs atBuildInputs (input: map mapRuntimeToSDK (args."${input}" or [ ]));
 
       mkCC = cc: cc.override {
         bintools = cc.bintools.override { libc = sdk.Libsystem; };
@@ -343,6 +362,8 @@ rec {
       extraBuildInputs = [sdk.frameworks.CoreFoundation ];
       mkDerivationFromStdenv = extendMkDerivationArgs old (mapInputsToSDK [
         "buildInputs"
+        "nativeBuildInputs"
+        "propagatedNativeBuildInputs"
       ]);
     });
 }