~ruther/guix-local

6e5d03fb9cc640ad77a9430dab788d0bd791db8c — Maxim Cournoyer 6 months ago e1f31b4
gnu: qtwebengine: Update to 6.9.2.

* gnu/packages/qt.scm (qtwebengine): Update to 6.9.2.
[source] <snippet>: Adjust for removed or moved and added bundled library
dependencies.
<patches>: 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
4 files changed, 66 insertions(+), 82 deletions(-)

M gnu/local.mk
A gnu/packages/patches/qtwebengine-fix-dependencies.patch
D gnu/packages/patches/qtwebengine-fix-system-libvpx.patch
M gnu/packages/qt.scm
M gnu/local.mk => gnu/local.mk +1 -1
@@ 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		\

A gnu/packages/patches/qtwebengine-fix-dependencies.patch => gnu/packages/patches/qtwebengine-fix-dependencies.patch +25 -0
@@ 0,0 1,25 @@
From 224ec4e3a9f6ed91afe36837b5ea6ec1f5098d55 Mon Sep 17 00:00:00 2001
From: Moss Heim <moss.heim@qt.io>
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",

D gnu/packages/patches/qtwebengine-fix-system-libvpx.patch => gnu/packages/patches/qtwebengine-fix-system-libvpx.patch +0 -58
@@ 1,58 0,0 @@
From c4aa5cc8c87f301a7c3b208fb017468a88836d42 Mon Sep 17 00:00:00 2001
From: Martin Negyokru <negyokru@inf.u-szeged.hu>
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 <allan.jensen@qt.io>
Reviewed-by: Moss Heim <moss.heim@qt.io>
(cherry picked from commit 30e6fccd654e43b016637d25466b00d3897da0f9)
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/621129
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---

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<VPxWorkerInterface, VPxWorkerImpl, VPxWorker,
                       VPxWorkerStatus, VPX_WORKER_STATUS_NOT_OK,
@@ -17,6 +20,7 @@
                       VPX_WORKER_STATUS_WORKING>::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"]
   }
 }
 

M gnu/packages/qt.scm => gnu/packages/qt.scm +40 -23
@@ 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)