From 6e5d03fb9cc640ad77a9430dab788d0bd791db8c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 4 Sep 2025 15:04:30 +0900 Subject: [PATCH] gnu: qtwebengine: Update to 6.9.2. * gnu/packages/qt.scm (qtwebengine): Update to 6.9.2. [source] : Adjust for removed or moved and added bundled library dependencies. : Remove qtwebengine-fix-system-libvpx.patch, add qtwebengine-fix-dependencies.patch. [native-inputs]: Replace clang-18 with clang-20. [inputs]: replace icu4c-75 with icu4c. Delete fp16, which is bundled. * gnu/packages/patches/qtwebengine-fix-system-libvpx.patch: Delete file. * gnu/packages/patches/qtwebengine-fix-dependencies.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. Change-Id: I31b2b3ae2a9240aaa72290cfc0467a04af18c91c --- gnu/local.mk | 2 +- .../qtwebengine-fix-dependencies.patch | 25 ++++++++ .../qtwebengine-fix-system-libvpx.patch | 58 ----------------- gnu/packages/qt.scm | 63 ++++++++++++------- 4 files changed, 66 insertions(+), 82 deletions(-) create mode 100644 gnu/packages/patches/qtwebengine-fix-dependencies.patch delete mode 100644 gnu/packages/patches/qtwebengine-fix-system-libvpx.patch diff --git a/gnu/local.mk b/gnu/local.mk index 53eae4b40cb..c89c7ff1642 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2210,7 +2210,6 @@ dist_patch_DATA = \ %D%/packages/patches/qtbase-qmake-use-libname.patch \ %D%/packages/patches/qtbase-5-use-TZDIR.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ - %D%/packages/patches/qtwebengine-fix-system-libvpx.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/quilt-grep-compat.patch \ @@ -2218,6 +2217,7 @@ dist_patch_DATA = \ %D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \ %D%/packages/patches/qtwayland-cleanup-callbacks.patch \ %D%/packages/patches/qtwayland-update-wayland-xml.patch \ + %D%/packages/patches/qtwebengine-fix-dependencies.patch \ %D%/packages/patches/qtwebsockets-6.9-fix-tst_QWebSocket.patch\ %D%/packages/patches/rabbitmq-defaults.patch \ %D%/packages/patches/ragel-char-signedness.patch \ diff --git a/gnu/packages/patches/qtwebengine-fix-dependencies.patch b/gnu/packages/patches/qtwebengine-fix-dependencies.patch new file mode 100644 index 00000000000..2a64981b505 --- /dev/null +++ b/gnu/packages/patches/qtwebengine-fix-dependencies.patch @@ -0,0 +1,25 @@ +From 224ec4e3a9f6ed91afe36837b5ea6ec1f5098d55 Mon Sep 17 00:00:00 2001 +From: Moss Heim +Date: Mon, 08 Sep 2025 15:12:59 +0200 +Subject: [PATCH] Fix deps for components/autofill/core/browser + +We were missing two generated header dependencies. + +Pick-to: 130-based +Fixes: QTBUG-139959 +Change-Id: Ie6d78a1d6f097443f238d78e29885cc76587f85b +--- + +diff --git a/src/3rdparty/chromium/components/autofill/core/browser/BUILD.gn b/src/3rdparty/chromium/components/autofill/core/browser/BUILD.gn +index 67dcc95..e0739db 100644 +--- a/src/3rdparty/chromium/components/autofill/core/browser/BUILD.gn ++++ b/src/3rdparty/chromium/components/autofill/core/browser/BUILD.gn +@@ -948,6 +948,8 @@ + public_deps = [ + "//components/autofill/core/browser/proto", + "//components/autofill/core/common", ++ "//components/resources:components_scaled_resources", ++ "//components/strings:components_strings", + "//components/autofill/core/common/mojom:mojo_types", + "//third_party/abseil-cpp:absl", + "//ui/base", diff --git a/gnu/packages/patches/qtwebengine-fix-system-libvpx.patch b/gnu/packages/patches/qtwebengine-fix-system-libvpx.patch deleted file mode 100644 index c102fee01ee..00000000000 --- a/gnu/packages/patches/qtwebengine-fix-system-libvpx.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c4aa5cc8c87f301a7c3b208fb017468a88836d42 Mon Sep 17 00:00:00 2001 -From: Martin Negyokru -Date: Fri, 17 Jan 2025 15:55:25 +0100 -Subject: [PATCH] Fix building with system libvpx - -Disable code path which depends on internal api. -According to the upstream change it is only needed -for logging. See https://crrev.com/c/chromium/src/+/5116580 - -Fixes: QTBUG-129955 -Change-Id: I5f396fcd8b22402af71a9e557f9f2f7f177a8114 -Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/617894 -Reviewed-by: Allan Sandfeld Jensen -Reviewed-by: Moss Heim -(cherry picked from commit 30e6fccd654e43b016637d25466b00d3897da0f9) -Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/621129 -Reviewed-by: Qt Cherry-pick Bot ---- - -diff --git a/src/3rdparty/chromium/media/base/libvpx_thread_wrapper.cc b/src/3rdparty/chromium/media/base/libvpx_thread_wrapper.cc -index 5566c8e..4821c0c 100644 ---- a/src/3rdparty/chromium/media/base/libvpx_thread_wrapper.cc -+++ b/src/3rdparty/chromium/media/base/libvpx_thread_wrapper.cc -@@ -5,11 +5,14 @@ - #include "media/base/libvpx_thread_wrapper.h" - - #include "media/base/codec_worker_impl.h" -+#if !BUILDFLAG(IS_QTWEBENGINE) || !defined(USE_SYSTEM_LIBVPX) - #include "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h" -+#endif - - namespace media { - - void InitLibVpxThreadWrapper() { -+#if !BUILDFLAG(IS_QTWEBENGINE) || !defined(USE_SYSTEM_LIBVPX) - const VPxWorkerInterface interface = - CodecWorkerImpl::GetCodecWorkerInterface(); - - CHECK(vpx_set_worker_interface(&interface)); -+#endif - } - - } // namespace media -diff --git a/src/3rdparty/chromium/third_party/libvpx/BUILD.gn b/src/3rdparty/chromium/third_party/libvpx/BUILD.gn -index 6aedb08..2933bf4 100644 ---- a/src/3rdparty/chromium/third_party/libvpx/BUILD.gn -+++ b/src/3rdparty/chromium/third_party/libvpx/BUILD.gn -@@ -634,6 +634,7 @@ - if (use_system_libvpx) { - pkg_config("system_libvpx") { - packages = [ "vpx" ] -+ defines = ["USE_SYSTEM_LIBVPX=true"] - } - } - diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index be17ef68edf..24bfd9fb5df 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3315,6 +3315,9 @@ using the Enchant spell-checking library.") (license license:gpl2+))) (define remove-third-party-files + ;; Unlike a simpler option like `delete-all-but', this preserves the various + ;; .gn, .gyp, etc. build files, which must be there even when the a bundled + ;; library is not used. #~(begin (define preserved-club ;; Prefix exceptions with ./ for comparison with ftw. @@ -3704,16 +3707,14 @@ and binaries removed, and adds modular support for using system libraries.") (define-public qtwebengine (package (name "qtwebengine") - (version "6.8.2") + (version "6.9.2") (source (origin (method url-fetch) (uri (qt-url name version)) (sha256 (base32 - "00j8wlz6fbg4ivkc6w7dbc67835hv7w74sfrshdb75y12rzri5gz")) - (patches - (search-patches "qtwebengine-fix-system-libvpx.patch")) + "1aq35nkgbvhlsmglnjizbkavr7kb0ymf5n3kkllrpqy2mf90gjwr")) (modules '((ice-9 ftw) (ice-9 match) (srfi srfi-1) @@ -3732,7 +3733,6 @@ and binaries removed, and adds modular support for using system libraries.") '("base/third_party/double_conversion" "base/third_party/cityhash" "base/third_party/cityhash_v103" - "base/third_party/dynamic_annotations" "base/third_party/icu" "base/third_party/nspr" "base/third_party/superfasthash" @@ -3770,6 +3770,7 @@ and binaries removed, and adds modular support for using system libraries.") "third_party/cld_3" "third_party/closure_compiler" "third_party/cpuinfo" ;BSD-2 + "third_party/crabbyavif" ;ASL2.0 "third_party/crashpad" "third_party/crashpad/crashpad/third_party/lss" "third_party/crashpad/crashpad/third_party/zlib" @@ -3798,17 +3799,24 @@ additional_readme_paths.json" "third_party/devtools-frontend/src/front_end/third_party/\ puppeteer/package/lib/esm/third_party/mitt" "third_party/devtools-frontend/src/front_end/third_party/\ +puppeteer/package/lib/esm/third_party/parsel-js" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/\ puppeteer/package/lib/esm/third_party/rxjs" "third_party/devtools-frontend/src/front_end/third_party/\ vscode.web-custom-data" "third_party/devtools-frontend/src/front_end/third_party/puppeteer-replay" "third_party/devtools-frontend/src/third_party/pyjson5" + "third_party/devtools-frontend/src/front_end/third_party/\ +third-party-web" ;Expat "third_party/devtools-frontend/src/front_end/third_party/wasmparser" - "third_party/devtools-frontend/src/third_party/typescript" + "third_party/devtools-frontend/src/front_end/third_party/\ +web-vitals" ;ASL2.0 + "third_party/devtools-frontend/src/scripts/build/typescript" "third_party/devtools-frontend/src/third_party/i18n" "third_party/distributed_point_functions" "third_party/dom_distiller_js" "third_party/emoji-segmenter" + "third_party/fast_float" ;Expat (or ASL2.0 or Boost) "third_party/fdlibm" "third_party/ffmpeg/libavcodec/avcodec.h" "third_party/ffmpeg/libavcodec/packet.h" @@ -3821,6 +3829,7 @@ vscode.web-custom-data" "third_party/ffmpeg/libavutil/opt.h" "third_party/fft2d" "third_party/flatbuffers" + "third_party/fp16" ;Expat "third_party/freetype" "third_party/gemmlowp" ;ASL2.0 "third_party/google_input_tools" ;ASL2.0 @@ -3853,7 +3862,6 @@ vscode.web-custom-data" "third_party/libsecret" ;LGPL2.1+ "third_party/libsrtp" "third_party/libsync" - "third_party/libudev" "third_party/liburlpattern" "third_party/libvpx" "third_party/libwebm" @@ -3890,7 +3898,6 @@ vscode.web-custom-data" "third_party/flac" "third_party/pdfium" "third_party/pdfium/third_party/agg23" - "third_party/pdfium/third_party/base" "third_party/pdfium/third_party/bigint" "third_party/pdfium/third_party/freetype" "third_party/pdfium/third_party/lcms" @@ -3899,15 +3906,18 @@ vscode.web-custom-data" "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType "third_party/perfetto" "third_party/perfetto/protos/third_party/chromium" + "third_party/perfetto/protos/third_party/simpleperf" ;ASL2.0 "third_party/pffft" "third_party/ply" "third_party/polymer" "third_party/private_membership" ;ASL2.0 "third_party/private-join-and-compute" ;ASL2.0 "third_party/protobuf" + "third_party/protobuf-javascript" ;BSD-3 "third_party/pthreadpool" ;BSD-2 "third_party/pyjson5" "third_party/qcms" ;Expat + "third_party/rapidhash/rapidhash.h" ;BSD-2 "third_party/re2" "third_party/rnnoise" "third_party/ruy" ;ASL2.0 @@ -3930,16 +3940,17 @@ vscode.web-custom-data" "third_party/swiftshader/third_party/SPIRV-Tools" ;ASL2.0 "third_party/tensorflow-text" ;ASL2.0 "third_party/tflite" ;ASL2.0 + "third_party/tflite_support" ;ASL2.0 "third_party/ukey2" ;ASL2.0 "third_party/usb_ids" "third_party/utf" ;Expat - "third_party/vulkan-deps/glslang" - "third_party/vulkan-deps/spirv-headers" - "third_party/vulkan-deps/spirv-tools" - "third_party/vulkan-deps/vulkan-headers" - "third_party/vulkan-deps/vulkan-loader" - "third_party/vulkan-deps/vulkan-tools" - "third_party/vulkan-deps/vulkan-validation-layers" + "third_party/glslang" + "third_party/spirv-headers" + "third_party/spirv-tools" + "third_party/vulkan-headers" + "third_party/vulkan-loader" + "third_party/vulkan-tools" + "third_party/vulkan-validation-layers" "third_party/vulkan_memory_allocator" "third_party/webgpu-cts" "third_party/webrtc" @@ -3966,7 +3977,8 @@ vscode.web-custom-data" "v8/src/third_party/valgrind" "v8/third_party/inspector_protocol" "v8/third_party/glibc/src/sysdeps/ieee754/dbl-64" - "v8/third_party/v8/builtins"))) + "v8/third_party/v8/builtins" + "v8/third_party/v8/codegen/fp16-inl.h"))) ;Expat (with-directory-excursion "src/3rdparty" (with-directory-excursion "chromium" @@ -3975,9 +3987,13 @@ vscode.web-custom-data" #$remove-third-party-files ;; Use relative header locations instead of hard coded ones. - (substitute* - "base/third_party/dynamic_annotations/dynamic_annotations.c" - (("base/third_party/valgrind") "valgrind")) + (substitute* '("v8/BUILD.gn" + "v8/src/codegen/ia32/cpu-ia32.cc" + "v8/src/codegen/x64/cpu-x64.cc") + ((".*\"src/third_party/valgrind/valgrind.h\",.*") + "") + (("#include \"src/third_party/valgrind/valgrind.h\"") + "")) (substitute* "third_party/breakpad/breakpad/src/common/\ linux/libcurl_wrapper.h" (("third_party/curl") "curl")) @@ -4002,7 +4018,8 @@ linux/libcurl_wrapper.h" "enable_widevine=false" ;; Link pulseaudio directly instead of using dlopen. "link_pulseaudio=true") - "\n")))))))) + "\n")))))) + (patches (search-patches "qtwebengine-fix-dependencies.patch")))) (build-system cmake-build-system) (arguments (list @@ -4113,7 +4130,7 @@ linux/libcurl_wrapper.h" (replace "node" node-lts) ;; Try with a newer gperf after 6.8.2. (replace "gperf" gperf-3.1) - (append clang-18 + (append clang-20 lld-as-ld-wrapper-18 python-wrapper python-beautifulsoup4 @@ -4121,10 +4138,10 @@ linux/libcurl_wrapper.h" (inputs (modify-inputs (package-inputs qtwebengine-5) (replace "ffmpeg" ffmpeg) - (replace "icu4c" icu4c-75) + (replace "icu4c" icu4c) (replace "re2" re2-next) (replace "qtmultimedia" qtmultimedia) - (append fp16 fxdiv libxkbfile xkeyboard-config))) + (append fxdiv libxkbfile xkeyboard-config))) (propagated-inputs (modify-inputs (package-propagated-inputs qtwebengine-5) (replace "qtbase" qtbase)