diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 68481b65a145..d9dff4d8f33c 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -115,7 +115,16 @@ let qtvirtualkeyboard = callPackage ./modules/qtvirtualkeyboard.nix { }; qtwayland = callPackage ./modules/qtwayland.nix { }; qtwebchannel = callPackage ./modules/qtwebchannel.nix { }; - qtwebengine = callPackage ./modules/qtwebengine.nix { }; + qtwebengine = callPackage ./modules/qtwebengine.nix { + inherit (darwin) bootstrap_cmds cctools xnu; + 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; + }; qtwebsockets = callPackage ./modules/qtwebsockets.nix { }; qtwebview = callPackage ./modules/qtwebview.nix { inherit (darwin.apple_sdk_11_0.frameworks) WebKit; diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix index 54823fdecd1c..5b42d799accb 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix @@ -51,8 +51,6 @@ , systemd , pipewire , gn -, cups -, openbsm , runCommand , writeScriptBin , ffmpeg_4 @@ -67,6 +65,36 @@ , mesa , xkeyboard_config , enableProprietaryCodecs ? true + # darwin +, clang_14 +, bootstrap_cmds +, cctools +, xcbuild +, AGL +, AVFoundation +, Accelerate +, Cocoa +, CoreLocation +, CoreML +, ForceFeedback +, GameController +, ImageCaptureCore +, LocalAuthentication +, MediaAccessibility +, MediaPlayer +, MetalKit +, Network +, OpenDirectory +, Quartz +, ReplayKit +, SecurityInterface +, Vision +, openbsm +, libunwind +, cups +, libpm +, sandbox +, xnu }: qtModule { @@ -84,6 +112,11 @@ qtModule { which gn nodejs + ] ++ lib.optionals stdenv.isDarwin [ + clang_14 + bootstrap_cmds + cctools + xcbuild ]; doCheck = true; outputs = [ "out" "dev" ]; @@ -125,6 +158,14 @@ qtModule { substituteInPlace src/3rdparty/chromium/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc \ --replace "/usr/share/X11/xkb" "${xkeyboard_config}/share/X11/xkb" + '' + + lib.optionalString stdenv.isDarwin '' + substituteInPlace configure.cmake \ + --replace "AppleClang" "Clang" + substituteInPlace cmake/Functions.cmake \ + --replace "/usr/bin/xcrun" "${xcbuild}/bin/xcrun" + substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \ + --replace "\$sysroot/usr" "${xnu}" ''; cmakeFlags = [ @@ -149,6 +190,8 @@ qtModule { "-DQT_FEATURE_webengine_webrtc_pipewire=ON" ] ++ lib.optionals enableProprietaryCodecs [ "-DQT_FEATURE_webengine_proprietary_codecs=ON" + ] ++ lib.optionals stdenv.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.targetPlatform.darwinSdkVersion}" ]; propagatedBuildInputs = [ @@ -218,10 +261,36 @@ qtModule { libkrb5 mesa + ] ++ lib.optionals stdenv.isDarwin [ + AGL + AVFoundation + Accelerate + Cocoa + CoreLocation + CoreML + ForceFeedback + GameController + ImageCaptureCore + LocalAuthentication + MediaAccessibility + MediaPlayer + MetalKit + Network + OpenDirectory + Quartz + ReplayKit + SecurityInterface + Vision + + openbsm + libunwind ]; buildInputs = [ cups + ] ++ lib.optionals stdenv.isDarwin [ + libpm + sandbox ]; requiredSystemFeatures = [ "big-parallel" ];