Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

Merge pull request #282071 from wegank/qt6-qtwebengine-fix

qt6.qtwebengine: fix build on darwin

authored by Weijia Wang and committed by GitHub 11e5b67d b19afc89

+22 -9
+1 -1
pkgs/development/libraries/qt-6/default.nix
··· 164 qtwayland = callPackage ./modules/qtwayland.nix { }; 165 qtwebchannel = callPackage ./modules/qtwebchannel.nix { }; 166 qtwebengine = callPackage ./modules/qtwebengine.nix { 167 - inherit (darwin) bootstrap_cmds cctools xnu; 168 inherit (darwin.apple_sdk_11_0) libpm libunwind; 169 inherit (darwin.apple_sdk_11_0.libs) sandbox; 170 inherit (darwin.apple_sdk_11_0.frameworks)
··· 164 qtwayland = callPackage ./modules/qtwayland.nix { }; 165 qtwebchannel = callPackage ./modules/qtwebchannel.nix { }; 166 qtwebengine = callPackage ./modules/qtwebengine.nix { 167 + inherit (darwin) autoSignDarwinBinariesHook bootstrap_cmds cctools xnu; 168 inherit (darwin.apple_sdk_11_0) libpm libunwind; 169 inherit (darwin.apple_sdk_11_0.libs) sandbox; 170 inherit (darwin.apple_sdk_11_0.frameworks)
+10 -4
pkgs/development/libraries/qt-6/modules/qtwebengine.nix
··· 60 , mesa 61 , enableProprietaryCodecs ? true 62 # darwin 63 , bootstrap_cmds 64 , cctools 65 , xcbuild ··· 105 gn 106 nodejs 107 ] ++ lib.optionals stdenv.isDarwin [ 108 bootstrap_cmds 109 cctools 110 xcbuild ··· 185 "-DQT_FEATURE_pdf_xfa_gif=ON" 186 "-DQT_FEATURE_pdf_xfa_png=ON" 187 "-DQT_FEATURE_pdf_xfa_tiff=ON" 188 - "-DQT_FEATURE_webengine_system_icu=ON" 189 "-DQT_FEATURE_webengine_system_libevent=ON" 190 - "-DQT_FEATURE_webengine_system_libxml=ON" 191 "-DQT_FEATURE_webengine_system_ffmpeg=ON" 192 # android only. https://bugreports.qt.io/browse/QTBUG-100293 193 # "-DQT_FEATURE_webengine_native_spellchecker=ON" 194 "-DQT_FEATURE_webengine_sanitizer=ON" 195 "-DQT_FEATURE_webengine_kerberos=ON" 196 ] ++ lib.optionals stdenv.isLinux [ 197 "-DQT_FEATURE_webengine_webrtc_pipewire=ON" 198 ] ++ lib.optionals enableProprietaryCodecs [ 199 "-DQT_FEATURE_webengine_proprietary_codecs=ON" 200 ] ++ lib.optionals stdenv.isDarwin [ ··· 222 223 # Text rendering 224 harfbuzz 225 - icu 226 227 openssl 228 glib 229 - libxml2 230 libxslt 231 lcms2 232 ··· 240 nss 241 protobuf 242 jsoncpp 243 244 # Audio formats 245 alsa-lib
··· 60 , mesa 61 , enableProprietaryCodecs ? true 62 # darwin 63 + , autoSignDarwinBinariesHook 64 , bootstrap_cmds 65 , cctools 66 , xcbuild ··· 106 gn 107 nodejs 108 ] ++ lib.optionals stdenv.isDarwin [ 109 + autoSignDarwinBinariesHook 110 bootstrap_cmds 111 cctools 112 xcbuild ··· 187 "-DQT_FEATURE_pdf_xfa_gif=ON" 188 "-DQT_FEATURE_pdf_xfa_png=ON" 189 "-DQT_FEATURE_pdf_xfa_tiff=ON" 190 "-DQT_FEATURE_webengine_system_libevent=ON" 191 "-DQT_FEATURE_webengine_system_ffmpeg=ON" 192 # android only. https://bugreports.qt.io/browse/QTBUG-100293 193 # "-DQT_FEATURE_webengine_native_spellchecker=ON" 194 "-DQT_FEATURE_webengine_sanitizer=ON" 195 "-DQT_FEATURE_webengine_kerberos=ON" 196 ] ++ lib.optionals stdenv.isLinux [ 197 + "-DQT_FEATURE_webengine_system_libxml=ON" 198 "-DQT_FEATURE_webengine_webrtc_pipewire=ON" 199 + 200 + # Appears not to work on some platforms 201 + # https://github.com/Homebrew/homebrew-core/issues/104008 202 + "-DQT_FEATURE_webengine_system_icu=ON" 203 ] ++ lib.optionals enableProprietaryCodecs [ 204 "-DQT_FEATURE_webengine_proprietary_codecs=ON" 205 ] ++ lib.optionals stdenv.isDarwin [ ··· 227 228 # Text rendering 229 harfbuzz 230 231 openssl 232 glib 233 libxslt 234 lcms2 235 ··· 243 nss 244 protobuf 245 jsoncpp 246 + 247 + icu 248 + libxml2 249 250 # Audio formats 251 alsa-lib
+11 -4
pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch
··· 1 --- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h 2 +++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h 3 - @@ -77,7 +77,7 @@ class XSLTProcessor final : public ScriptWrappable { 4 5 void reset(); 6 7 - - static void ParseErrorFunc(void* user_data, xmlError*); 8 + static void ParseErrorFunc(void* user_data, const xmlError*); 9 static void GenericErrorFunc(void* user_data, const char* msg, ...); 10 11 // Only for libXSLT callbacks 12 --- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc 13 +++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc 14 - @@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) { 15 // It would be nice to do something with this error message. 16 } 17 18 - -void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { 19 +void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { 20 FrameConsole* console = static_cast<FrameConsole*>(user_data); 21 if (!console) 22 return;
··· 1 --- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h 2 +++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h 3 + @@ -77,7 +77,12 @@ class XSLTProcessor final : public ScriptWrappable { 4 5 void reset(); 6 7 + +#if LIBXML_VERSION >= 21200 8 + static void ParseErrorFunc(void* user_data, const xmlError*); 9 + +#else 10 + static void ParseErrorFunc(void* user_data, xmlError*); 11 + +#endif 12 + + 13 static void GenericErrorFunc(void* user_data, const char* msg, ...); 14 15 // Only for libXSLT callbacks 16 --- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc 17 +++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc 18 + @@ -66,7 +66,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) { 19 // It would be nice to do something with this error message. 20 } 21 22 + +#if LIBXML_VERSION >= 21200 23 +void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { 24 + +#else 25 + void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { 26 + +#endif 27 FrameConsole* console = static_cast<FrameConsole*>(user_data); 28 if (!console) 29 return;