iyzsong pushed a commit to branch qt-team
in repository guix.
commit 1913e5e7ce9beef83e9319124cc77e90932bc2b7
Author: 宋文武 <[email protected]>
AuthorDate: Tue Feb 4 14:55:36 2025 +0800
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
---
gnu/local.mk | 1 +
.../patches/qtwebengine-fix-system-libvpx.patch | 58 ++++++++++++++++++++++
gnu/packages/qt.scm | 30 ++++++-----
3 files changed, 77 insertions(+), 12 deletions(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index f13753dcfb..1fe277dafa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2139,6 +2139,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 \
diff --git a/gnu/packages/patches/qtwebengine-fix-system-libvpx.patch
b/gnu/packages/patches/qtwebengine-fix-system-libvpx.patch
new file mode 100644
index 0000000000..c102fee01e
--- /dev/null
+++ b/gnu/packages/patches/qtwebengine-fix-system-libvpx.patch
@@ -0,0 +1,58 @@
+From c4aa5cc8c87f301a7c3b208fb017468a88836d42 Mon Sep 17 00:00:00 2001
+From: Martin Negyokru <[email protected]>
+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 <[email protected]>
+Reviewed-by: Moss Heim <[email protected]>
+(cherry picked from commit 30e6fccd654e43b016637d25466b00d3897da0f9)
+Reviewed-on:
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/621129
+Reviewed-by: Qt Cherry-pick Bot <[email protected]>
+---
+
+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"]
+ }
+ }
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 1e4a551140..38df02a0e1 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3505,14 +3505,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)
@@ -3536,7 +3538,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"
@@ -3587,6 +3588,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"
@@ -3662,6 +3664,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"
@@ -3767,8 +3770,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.
@@ -3794,10 +3795,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
@@ -3814,7 +3820,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.
@@ -3907,13 +3912,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)