summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2025-02-04 14:55:36 +0800
committerZheng Junjie <z572@z572.online>2025-07-06 19:00:10 +0800
commit214fffbf1481cf5bfde01d132b6e6dd0ce5fe92b (patch)
tree85efeb4e9f7375183a9dc7481f6c05b6c368264d
parent6ddd99605cd9cb98eb126c3d326955494409a7d5 (diff)
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
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/qtwebengine-fix-system-libvpx.patch58
-rw-r--r--gnu/packages/qt.scm30
3 files changed, 77 insertions, 12 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index cc63cf58a6..9e4bbb3362 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2199,6 +2199,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 <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"]
+ }
+ }
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 02a51f7359..cdf13fd3eb 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3548,14 +3548,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)
@@ -3579,7 +3581,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"
@@ -3630,6 +3631,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"
@@ -3705,6 +3707,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"
@@ -3810,8 +3813,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.
@@ -3837,10 +3838,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
@@ -3857,7 +3863,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.
@@ -3950,13 +3955,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)