commit 018cc08b500ddbc96ea7cfa433c5dd9f8c45fe1c
Author: Vitaly Zaitsev <vitaly(a)easycoding.org>
Date: Wed Jul 27 16:37:58 2022 +0200
Updated to version 5.15.9.
.gitignore | 1 +
qt5-qtwebengine-freeworld.spec | 27 +++++++++++-------
...bengine-everywhere-5.15.8-libpipewire-0.3.patch | 24 ++++++++++++++++
...ngine-everywhere-src-5.15.0-no-icudtl-dat.patch | 33 ----------------------
qtwebengine-release.sh | 2 +-
qtwebengine-skia-missing-includes.patch | 15 ++++++++++
sources | 3 +-
7 files changed, 59 insertions(+), 46 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 79e3b3c..44e759a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@
/qtwebengine-everywhere-src-5.15.5.tar.xz
/qtwebengine-everywhere-src-5.15.6.tar.xz
/qtwebengine-everywhere-src-5.15.8.tar.xz
+/qtwebengine-everywhere-src-5.15.9.tar.xz
diff --git a/qt5-qtwebengine-freeworld.spec b/qt5-qtwebengine-freeworld.spec
index f52b083..8c26d06 100644
--- a/qt5-qtwebengine-freeworld.spec
+++ b/qt5-qtwebengine-freeworld.spec
@@ -13,6 +13,8 @@
%if 0%{?fedora}
# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e)
%global use_system_libvpx 1
+# For screen sharing on Wayland, currently Fedora only thing - no epel
+#global pipewire 1
%endif
%if 0%{?fedora} > 30 || 0%{?epel} > 7
# need libwebp >= 0.6.0
@@ -60,8 +62,8 @@
Summary: Qt5 - QtWebEngine components (freeworld version)
Name: qt5-qtwebengine-freeworld
-Version: 5.15.8
-Release: 5%{?dist}
+Version: 5.15.9
+Release: 1%{?dist}
%global major_minor %(echo %{version} | cut -d. -f-2)
%global major %(echo %{version} | cut -d. -f1)
@@ -79,11 +81,6 @@ Source1: qtwebengine-release.sh
# pulseaudio headers
Source20: pulseaudio-12.2-headers.tar.gz
-# quick hack to avoid checking for the nonexistent icudtl.dat and silence the
-# resulting warnings - not upstreamable as is because it removes the fallback
-# mechanism for the ICU data directory (which is not used in our builds because
-# we use the system ICU, which embeds the data statically) completely
-Patch1: qtwebengine-everywhere-src-5.15.0-no-icudtl-dat.patch
# fix extractCFlag to also look in QMAKE_CFLAGS_RELEASE, needed to detect the
# ARM flags with our %%qmake_qt5 macro, including for the next patch
Patch2: qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch
@@ -97,12 +94,14 @@ Patch5: qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch
# gcc-12 FTBFS "use of deleted function"
Patch6: chromium-angle-nullptr.patch
Patch7: chromium-hunspell-nullptr.patch
+Patch8: qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch
# Fix/workaround FTBFS on aarch64 with newer glibc
Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch
# Use Python2
Patch26: qtwebengine-everywhere-5.15.5-use-python2.patch
# FTBFS TRUE/FALSE undeclared
Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch
+Patch32: qtwebengine-skia-missing-includes.patch
## Upstream patches:
@@ -145,6 +144,9 @@ BuildRequires: nodejs
%if 0%{?use_system_re2}
BuildRequires: re2-devel
%endif
+%if 0%{?pipewire}
+BuildRequires: pkgconfig(libpipewire-0.3)
+%endif
BuildRequires: snappy-devel
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(gobject-2.0)
@@ -358,9 +360,6 @@ mv pulse src/3rdparty/chromium/
pushd src/3rdparty/chromium
popd
-%if 0%{?use_system_libicu}
-%patch1 -p1 -b .no-icudtl-dat
-%endif
%patch2 -p1 -b .fix-extractcflag
%if !0%{?arm_neon}
%patch3 -p1 -b .no-neon
@@ -369,11 +368,15 @@ popd
%patch5 -p1 -b .QT_DEPRECATED_VERSION
%patch6 -p1 -b .angle_nullptr
%patch7 -p1 -b .hunspell_nullptr
+#if 0%{?pipewire}
+%patch8 -p1 -b .libpipewire-0.3
+#endif
## upstream patches
%patch24 -p1 -b .aarch64-new-stat
%patch26 -p1 -b .use-python2
%patch31 -p1 -b .TRUE
+%patch32 -p1 -b .skia-missing-includes
# delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we
# never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS
@@ -433,6 +436,7 @@ export NINJA_PATH=%{__ninja}
QMAKE_EXTRA_ARGS+="-proprietary-codecs" \
%{?use_system_libicu:QMAKE_EXTRA_ARGS+="-system-webengine-icu"} \
QMAKE_EXTRA_ARGS+="-webengine-kerberos" \
+ %{?pipewire:QMAKE_EXTRA_ARGS+="-webengine-webrtc-pipewire"} \
.
# avoid %%make_build for now, the -O flag buffers output from intermediate build steps
done via ninja
@@ -464,6 +468,9 @@ echo "%{_libdir}/%{name}" \
%changelog
+* Wed Jul 27 2022 Vitaly Zaitsev <vitaly(a)easycoding.org> - 5.15.9-1
+- Updated to version 5.15.9.
+
* Fri Apr 01 2022 Xavier Bachelot <xavier(a)bachelot.org> - 5.15.8-5
- Enable libicu on EL9+
diff --git a/qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch
b/qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch
new file mode 100644
index 0000000..c9e4686
--- /dev/null
+++ b/qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch
@@ -0,0 +1,24 @@
+diff -up
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn.libpipewire-0.3
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn
+---
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn.libpipewire-0.3 2021-12-15
10:09:27.000000000 -0600
++++
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn 2022-02-18
09:43:31.402923179 -0600
+@@ -202,7 +202,7 @@ if (is_linux || is_chromeos) {
+
+ if (rtc_link_pipewire) {
+ pkg_config("pipewire") {
+- packages = [ "libpipewire-0.2" ]
++ packages = [ "libpipewire-0.3" ]
+ }
+ } else {
+ # When libpipewire is not directly linked, use stubs to allow for dlopening of
+diff -up
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni.libpipewire-0.3
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
+---
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni.libpipewire-0.3 2021-12-15
10:09:27.000000000 -0600
++++
qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni 2022-02-18
12:35:13.895009491 -0600
+@@ -115,7 +115,7 @@ declare_args() {
+ rtc_use_pipewire = is_desktop_linux && use_sysroot
+
+ # Set this to link PipeWire directly instead of using the dlopen.
+- rtc_link_pipewire = false
++ rtc_link_pipewire = true
+
+ # Enable to use the Mozilla internal settings.
+ build_with_mozilla = false
diff --git a/qtwebengine-release.sh b/qtwebengine-release.sh
index a05c100..d46ff5c 100755
--- a/qtwebengine-release.sh
+++ b/qtwebengine-release.sh
@@ -1,6 +1,6 @@
#!/bin/sh
set -x
-VERSION=5.15.8
+VERSION=5.15.9
CHROMIUMHASH=`wget
https://code.qt.io/cgit/qt/qtwebengine.git/tree/src/3rdparty?h=$VERSION -q
--content-on-error -O - | grep "Bad object name: " | sed 's/^.*Bad object
name: \([0-9a-f]\{40\}\).*$/\1/g'`
rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz
qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz
qtwebengine-everywhere-src-$VERSION
wget
https://github.com/qt/qtwebengine/archive/$VERSION.tar.gz -O
qtwebengine-$VERSION.tar.gz || exit $?
diff --git a/qtwebengine-skia-missing-includes.patch
b/qtwebengine-skia-missing-includes.patch
new file mode 100644
index 0000000..8402a73
--- /dev/null
+++ b/qtwebengine-skia-missing-includes.patch
@@ -0,0 +1,15 @@
+diff --git a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+index 7260365..503ed08 100644
+--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+@@ -8,6 +8,10 @@
+
+ #include "include/utils/SkParse.h"
+
++#include <string.h>
++#include <algorithm>
++#include <iterator>
++
+ static constexpr const char* gColorNames[] = {
+ "aliceblue",
+ "antiquewhite",
diff --git a/sources b/sources
index cb9140a..d20aa5c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-SHA512 (pulseaudio-12.2-headers.tar.gz) =
a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be
-SHA512 (qtwebengine-everywhere-src-5.15.8.tar.xz) =
e7e6fe6765c5d4a95bedc1af5d4883587b08887ed37d16c299f739de6ce5d80de16a4cbc9f6a75053cf65c98c0d739b09914fae80bd8b2a5215b1d1836d99c32
+SHA512 (qtwebengine-everywhere-src-5.15.9.tar.xz) =
8483f963f63230a691ae28320aa6ea2284e664bc680112de78f1a696859671764e8b9298e904e1ec681837ae98593aee4cc8ef58dae581558cd49b5265b7367a