andreas pushed a commit to branch qt-team in repository guix. commit b649eb9978d770517c61d8afbfbbf88b1d7b1d4f Author: 宋文武 <iyzs...@member.fsf.org> 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 94f8602e1c..fc9e2b062f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2158,6 +2158,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 <negyo...@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.jen...@qt.io> +Reviewed-by: Moss Heim <moss.h...@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_...@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 0ada8f1bc3..ced5f4fe5a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3520,14 +3520,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) @@ -3551,7 +3553,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" @@ -3602,6 +3603,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" @@ -3677,6 +3679,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" @@ -3782,8 +3785,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. @@ -3809,10 +3810,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 @@ -3829,7 +3835,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. @@ -3922,13 +3927,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)