diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 2610c8463b2e..a1d597adcd1d 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -164,7 +164,7 @@ let qtwayland = callPackage ./modules/qtwayland.nix { }; qtwebchannel = callPackage ./modules/qtwebchannel.nix { }; qtwebengine = callPackage ./modules/qtwebengine.nix { - inherit (darwin) bootstrap_cmds cctools xnu; + inherit (darwin) autoSignDarwinBinariesHook 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) diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix index affb512a22f2..8b9542511b72 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix @@ -60,6 +60,7 @@ , mesa , enableProprietaryCodecs ? true # darwin +, autoSignDarwinBinariesHook , bootstrap_cmds , cctools , xcbuild @@ -105,6 +106,7 @@ qtModule { gn nodejs ] ++ lib.optionals stdenv.isDarwin [ + autoSignDarwinBinariesHook bootstrap_cmds cctools xcbuild @@ -185,16 +187,19 @@ qtModule { "-DQT_FEATURE_pdf_xfa_gif=ON" "-DQT_FEATURE_pdf_xfa_png=ON" "-DQT_FEATURE_pdf_xfa_tiff=ON" - "-DQT_FEATURE_webengine_system_icu=ON" "-DQT_FEATURE_webengine_system_libevent=ON" - "-DQT_FEATURE_webengine_system_libxml=ON" "-DQT_FEATURE_webengine_system_ffmpeg=ON" # android only. https://bugreports.qt.io/browse/QTBUG-100293 # "-DQT_FEATURE_webengine_native_spellchecker=ON" "-DQT_FEATURE_webengine_sanitizer=ON" "-DQT_FEATURE_webengine_kerberos=ON" ] ++ lib.optionals stdenv.isLinux [ + "-DQT_FEATURE_webengine_system_libxml=ON" "-DQT_FEATURE_webengine_webrtc_pipewire=ON" + + # Appears not to work on some platforms + # https://github.com/Homebrew/homebrew-core/issues/104008 + "-DQT_FEATURE_webengine_system_icu=ON" ] ++ lib.optionals enableProprietaryCodecs [ "-DQT_FEATURE_webengine_proprietary_codecs=ON" ] ++ lib.optionals stdenv.isDarwin [ @@ -222,11 +227,9 @@ qtModule { # Text rendering harfbuzz - icu openssl glib - libxml2 libxslt lcms2 @@ -241,6 +244,9 @@ qtModule { protobuf jsoncpp + icu + libxml2 + # Audio formats alsa-lib pulseaudio diff --git a/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch b/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch index 1fc7d837f8f3..3c3d59b488da 100644 --- a/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch +++ b/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch @@ -1,22 +1,29 @@ --- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h +++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h -@@ -77,7 +77,7 @@ class XSLTProcessor final : public ScriptWrappable { +@@ -77,7 +77,12 @@ class XSLTProcessor final : public ScriptWrappable { void reset(); -- static void ParseErrorFunc(void* user_data, xmlError*); ++#if LIBXML_VERSION >= 21200 + static void ParseErrorFunc(void* user_data, const xmlError*); ++#else + static void ParseErrorFunc(void* user_data, xmlError*); ++#endif ++ static void GenericErrorFunc(void* user_data, const char* msg, ...); // Only for libXSLT callbacks --- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc +++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) { +@@ -66,7 +66,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) { // It would be nice to do something with this error message. } --void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { ++#if LIBXML_VERSION >= 21200 +void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { ++#else + void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { ++#endif FrameConsole* console = static_cast(user_data); if (!console) return;