From 55b15bbb4a2890cf057bbe23c5a934d011b903b1 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Wed, 31 Jul 2019 10:40:47 -0500 Subject: [PATCH 1/9] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From df5295b731ddfcc525ec7e5936b266952378d690 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Fri, 2 Aug 2019 13:06:24 -0700 Subject: [PATCH 2/9] Add mkspecs to build on RHEL8 (Kevin Kofler) --- qt5-qtbase-5.11.1-mkspecs.patch | 68 +++++++++++++++++++++++++++++++++ qt5-qtwebengine.spec | 14 ++++++- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 qt5-qtbase-5.11.1-mkspecs.patch diff --git a/qt5-qtbase-5.11.1-mkspecs.patch b/qt5-qtbase-5.11.1-mkspecs.patch new file mode 100644 index 0000000..e3ec9f5 --- /dev/null +++ b/qt5-qtbase-5.11.1-mkspecs.patch @@ -0,0 +1,68 @@ +From 133fb029a6b9c3ee06792887b61c8ed52315f58b Mon Sep 17 00:00:00 2001 +From: Oswald Buddenhagen +Date: Wed, 2 May 2018 18:07:05 +0200 +Subject: make it possible to override the basename of module config files + +using qt$$MODULE isn't enough if the module is composed of submodules +which need the final module's headers, because that would require two +modules having the same module .pri file. + +the first thought to fix this was to just use $$lower($$TARGET), but +that breaks for testlib (QtTest). while the config file name isn't +public api, it's included by a public header, so changing it is risky. + +so instead stay with the original pattern, but make it explicitly +overrideable. + +the cherry-pick is needed to support QtWebEngine 5.12 with Qt 5.11, +a requirement that was raised too late. + +Change-Id: I758c46ed403620620d577ae16866ce751271b63e +Reviewed-by: Michal Klocek +Reviewed-by: Allan Sandfeld Jensen +(cherry picked from commit 95b0e4c956181e535d635b108adc732d8c91a803) +Reviewed-by: Oswald Buddenhagen +--- + mkspecs/features/qt_module.prf | 5 +++-- + mkspecs/features/qt_module_headers.prf | 7 ++++--- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index f8729de947..8c7adc45eb 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -13,8 +13,9 @@ isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0) + isEmpty(VERSION): VERSION = $$MODULE_VERSION + isEmpty(VERSION): error("Module does not define version.") + +-exists($$OUT_PWD/qt$${MODULE}-config.pri) { +- include($$OUT_PWD/qt$${MODULE}-config.pri) ++isEmpty(MODULE_CFG_FILE): MODULE_CFG_FILE = qt$${MODULE}-config ++exists($$OUT_PWD/$${MODULE_CFG_FILE}.pri) { ++ include($$OUT_PWD/$${MODULE_CFG_FILE}.pri) + CONFIG += generated_privates + } + +diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf +index e45ac94966..bbded56b42 100644 +--- a/mkspecs/features/qt_module_headers.prf ++++ b/mkspecs/features/qt_module_headers.prf +@@ -121,11 +121,12 @@ alien_syncqt: return() + + MODULE_INC_OUTDIR = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME + +-exists($$OUT_PWD/qt$${MODULE}-config.h) { ++isEmpty(MODULE_CFG_FILE): MODULE_CFG_FILE = qt$${MODULE}-config ++exists($$OUT_PWD/$${MODULE_CFG_FILE}.h) { + fwd_rel = $$relative_path($$OUT_PWD, $$MODULE_INC_OUTDIR) + SYNCQT.INJECTIONS += \ +- $$fwd_rel/qt$${MODULE}-config.h:qt$${MODULE}-config.h \ +- $$fwd_rel/qt$${MODULE}-config_p.h:$$MODULE_VERSION/$$MODULE_INCNAME/private/qt$${MODULE}-config_p.h ++ $$fwd_rel/$${MODULE_CFG_FILE}.h:$${MODULE_CFG_FILE}.h \ ++ $$fwd_rel/$${MODULE_CFG_FILE}_p.h:$$MODULE_VERSION/$$MODULE_INCNAME/private/$${MODULE_CFG_FILE}_p.h + } + + for (injection, SYNCQT.INJECTIONS) { +-- +cgit v1.2.1 + diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index ffd0dfd..8ce196c 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -47,7 +47,7 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine Version: 5.12.4 -Release: 5%{?dist} +Release: 5%{?dist}.1 # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -93,6 +93,9 @@ Patch101: 0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch Patch102: 0002-Bump-V8-patch-level.patch Patch103: 0003-Fix-segfaults-with-arm-32bit-on-metrics.patch +## RHEL8 only patch +Patch500: qt5-qtbase-5.11.1-mkspecs.patch + # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches ExclusiveArch: %{qt5_qtwebengine_arches} @@ -415,6 +418,12 @@ cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium %build +mkdir patched-mkspecs-features +cp -a /usr/lib64/qt5/mkspecs/features/qt_module{,_headers}.prf \ + patched-mkspecs-features/ +patch -p3 -d patched-mkspecs-features <%{PATCH500} +export QMAKEFEATURES=`pwd`/patched-mkspecs-features + export STRIP=strip export NINJAFLAGS="%{__ninja_common_opts}" export NINJA_PATH=%{__ninja} @@ -585,6 +594,9 @@ done %changelog +* Fri Aug 02 2019 Troy Dawson - 5.12.4-5.1 +- Add mkspecs to build on RHEL8 (Kevin Kofler) + * Wed Jun 26 2019 Rex Dieter - 5.12.4-5 - pull in some upstream fixes From 908c51a8b77b4ad2f29ca3113e21ff9ed35ddbb9 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Tue, 6 Aug 2019 09:51:13 -0700 Subject: [PATCH 3/9] Tweek on mkspecs fix --- qt5-qtwebengine.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 8ce196c..a65b321 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -422,6 +422,7 @@ mkdir patched-mkspecs-features cp -a /usr/lib64/qt5/mkspecs/features/qt_module{,_headers}.prf \ patched-mkspecs-features/ patch -p3 -d patched-mkspecs-features <%{PATCH500} +sed -i "s|\$\${PWD}|/usr/lib64/qt5/mkspecs/features|" patched-mkspecs-features/qt_module.prf export QMAKEFEATURES=`pwd`/patched-mkspecs-features export STRIP=strip From 173967d59bc5e21158eb720f073d2de2edaf05ff Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 30 Apr 2020 18:40:28 -0700 Subject: [PATCH 4/9] Update to 5.12.8 --- .gitignore | 2 + ...uld_override_user_agent_in_new_tabs_.patch | 34 --------- 0002-Bump-V8-patch-level.patch | 30 -------- ...-segfaults-with-arm-32bit-on-metrics.patch | 31 -------- ...compilation-of-simplebrowser-example.patch | 35 --------- get_free_ffmpeg_source_files.py | 2 +- package.cfg | 2 - qt5-qtbase-5.11.1-mkspecs.patch | 68 ----------------- qt5-qtwebengine.spec | 76 +++++++++++++------ sources | 3 +- 10 files changed, 56 insertions(+), 227 deletions(-) delete mode 100644 0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch delete mode 100644 0002-Bump-V8-patch-level.patch delete mode 100644 0003-Fix-segfaults-with-arm-32bit-on-metrics.patch delete mode 100644 0027-Fix-compilation-of-simplebrowser-example.patch delete mode 100644 package.cfg delete mode 100644 qt5-qtbase-5.11.1-mkspecs.patch diff --git a/.gitignore b/.gitignore index 6a1e5fa..99c2c43 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ /qtwebengine-everywhere-src-5.12.2-clean.tar.xz /qtwebengine-everywhere-src-5.12.3-clean.tar.xz /qtwebengine-everywhere-src-5.12.4-clean.tar.xz +/pulseaudio-12.2-headers.tar.gz +/qtwebengine-everywhere-src-5.12.8-clean.tar.xz diff --git a/0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch b/0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch deleted file mode 100644 index 92b8a73..0000000 --- a/0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e8eec84aac0dc626770a483d503f7b16ab0dbe70 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Fri, 7 Jun 2019 14:18:23 +0200 -Subject: [PATCH 1/3] Fix changing should_override_user_agent_in_new_tabs_ - -It wouldn't be updated if the custom user-agent didn't change. - -Change-Id: Ic31ef485e2cb84903f9b48cb9ad5f9f1a723eb92 -Reviewed-by: Michal Klocek ---- - chromium/content/browser/web_contents/web_contents_impl.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/chromium/content/browser/web_contents/web_contents_impl.cc b/chromium/content/browser/web_contents/web_contents_impl.cc -index a2659263737..4c127f835d6 100644 ---- a/chromium/content/browser/web_contents/web_contents_impl.cc -+++ b/chromium/content/browser/web_contents/web_contents_impl.cc -@@ -1230,11 +1230,11 @@ WebUI* WebContentsImpl::GetCommittedWebUI() const { - - void WebContentsImpl::SetUserAgentOverride(const std::string& override, - bool override_in_new_tabs) { -+ should_override_user_agent_in_new_tabs_ = override_in_new_tabs; -+ - if (GetUserAgentOverride() == override) - return; - -- should_override_user_agent_in_new_tabs_ = override_in_new_tabs; -- - renderer_preferences_.user_agent_override = override; - - // Send the new override string to the renderer. --- -2.21.0 - diff --git a/0002-Bump-V8-patch-level.patch b/0002-Bump-V8-patch-level.patch deleted file mode 100644 index 768c923..0000000 --- a/0002-Bump-V8-patch-level.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6f3c15d2319ca11c2e31076292f5733baf64d991 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Tue, 18 Jun 2019 10:29:48 +0200 -Subject: [PATCH 2/3] Bump V8 patch level - -Otherwise it might use outdated script caches. - -Change-Id: I839c6a11c3e1991f232972ad2d87fe6318256307 -Fixes: QTBUG-72532 -Reviewed-by: Michal Klocek ---- - chromium/v8/include/v8-version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/v8/include/v8-version.h b/chromium/v8/include/v8-version.h -index 3e703039517..8dacc30c340 100644 ---- a/chromium/v8/include/v8-version.h -+++ b/chromium/v8/include/v8-version.h -@@ -11,7 +11,7 @@ - #define V8_MAJOR_VERSION 6 - #define V8_MINOR_VERSION 9 - #define V8_BUILD_NUMBER 427 --#define V8_PATCH_LEVEL 31 -+#define V8_PATCH_LEVEL 32 - - // Use 1 for candidates and 0 otherwise. - // (Boolean macro values are not supported by all preprocessors.) --- -2.21.0 - diff --git a/0003-Fix-segfaults-with-arm-32bit-on-metrics.patch b/0003-Fix-segfaults-with-arm-32bit-on-metrics.patch deleted file mode 100644 index 793efb2..0000000 --- a/0003-Fix-segfaults-with-arm-32bit-on-metrics.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2323dc924a3b107647f9e5f0bdbcfc44b9713195 Mon Sep 17 00:00:00 2001 -From: Michal Klocek -Date: Thu, 20 Jun 2019 09:09:53 +0200 -Subject: [PATCH 3/3] Fix segfaults with arm 32bit on metrics - -Gcc 6 seems to misscompile pair's template constructor -in std::map emplace, use converting move constructor instead. - -Fixes: QTBUG-75097 -Change-Id: Ia50dc9eadb58f713432c0228a4a5aed73b275f32 -Reviewed-by: Allan Sandfeld Jensen ---- - chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc b/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc -index 6685a5816db..5c5380e007e 100644 ---- a/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc -+++ b/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc -@@ -23,7 +23,7 @@ UkmEntryBuilderBase::~UkmEntryBuilderBase() = default; - - void UkmEntryBuilderBase::SetMetricInternal(uint64_t metric_hash, - int64_t value) { -- entry_->metrics.emplace(metric_hash, value); -+ entry_->metrics.emplace(std::make_pair(metric_hash, value)); - } - - void UkmEntryBuilderBase::Record(UkmRecorder* recorder) { --- -2.21.0 - diff --git a/0027-Fix-compilation-of-simplebrowser-example.patch b/0027-Fix-compilation-of-simplebrowser-example.patch deleted file mode 100644 index e6c895f..0000000 --- a/0027-Fix-compilation-of-simplebrowser-example.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c041711febbee334ce5369f25cfae3f560819855 Mon Sep 17 00:00:00 2001 -From: Kai Koehne -Date: Tue, 16 Jan 2018 14:09:50 +0100 -Subject: [PATCH 027/230] Fix compilation of simplebrowser example -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Previously qstyle.h was included indirectly through the uic -generated code, but this got changed in qtbase -commit 058474884c2505a8a0. - -Task-number: QTBUG-65793 -Change-Id: I56a1cd045d53b268999d728f6907ee8d952ba6e9 -Reviewed-by: Jüri Valdmann -Reviewed-by: Michal Klocek ---- - examples/webenginewidgets/simplebrowser/webpage.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/examples/webenginewidgets/simplebrowser/webpage.cpp b/examples/webenginewidgets/simplebrowser/webpage.cpp -index 3b78b861..90395641 100644 ---- a/examples/webenginewidgets/simplebrowser/webpage.cpp -+++ b/examples/webenginewidgets/simplebrowser/webpage.cpp -@@ -56,6 +56,7 @@ - #include "webview.h" - #include - #include -+#include - - WebPage::WebPage(QWebEngineProfile *profile, QObject *parent) - : QWebEnginePage(profile, parent) --- -2.17.0 - diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py index 76c73ae..899e774 100755 --- a/get_free_ffmpeg_source_files.py +++ b/get_free_ffmpeg_source_files.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python2 # Copyright 2015 Tomas Popela # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file diff --git a/qt5-qtbase-5.11.1-mkspecs.patch b/qt5-qtbase-5.11.1-mkspecs.patch deleted file mode 100644 index e3ec9f5..0000000 --- a/qt5-qtbase-5.11.1-mkspecs.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 133fb029a6b9c3ee06792887b61c8ed52315f58b Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen -Date: Wed, 2 May 2018 18:07:05 +0200 -Subject: make it possible to override the basename of module config files - -using qt$$MODULE isn't enough if the module is composed of submodules -which need the final module's headers, because that would require two -modules having the same module .pri file. - -the first thought to fix this was to just use $$lower($$TARGET), but -that breaks for testlib (QtTest). while the config file name isn't -public api, it's included by a public header, so changing it is risky. - -so instead stay with the original pattern, but make it explicitly -overrideable. - -the cherry-pick is needed to support QtWebEngine 5.12 with Qt 5.11, -a requirement that was raised too late. - -Change-Id: I758c46ed403620620d577ae16866ce751271b63e -Reviewed-by: Michal Klocek -Reviewed-by: Allan Sandfeld Jensen -(cherry picked from commit 95b0e4c956181e535d635b108adc732d8c91a803) -Reviewed-by: Oswald Buddenhagen ---- - mkspecs/features/qt_module.prf | 5 +++-- - mkspecs/features/qt_module_headers.prf | 7 ++++--- - 2 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf -index f8729de947..8c7adc45eb 100644 ---- a/mkspecs/features/qt_module.prf -+++ b/mkspecs/features/qt_module.prf -@@ -13,8 +13,9 @@ isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0) - isEmpty(VERSION): VERSION = $$MODULE_VERSION - isEmpty(VERSION): error("Module does not define version.") - --exists($$OUT_PWD/qt$${MODULE}-config.pri) { -- include($$OUT_PWD/qt$${MODULE}-config.pri) -+isEmpty(MODULE_CFG_FILE): MODULE_CFG_FILE = qt$${MODULE}-config -+exists($$OUT_PWD/$${MODULE_CFG_FILE}.pri) { -+ include($$OUT_PWD/$${MODULE_CFG_FILE}.pri) - CONFIG += generated_privates - } - -diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf -index e45ac94966..bbded56b42 100644 ---- a/mkspecs/features/qt_module_headers.prf -+++ b/mkspecs/features/qt_module_headers.prf -@@ -121,11 +121,12 @@ alien_syncqt: return() - - MODULE_INC_OUTDIR = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME - --exists($$OUT_PWD/qt$${MODULE}-config.h) { -+isEmpty(MODULE_CFG_FILE): MODULE_CFG_FILE = qt$${MODULE}-config -+exists($$OUT_PWD/$${MODULE_CFG_FILE}.h) { - fwd_rel = $$relative_path($$OUT_PWD, $$MODULE_INC_OUTDIR) - SYNCQT.INJECTIONS += \ -- $$fwd_rel/qt$${MODULE}-config.h:qt$${MODULE}-config.h \ -- $$fwd_rel/qt$${MODULE}-config_p.h:$$MODULE_VERSION/$$MODULE_INCNAME/private/qt$${MODULE}-config_p.h -+ $$fwd_rel/$${MODULE_CFG_FILE}.h:$${MODULE_CFG_FILE}.h \ -+ $$fwd_rel/$${MODULE_CFG_FILE}_p.h:$$MODULE_VERSION/$$MODULE_INCNAME/private/$${MODULE_CFG_FILE}_p.h - } - - for (injection, SYNCQT.INJECTIONS) { --- -cgit v1.2.1 - diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index a65b321..9a3ad18 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -46,8 +46,8 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine -Version: 5.12.4 -Release: 5%{?dist}.1 +Version: 5.12.8 +Release: 1%{?dist} # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -55,8 +55,8 @@ Release: 5%{?dist}.1 License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) URL: http://www.qt.io # cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg -# wget http://download.qt.io/official_releases/qt/5.12/5.12.3/submodules/qtwebengine-everywhere-src-5.12.3.tar.xz -# ./clean_qtwebengine.sh 5.12.2 +# wget http://download.qt.io/official_releases/qt/5.12/5.12.6/submodules/qtwebengine-everywhere-src-5.12.6.tar.xz +# ./clean_qtwebengine.sh 5.12.6 Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz # cleanup scripts used above Source1: clean_qtwebengine.sh @@ -65,6 +65,9 @@ Source3: get_free_ffmpeg_source_files.py # macros Source10: macros.qt5-qtwebengine +# pulseaudio headers +Source20: pulseaudio-12.2-headers.tar.gz + # some tweaks to linux.pri (system yasm, link libpci, run unbundling script) Patch0: qtwebengine-everywhere-src-5.10.0-linux-pri.patch # quick hack to avoid checking for the nonexistent icudtl.dat and silence the @@ -89,12 +92,6 @@ Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch ## Upstream patches: # qtwebengine-chromium -Patch101: 0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch -Patch102: 0002-Bump-V8-patch-level.patch -Patch103: 0003-Fix-segfaults-with-arm-32bit-on-metrics.patch - -## RHEL8 only patch -Patch500: qt5-qtbase-5.11.1-mkspecs.patch # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches ExclusiveArch: %{qt5_qtwebengine_arches} @@ -173,7 +170,15 @@ BuildRequires: pkgconfig(lcms2) ## https://bugreports.qt.io/browse/QTBUG-59094 #BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0) BuildRequires: perl-interpreter -BuildRequires: python2-devel +# fesco exception to allow python2 use: https://pagure.io/fesco/issue/2208 +# per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions +# Only the interpreter is needed +%if 0%{?fedora} > 29 || 0%{?rhel} > 8 +BuildRequires: %{__python2} +%else +BuildRequires: python2 +BuildRequires: python2-rpm-macros +%endif %if 0%{?use_system_libvpx} BuildRequires: pkgconfig(vpx) >= 1.7.0 %endif @@ -347,12 +352,11 @@ BuildArch: noarch %prep -%setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} +%setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} -a20 + +mv pulse src/3rdparty/chromium/ pushd src/3rdparty/chromium -%patch101 -p2 -b .0001 -%patch102 -p2 -b .0002 -%patch103 -p2 -b .0003 popd %patch0 -p1 -b .linux-pri @@ -418,19 +422,13 @@ cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium %build -mkdir patched-mkspecs-features -cp -a /usr/lib64/qt5/mkspecs/features/qt_module{,_headers}.prf \ - patched-mkspecs-features/ -patch -p3 -d patched-mkspecs-features <%{PATCH500} -sed -i "s|\$\${PWD}|/usr/lib64/qt5/mkspecs/features|" patched-mkspecs-features/qt_module.prf -export QMAKEFEATURES=`pwd`/patched-mkspecs-features - export STRIP=strip export NINJAFLAGS="%{__ninja_common_opts}" export NINJA_PATH=%{__ninja} %{qmake_qt5} \ - CONFIG+="%{debug_config}" \ + %{?debug_config:CONFIG+="%{debug_config}}" \ + CONFIG+="link_pulseaudio" \ QMAKE_EXTRA_ARGS+="-system-webengine-icu" \ QMAKE_EXTRA_ARGS+="-webengine-kerberos" \ . @@ -477,6 +475,8 @@ for prl_file in libQt5*.prl ; do sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file} fi done +# explicitly omit, at least until there's a real library installed associated with it -- rex +rm -fv Qt5WebEngineCore.la popd mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir} @@ -578,6 +578,7 @@ done %{_qt5_headerdir}/Qt*/ %{_qt5_libdir}/libQt5*.so %{_qt5_libdir}/libQt5*.prl +#{_qt5_libdir}/Qt5WebEngineCore.la %{_qt5_libdir}/cmake/Qt5*/ %{_qt5_libdir}/pkgconfig/Qt5*.pc %{_qt5_archdatadir}/mkspecs/modules/*.pri @@ -595,8 +596,33 @@ done %changelog -* Fri Aug 02 2019 Troy Dawson - 5.12.4-5.1 -- Add mkspecs to build on RHEL8 (Kevin Kofler) +* Thu Apr 30 2020 Troy Dawson - 5.12.8-1 +- 5.12.8 + +* Mon Dec 02 2019 Rex Dieter - 5.12.6-1 +- 5.12.6 + +* Wed Oct 02 2019 Rex Dieter - 5.12.5-2 +- explicitly omit QtWebEngineCore.la from packaging + +* Thu Sep 26 2019 Rex Dieter - 5.12.5-1 +- 5.12.5 + +* Tue Sep 24 2019 Jan Grulich - 5.12.4-10 +- rebuild (qt5) + +* Wed Aug 14 2019 Rex Dieter - 5.12.4-9 +- rebuild (re2) + +* Mon Aug 12 2019 Rex Dieter - 5.12.4-8 +- CONFIG+=link_pulseaudio + +* Wed Aug 07 2019 Rex Dieter - 5.12.4-7 +- rebuild (re2, #1672014#c10) +- build using bundled pulse headers, workaround FTBFS bug #1729806 + +* Fri Jul 26 2019 Fedora Release Engineering - 5.12.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed Jun 26 2019 Rex Dieter - 5.12.4-5 - pull in some upstream fixes diff --git a/sources b/sources index c8b47cf..94d5cbe 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (qtwebengine-everywhere-src-5.12.4-clean.tar.xz) = 6ac76ef0fde00763a407363e1ce79d883d827020580c0ec712ae1b2f1262d9daf2a1039c44f271ac4b498acaa9af1c1dcdb7367bcf3a6b97acdc9d8973b3cd18 +SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be +SHA512 (qtwebengine-everywhere-src-5.12.8-clean.tar.xz) = d17428234430d4cc06e5d9ca86fc8bb7d3966e48d2f6166361e8a12933f90f2575d44b2c88b40ba163c726490e624f826abe09b64e4e3ea0212941414d4c93f2 From f401d20b639a01fcb91ada12401c6c9cf83ee2c3 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Wed, 10 Nov 2021 11:59:53 -0800 Subject: [PATCH 5/9] Revert to older version that builds --- qt5-qtwebengine.spec | 18 ++++++++---------- qtwebengine-everywhere-src-5.15.6-clone3.patch | 16 ---------------- qtwebengine-release.sh | 15 --------------- sources | 2 +- sources.keep | 1 - 5 files changed, 9 insertions(+), 43 deletions(-) delete mode 100644 qtwebengine-everywhere-src-5.15.6-clone3.patch delete mode 100644 qtwebengine-release.sh delete mode 100644 sources.keep diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 6f764b1..337cec3 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -52,8 +52,8 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine -Version: 5.15.6 -Release: 1%{?dist} +Version: 5.15.5 +Release: 3%{?dist} # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -108,9 +108,6 @@ Patch29: qtwebengine-everywhere-src-5.15.5-sandbox-time64-syscalls.patch Patch30: qtwebengine-everywhere-src-5.15.5-SIGSTKSZ.patch # FTBFS TRUE/FALSE undeclared Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch -# Issue 1213452: Sandbox doesn't work with clone3 -# https://bugs.chromium.org/p/chromium/issues/detail?id=1213452 -Patch32: qtwebengine-everywhere-src-5.15.6-clone3.patch ## Upstream patches: @@ -237,7 +234,12 @@ BuildRequires: pkgconfig(vpx) >= 1.8.0 # Of course, Chromium itself is bundled. It cannot be unbundled because it is # not a library, but forked (modified) application code. -Provides: bundled(chromium) = 90.0.44.30.228 +# Some security fixes (up to version 64.0.3282.140) are backported, see: +# http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=61-based +# see dist/changes-5.10.1 for the version numbers (base, security fixes) and for +# a list of CVEs fixed by the added security backports +# See Patch101 for additional fixes applied (up to version 65.0.3325.146) +Provides: bundled(chromium) = 61.0.3163.140 # Bundled in src/3rdparty/chromium/third_party: # Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, @@ -419,7 +421,6 @@ popd %patch29 -p1 -b .sandbox-time64-syscalls %patch30 -p1 -b .SIGSTKSZ %patch31 -p1 -b .TRUE -%patch32 -p1 -b .clone3 # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we # never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS @@ -631,9 +632,6 @@ done %changelog -* Fri Sep 03 2021 Rex Dieter - 5.15.6-1 -- 5.15.6 - * Thu Aug 12 2021 Troy Dawson - 5.15.5-3 - Fix use-python2.patch diff --git a/qtwebengine-everywhere-src-5.15.6-clone3.patch b/qtwebengine-everywhere-src-5.15.6-clone3.patch deleted file mode 100644 index a89a363..0000000 --- a/qtwebengine-everywhere-src-5.15.6-clone3.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.1213452 qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ---- qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.1213452 2021-09-03 10:35:33.069779845 -0500 -+++ qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-09-03 10:36:43.891325411 -0500 -@@ -172,6 +172,12 @@ ResultExpr EvaluateSyscallImpl(int fs_de - return RestrictCloneToThreadsAndEPERMFork(); - } - -+ // clone3 takes a pointer argument which we cannot examine, so return ENOSYS -+ // to force the libc to use clone. See https://crbug.com/1213452. -+ if (sysno == __NR_clone3) { -+ return Error(ENOSYS); -+ } -+ - if (sysno == __NR_fcntl) - return RestrictFcntlCommands(); - diff --git a/qtwebengine-release.sh b/qtwebengine-release.sh deleted file mode 100644 index 027cfc8..0000000 --- a/qtwebengine-release.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -set -x -VERSION=5.15.6 -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 $? -tar xzf qtwebengine-$VERSION.tar.gz || exit $? -wget https://github.com/qt/qtwebengine-chromium/archive/$CHROMIUMHASH.tar.gz -O qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $? -tar xzf qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $? -mv qtwebengine-$VERSION qtwebengine-everywhere-src-$VERSION || exit $? -(cd qtwebengine-everywhere-src-$VERSION ; syncqt.pl -version $VERSION ) || exit $? -rmdir qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $? -mv qtwebengine-chromium-$CHROMIUMHASH qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $? -XZ_OPT="-9 -T2" tar cJf qtwebengine-everywhere-src-$VERSION.tar.xz qtwebengine-everywhere-src-$VERSION || exit $? -rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz qtwebengine-everywhere-src-$VERSION diff --git a/sources b/sources index 9431908..03ee456 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be -SHA512 (qtwebengine-everywhere-src-5.15.6-clean.tar.xz) = 7c05934769bbfef181c591b65916c456449a3dd6e653d80b6e601a5b4e22904a2256538edd771453e31dceae56b2075c88c19b00cfab234e561ed6ca72bb143e +SHA512 (qtwebengine-everywhere-src-5.15.5-clean.tar.xz) = f23c28a430edea9d83eadc741fde26cbc8fe2965cc3372b38755d4850c80a404e9009187296b368ccc5093b92227d7830d263ec0fb6c152e5e4522d11c6aa46d diff --git a/sources.keep b/sources.keep deleted file mode 100644 index adf9556..0000000 --- a/sources.keep +++ /dev/null @@ -1 +0,0 @@ -SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be From 234878f38f0d3565743a80cc3e45d26ed7810ca1 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 11 Nov 2021 09:38:25 -0800 Subject: [PATCH 6/9] Sync back to F34 version, but only use clone3 patch on fedora --- qt5-qtwebengine.spec | 23 ++++++++++++------- ...bengine-everywhere-src-5.15.6-clone3.patch | 16 +++++++++++++ qtwebengine-release.sh | 15 ++++++++++++ sources | 2 +- sources.keep | 1 + 5 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 qtwebengine-everywhere-src-5.15.6-clone3.patch create mode 100644 qtwebengine-release.sh create mode 100644 sources.keep diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 337cec3..6389981 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -52,8 +52,8 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine -Version: 5.15.5 -Release: 3%{?dist} +Version: 5.15.6 +Release: 1%{?dist}.1 # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -108,6 +108,9 @@ Patch29: qtwebengine-everywhere-src-5.15.5-sandbox-time64-syscalls.patch Patch30: qtwebengine-everywhere-src-5.15.5-SIGSTKSZ.patch # FTBFS TRUE/FALSE undeclared Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch +# Issue 1213452: Sandbox doesn't work with clone3 +# https://bugs.chromium.org/p/chromium/issues/detail?id=1213452 +Patch32: qtwebengine-everywhere-src-5.15.6-clone3.patch ## Upstream patches: @@ -234,12 +237,7 @@ BuildRequires: pkgconfig(vpx) >= 1.8.0 # Of course, Chromium itself is bundled. It cannot be unbundled because it is # not a library, but forked (modified) application code. -# Some security fixes (up to version 64.0.3282.140) are backported, see: -# http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=61-based -# see dist/changes-5.10.1 for the version numbers (base, security fixes) and for -# a list of CVEs fixed by the added security backports -# See Patch101 for additional fixes applied (up to version 65.0.3325.146) -Provides: bundled(chromium) = 61.0.3163.140 +Provides: bundled(chromium) = 90.0.44.30.228 # Bundled in src/3rdparty/chromium/third_party: # Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, @@ -421,6 +419,9 @@ popd %patch29 -p1 -b .sandbox-time64-syscalls %patch30 -p1 -b .SIGSTKSZ %patch31 -p1 -b .TRUE +%if 0%{?fedora} +%patch32 -p1 -b .clone3 +%endif # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we # never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS @@ -632,6 +633,12 @@ done %changelog +* Thu Nov 11 2021 Troy Dawson - 5.15.6-1.1 +- clone3 patch only for Fedora + +* Fri Sep 03 2021 Rex Dieter - 5.15.6-1 +- 5.15.6 + * Thu Aug 12 2021 Troy Dawson - 5.15.5-3 - Fix use-python2.patch diff --git a/qtwebengine-everywhere-src-5.15.6-clone3.patch b/qtwebengine-everywhere-src-5.15.6-clone3.patch new file mode 100644 index 0000000..a89a363 --- /dev/null +++ b/qtwebengine-everywhere-src-5.15.6-clone3.patch @@ -0,0 +1,16 @@ +diff -up qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.1213452 qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +--- qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.1213452 2021-09-03 10:35:33.069779845 -0500 ++++ qtwebengine-everywhere-src-5.15.6/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-09-03 10:36:43.891325411 -0500 +@@ -172,6 +172,12 @@ ResultExpr EvaluateSyscallImpl(int fs_de + return RestrictCloneToThreadsAndEPERMFork(); + } + ++ // clone3 takes a pointer argument which we cannot examine, so return ENOSYS ++ // to force the libc to use clone. See https://crbug.com/1213452. ++ if (sysno == __NR_clone3) { ++ return Error(ENOSYS); ++ } ++ + if (sysno == __NR_fcntl) + return RestrictFcntlCommands(); + diff --git a/qtwebengine-release.sh b/qtwebengine-release.sh new file mode 100644 index 0000000..027cfc8 --- /dev/null +++ b/qtwebengine-release.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -x +VERSION=5.15.6 +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 $? +tar xzf qtwebengine-$VERSION.tar.gz || exit $? +wget https://github.com/qt/qtwebengine-chromium/archive/$CHROMIUMHASH.tar.gz -O qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $? +tar xzf qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $? +mv qtwebengine-$VERSION qtwebengine-everywhere-src-$VERSION || exit $? +(cd qtwebengine-everywhere-src-$VERSION ; syncqt.pl -version $VERSION ) || exit $? +rmdir qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $? +mv qtwebengine-chromium-$CHROMIUMHASH qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $? +XZ_OPT="-9 -T2" tar cJf qtwebengine-everywhere-src-$VERSION.tar.xz qtwebengine-everywhere-src-$VERSION || exit $? +rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz qtwebengine-everywhere-src-$VERSION diff --git a/sources b/sources index 03ee456..9431908 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be -SHA512 (qtwebengine-everywhere-src-5.15.5-clean.tar.xz) = f23c28a430edea9d83eadc741fde26cbc8fe2965cc3372b38755d4850c80a404e9009187296b368ccc5093b92227d7830d263ec0fb6c152e5e4522d11c6aa46d +SHA512 (qtwebengine-everywhere-src-5.15.6-clean.tar.xz) = 7c05934769bbfef181c591b65916c456449a3dd6e653d80b6e601a5b4e22904a2256538edd771453e31dceae56b2075c88c19b00cfab234e561ed6ca72bb143e diff --git a/sources.keep b/sources.keep new file mode 100644 index 0000000..adf9556 --- /dev/null +++ b/sources.keep @@ -0,0 +1 @@ +SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be From 6563eeeaf04a56f7acbc6f0a5c3943a586345264 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Fri, 6 May 2022 10:00:40 -0700 Subject: [PATCH 7/9] python2 rpms for rhel9 only --- qt5-qtwebengine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index a62d2b0..d7988a6 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -416,7 +416,7 @@ mv pulse src/3rdparty/chromium/ pushd src/3rdparty/chromium popd -%if 0%{?epel:1} +%if 0%{?rhel} && 0%{?rhel} == 9 # Install python2 from rpms mkdir python2 pushd python2 From e87a126ea112309b2b39a57dabecee14de97dfbb Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 12 May 2022 14:49:54 -0700 Subject: [PATCH 8/9] Fix aarch64 build failures on epel8-next --- qt5-qtwebengine.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index d7988a6..d789055 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -62,7 +62,7 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine Version: 5.15.8 -Release: 5%{?dist} +Release: 5%{?dist}.1 # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -120,6 +120,9 @@ Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch ## Upstream patches: +## epel8 patches +Patch101: qtwebengine-everywhere-5.15.8-gcc-aarch64-hack.patch.patch + %if 0%{?fedora} || 0%{?epel} > 7 # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches ExclusiveArch: %{qt5_qtwebengine_arches} @@ -449,6 +452,9 @@ popd %patch26 -p1 -b .use-python2 %patch31 -p1 -b .TRUE +## epel8 patches +%patch101 -p1 -b .fix-aarch64 + # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we # never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \ @@ -669,6 +675,9 @@ done %changelog +* Thu May 12 2022 Troy Dawson - 5.15.8-5.1 +- Fix aarch64 build failures on epel8-next + * Wed Mar 09 2022 Jan Grulich - 5.15.8-5 - Rebuild (qt5) From 768ed7b15befeb4017ba642d2f83bffdc6bc6820 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 12 May 2022 15:00:13 -0700 Subject: [PATCH 9/9] Fix aarch64 build failures on epel8-next --- ...ywhere-5.15.8-gcc-aarch64-hack.patch.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 qtwebengine-everywhere-5.15.8-gcc-aarch64-hack.patch.patch diff --git a/qtwebengine-everywhere-5.15.8-gcc-aarch64-hack.patch.patch b/qtwebengine-everywhere-5.15.8-gcc-aarch64-hack.patch.patch new file mode 100644 index 0000000..73c20d9 --- /dev/null +++ b/qtwebengine-everywhere-5.15.8-gcc-aarch64-hack.patch.patch @@ -0,0 +1,48 @@ +From 14242d039503d5b79cb1867f06a5682cfde167f3 Mon Sep 17 00:00:00 2001 +From: Troy Dawson +Date: Thu, 12 May 2022 13:17:26 -0700 +Subject: [PATCH] gcc-aarch64-hack.patch + +--- + .../skia/third_party/skcms/src/Transform_inl.h | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/src/3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h b/src/3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h +index 2dcf717..02514ef 100644 +--- a/src/3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h ++++ b/src/3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h +@@ -117,6 +117,22 @@ SI D cast(const S& v) { + #endif + } + ++// This is a hack to work around GCC PR95726 ++template ++SI D cast2(const S& v) { ++#if N == 1 ++ return (D)v; ++#elif defined(__clang__) ++ return __builtin_convertvector(v, D); ++#else ++ D d; ++ for (int i = 0; i < N; i++) { ++ d[i] = v[i]; ++ } ++ return d; ++#endif ++} ++ + template + SI D bit_pun(const S& v) { + static_assert(sizeof(D) == sizeof(v), ""); +@@ -618,7 +634,7 @@ SI F F_from_U16_BE(U16 v) { + // MSVC catches the "loss" of data here in the portable path, so we also make sure to mask. + U16 lo = (v >> 8), + hi = (v << 8) & 0xffff; +- return cast(lo|hi) * (1/65535.0f); ++ return cast2(lo|hi) * (1/65535.0f); + } + + SI U16 U16_from_F(F v) { +-- +2.36.1 +