~ruther/guix-local

0ccf1faf7fba7cbe917eedffdcb9c7b7d5ef6720 — 宋文武 1 year, 4 months ago d53fc86
gnu: qtwebengine: Update to 6.8.2.

* gnu/packages/patches/qtwebengine-fix-system-libvpx.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qtwebengine): Update to 6.8.2.
[source]: Add patch.  Adjust snippet. Add 'link_pulseaudio=true' to gnArgArg.
[inputs]: Replace ffmpeg-4 with ffmpeg.
[native-inputs]: Use clang-18 and lld-as-ld-wrapper-18.
[arguments]: Remove unused 'QT_FEATURE_system_ffmpeg' from configure-flags.

Change-Id: I3dc02e279bfcd6f31e41c30a6706800f8e866904
3 files changed, 77 insertions(+), 12 deletions(-)

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

A gnu/packages/patches/qtwebengine-fix-system-libvpx.patch => gnu/packages/patches/qtwebengine-fix-system-libvpx.patch +58 -0
@@ 0,0 1,58 @@
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 +18 -12
@@ 3576,14 3576,16 @@ and binaries removed, and adds modular support for using system libraries.")
(define-public qtwebengine
  (package
    (name "qtwebengine")
    (version "6.7.2")
    (version "6.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (qt-url name version))
       (sha256
        (base32
         "1lgz0mj9lw4ii1c8nkbr0ll02xzx8i6n7wvvn21f72sdb5smhxf7"))
         "00j8wlz6fbg4ivkc6w7dbc67835hv7w74sfrshdb75y12rzri5gz"))
       (patches
        (search-patches "qtwebengine-fix-system-libvpx.patch"))
       (modules '((ice-9 ftw)
                  (ice-9 match)
                  (srfi srfi-1)


@@ 3607,7 3609,6 @@ and binaries removed, and adds modular support for using system libraries.")
                    "base/third_party/nspr"
                    "base/third_party/superfasthash"
                    "base/third_party/symbolize"
                    "base/third_party/xdg_mime"
                    "base/third_party/xdg_user_dirs"
                    "net/third_party/mozilla_security_manager"
                    "net/third_party/nss"


@@ 3658,6 3659,7 @@ additional_readme_paths.json"
                    "third_party/devtools-frontend/src/front_end/third_party/chromium"
                    "third_party/devtools-frontend/src/front_end/third_party/codemirror"
                    "third_party/devtools-frontend/src/front_end/third_party/codemirror.next"
                    "third_party/devtools-frontend/src/front_end/third_party/csp_evaluator"
                    "third_party/devtools-frontend/src/front_end/third_party/diff"
                    "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat"
                    "third_party/devtools-frontend/src/front_end/third_party/lighthouse"


@@ 3733,6 3735,7 @@ vscode.web-custom-data"
                    "third_party/libxml"
                    "third_party/libyuv"
                    "third_party/libzip" ;BSD-3
                    "third_party/lit"
                    "third_party/lottie"
                    "third_party/lss"
                    "third_party/mako"


@@ 3838,8 3841,6 @@ vscode.web-custom-data"
                    "v8/third_party/v8/builtins")))

             (with-directory-excursion "src/3rdparty"
               (delete-file-recursively "ninja")

               (with-directory-excursion "chromium"
                 ;; Delete bundled software and binaries that were not
                 ;; explicitly preserved above.


@@ 3865,10 3866,15 @@ linux/libcurl_wrapper.h"
                     "third_party/analytics/google-analytics-bundle.js"
                   (lambda (port)
                     (const #t)))))
             ;; Do not enable support for loading the Widevine DRM plugin.
             (substitute* "src/core/CMakeLists.txt"
               (("enable_widevine=true")
                "enable_widevine=false")))))))
              (substitute* "src/core/CMakeLists.txt"
                (("enable_widevine=true")
                 (string-join
                  '(;; Do not enable support for loading the Widevine DRM
                    ;; plugin.
                    "enable_widevine=false"
                    ;; Link pulseaudio directly instead of using dlopen.
                    "link_pulseaudio=true")
                  "\n"))))))))
    (build-system cmake-build-system)
    (arguments
     (list


@@ 3885,7 3891,6 @@ linux/libcurl_wrapper.h"
              ;; disable it.
              "-DQT_FEATURE_webengine_printing_and_pdf=OFF"
              "-DQT_FEATURE_webengine_pepper_plugins=OFF" ;widevine
              "-DQT_FEATURE_system_ffmpeg=ON"

              ;; The webenginedriver feature is disabled, otherwise the RUNPATH
              ;; validation phase fails.


@@ 3978,13 3983,14 @@ linux/libcurl_wrapper.h"
     (modify-inputs (package-native-inputs qtwebengine-5)
       (delete "python2" "python2-six")
       (replace "node" node-lts)
       (append clang-15
               lld-as-ld-wrapper-15
       (append clang-18
               lld-as-ld-wrapper-18
               python-wrapper
               python-beautifulsoup4
               python-html5lib)))
    (inputs
     (modify-inputs (package-inputs qtwebengine-5)
       (replace "ffmpeg" ffmpeg)
       (replace "icu4c" icu4c-75)
       (replace "re2" re2-next)
       (replace "qtmultimedia" qtmultimedia)