forked from pool/libqt5-qtwebengine
Accepting request 881623 from home:cgiboudeaux:branches:KDE:Qt:5.15
Qt WebEngine 5.15.3. Also compatible with Qt 5.12 OBS-URL: https://build.opensuse.org/request/show/881623 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwebengine?expand=0&rev=23
This commit is contained in:
parent
9acaf1e388
commit
0792994e04
135
0001-Fix-normalization-of-app-locales.patch
Normal file
135
0001-Fix-normalization-of-app-locales.patch
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
From 199ea00a9eea13315a652c62778738629185b059 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||||
|
Date: Wed, 10 Mar 2021 17:14:27 +0100
|
||||||
|
Subject: [PATCH] Fix normalization of app locales
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Use the internal Chromium routine to get the app locale Chromium
|
||||||
|
expects.
|
||||||
|
|
||||||
|
Fixes: QTBUG-91715
|
||||||
|
Change-Id: I5042eb066cb6879ad69628959912f2841867b4e8
|
||||||
|
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
||||||
|
---
|
||||||
|
src/core/content_browser_client_qt.cpp | 7 +++++-
|
||||||
|
src/core/content_browser_client_qt.h | 2 ++
|
||||||
|
src/core/web_engine_library_info.cpp | 18 +++++++-------
|
||||||
|
.../qwebengineview/tst_qwebengineview.cpp | 24 +++++++++++++++++++
|
||||||
|
4 files changed, 40 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
|
||||||
|
index e13ecd8d..c2c78ff8 100644
|
||||||
|
--- a/src/core/content_browser_client_qt.cpp
|
||||||
|
+++ b/src/core/content_browser_client_qt.cpp
|
||||||
|
@@ -471,7 +471,12 @@ std::unique_ptr<net::ClientCertStore> ContentBrowserClientQt::CreateClientCertSt
|
||||||
|
|
||||||
|
std::string ContentBrowserClientQt::GetApplicationLocale()
|
||||||
|
{
|
||||||
|
- return WebEngineLibraryInfo::getApplicationLocale();
|
||||||
|
+ std::string bcp47Name = QLocale().bcp47Name().toStdString();
|
||||||
|
+ if (m_cachedQtLocale != bcp47Name) {
|
||||||
|
+ m_cachedQtLocale = bcp47Name;
|
||||||
|
+ m_appLocale = WebEngineLibraryInfo::getApplicationLocale();
|
||||||
|
+ }
|
||||||
|
+ return m_appLocale;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ContentBrowserClientQt::GetAcceptLangs(content::BrowserContext *context)
|
||||||
|
diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h
|
||||||
|
index 7c8aa3ac..1ccd2926 100644
|
||||||
|
--- a/src/core/content_browser_client_qt.h
|
||||||
|
+++ b/src/core/content_browser_client_qt.h
|
||||||
|
@@ -269,6 +269,8 @@ public:
|
||||||
|
|
||||||
|
private:
|
||||||
|
scoped_refptr<ShareGroupQtQuick> m_shareGroupQtQuick;
|
||||||
|
+ std::string m_appLocale;
|
||||||
|
+ std::string m_cachedQtLocale;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace QtWebEngineCore
|
||||||
|
diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp
|
||||||
|
index 2ad5b756..09a4141b 100644
|
||||||
|
--- a/src/core/web_engine_library_info.cpp
|
||||||
|
+++ b/src/core/web_engine_library_info.cpp
|
||||||
|
@@ -46,6 +46,7 @@
|
||||||
|
#include "components/spellcheck/spellcheck_buildflags.h"
|
||||||
|
#include "content/public/common/content_paths.h"
|
||||||
|
#include "sandbox/policy/switches.h"
|
||||||
|
+#include "ui/base/l10n/l10n_util.h"
|
||||||
|
#include "ui/base/ui_base_paths.h"
|
||||||
|
#include "ui/base/ui_base_switches.h"
|
||||||
|
|
||||||
|
@@ -353,18 +354,15 @@ base::string16 WebEngineLibraryInfo::getApplicationName()
|
||||||
|
std::string WebEngineLibraryInfo::getApplicationLocale()
|
||||||
|
{
|
||||||
|
base::CommandLine *parsedCommandLine = base::CommandLine::ForCurrentProcess();
|
||||||
|
- if (!parsedCommandLine->HasSwitch(switches::kLang)) {
|
||||||
|
+ if (parsedCommandLine->HasSwitch(switches::kLang)) {
|
||||||
|
+ return parsedCommandLine->GetSwitchValueASCII(switches::kLang);
|
||||||
|
+ } else {
|
||||||
|
const QString &locale = QLocale().bcp47Name();
|
||||||
|
-
|
||||||
|
- // QLocale::bcp47Name returns "en" for American English locale. Chromium requires the "US" suffix
|
||||||
|
- // to clarify the dialect and ignores the shorter version.
|
||||||
|
- if (locale == "en")
|
||||||
|
- return "en-US";
|
||||||
|
-
|
||||||
|
- return locale.toStdString();
|
||||||
|
+ std::string resolvedLocale;
|
||||||
|
+ if (l10n_util::CheckAndResolveLocale(locale.toStdString(), &resolvedLocale))
|
||||||
|
+ return resolvedLocale;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- return parsedCommandLine->GetSwitchValueASCII(switches::kLang);
|
||||||
|
+ return "en-US";
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
|
||||||
|
index 02198638..bf2c28ae 100644
|
||||||
|
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
|
||||||
|
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
|
||||||
|
@@ -123,6 +123,7 @@ private Q_SLOTS:
|
||||||
|
void doNotBreakLayout();
|
||||||
|
|
||||||
|
void changeLocale();
|
||||||
|
+ void mixLangLocale();
|
||||||
|
void inputMethodsTextFormat_data();
|
||||||
|
void inputMethodsTextFormat();
|
||||||
|
void keyboardEvents();
|
||||||
|
@@ -1210,6 +1211,29 @@ void tst_QWebEngineView::changeLocale()
|
||||||
|
QCOMPARE(errorLines.first().toUtf8(), QByteArrayLiteral("Die Website ist nicht erreichbar"));
|
||||||
|
}
|
||||||
|
|
||||||
|
+void tst_QWebEngineView::mixLangLocale()
|
||||||
|
+{
|
||||||
|
+ for (QString locale : { "en_DK", "de_CH", "eu_ES" }) {
|
||||||
|
+ QLocale::setDefault(locale);
|
||||||
|
+ QWebEngineView view;
|
||||||
|
+ QSignalSpy loadSpy(&view, &QWebEngineView::loadFinished);
|
||||||
|
+
|
||||||
|
+ bool terminated = false;
|
||||||
|
+ auto sc = connect(view.page(), &QWebEnginePage::renderProcessTerminated, [&] () { terminated = true; });
|
||||||
|
+
|
||||||
|
+ view.load(QUrl("qrc:///resources/dummy.html"));
|
||||||
|
+ QTRY_VERIFY(terminated || loadSpy.count() == 1);
|
||||||
|
+
|
||||||
|
+ QVERIFY2(!terminated,
|
||||||
|
+ qPrintable(QString("Locale [%1] terminated: %2, loaded: %3").arg(locale).arg(terminated).arg(loadSpy.count())));
|
||||||
|
+ QVERIFY(loadSpy.first().first().toBool());
|
||||||
|
+
|
||||||
|
+ QString content = toPlainTextSync(view.page());
|
||||||
|
+ QVERIFY2(!content.isEmpty() && content.contains("test content"), qPrintable(content));
|
||||||
|
+ }
|
||||||
|
+ QLocale::setDefault(QLocale("en"));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void tst_QWebEngineView::inputMethodsTextFormat_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<QString>("string");
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
15
_service
Normal file
15
_service
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<services>
|
||||||
|
<service name="tar_scm" mode="disabled">
|
||||||
|
<param name="changesgenerate">enable</param>
|
||||||
|
<param name="version">5.15.3</param>
|
||||||
|
<param name="url">git://code.qt.io/qt/qtwebengine.git</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="filename">qtwebengine-everywhere-src</param>
|
||||||
|
<param name="revision">5.15.3</param>
|
||||||
|
</service>
|
||||||
|
<service name="recompress" mode="disabled">
|
||||||
|
<param name="file">*.tar</param>
|
||||||
|
<param name="compression">xz</param>
|
||||||
|
</service>
|
||||||
|
<service name="set_version" mode="disabled" />
|
||||||
|
</services>
|
4
_servicedata
Normal file
4
_servicedata
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<servicedata>
|
||||||
|
<service name="tar_scm">
|
||||||
|
<param name="url">git://code.qt.io/qt/qtwebengine.git</param>
|
||||||
|
<param name="changesrevision">a059e7404a6db799f4da0ad696e65ae9c854b4b0</param></service></servicedata>
|
@ -1,13 +1,13 @@
|
|||||||
# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
|
# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
|
||||||
|
|
||||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
===================================================================
|
index 4772dc0..1f31d3a 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
@@ -253,6 +253,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
@@ -268,6 +268,18 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
|
||||||
return RestrictKillTarget(current_pid, sysno);
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
+#if defined(__NR_newfstatat)
|
+#if defined(__NR_newfstatat)
|
||||||
+ if (sysno == __NR_newfstatat) {
|
+ if (sysno == __NR_newfstatat) {
|
||||||
@ -24,10 +24,10 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
|||||||
if (SyscallSets::IsFileSystem(sysno) ||
|
if (SyscallSets::IsFileSystem(sysno) ||
|
||||||
SyscallSets::IsCurrentDirectory(sysno)) {
|
SyscallSets::IsCurrentDirectory(sysno)) {
|
||||||
return Error(fs_denied_errno);
|
return Error(fs_denied_errno);
|
||||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||||
===================================================================
|
index 76eb324..ad95656 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||||
@@ -6,6 +6,8 @@
|
@@ -6,6 +6,8 @@
|
||||||
|
|
||||||
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
|
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
|
||||||
@ -36,8 +36,8 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
|||||||
+#include <fcntl.h>
|
+#include <fcntl.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <sys/syscall.h>
|
#include <string.h>
|
||||||
@@ -353,6 +355,35 @@ intptr_t SIGSYSSchedHandler(const struct
|
@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct arch_seccomp_data& args,
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
|||||||
bpf_dsl::ResultExpr CrashSIGSYS() {
|
bpf_dsl::ResultExpr CrashSIGSYS() {
|
||||||
return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
|
return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
|
||||||
}
|
}
|
||||||
@@ -385,6 +416,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
|
@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS() {
|
||||||
return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
|
return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,23 +84,22 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
|||||||
void AllocateCrashKeys() {
|
void AllocateCrashKeys() {
|
||||||
#if !defined(OS_NACL_NONSFI)
|
#if !defined(OS_NACL_NONSFI)
|
||||||
if (seccomp_crash_key)
|
if (seccomp_crash_key)
|
||||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||||
===================================================================
|
index 7a958b9..d0bfab7 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||||
@@ -63,6 +63,11 @@ SIGSYSPtraceFailure(const struct arch_se
|
@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFailure(const arch_seccomp_data& args,
|
||||||
SANDBOX_EXPORT intptr_t
|
// sched_setparam(), sched_setscheduler()
|
||||||
SIGSYSSchedHandler(const struct arch_seccomp_data& args, void* aux);
|
SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
|
||||||
|
void* aux);
|
||||||
+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
|
+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
|
||||||
+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
|
+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
|
||||||
+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
||||||
+ void* aux);
|
+ void* aux);
|
||||||
+
|
|
||||||
// Variants of the above functions for use with bpf_dsl.
|
// Variants of the above functions for use with bpf_dsl.
|
||||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
|
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
|
||||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSClone();
|
@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSKill();
|
||||||
@@ -72,6 +77,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash
|
|
||||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
|
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
|
||||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
|
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
|
||||||
SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
|
SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
|
||||||
@ -108,10 +107,10 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
|||||||
|
|
||||||
// Allocates a crash key so that Seccomp information can be recorded.
|
// Allocates a crash key so that Seccomp information can be recorded.
|
||||||
void AllocateCrashKeys();
|
void AllocateCrashKeys();
|
||||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
diff --git a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||||
===================================================================
|
index fcfd2aa..5396b36 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
--- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
+++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||||
@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
|
@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
|
||||||
|
|
||||||
#endif // defined(MEMORY_SANITIZER)
|
#endif // defined(MEMORY_SANITIZER)
|
||||||
@ -126,10 +125,10 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/ser
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
} // namespace sandbox
|
} // namespace sandbox
|
||||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
diff --git a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||||
===================================================================
|
index 1975bfb..ed7ee5a 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
--- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
+++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||||
@@ -17,6 +17,7 @@ struct sock_fprog;
|
@@ -17,6 +17,7 @@ struct sock_fprog;
|
||||||
struct rlimit64;
|
struct rlimit64;
|
||||||
struct cap_hdr;
|
struct cap_hdr;
|
||||||
@ -138,7 +137,7 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/ser
|
|||||||
|
|
||||||
namespace sandbox {
|
namespace sandbox {
|
||||||
|
|
||||||
@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
|
@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int signum,
|
||||||
const struct sigaction* act,
|
const struct sigaction* act,
|
||||||
struct sigaction* oldact);
|
struct sigaction* oldact);
|
||||||
|
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
Author Bernhard M. Wiedemann <bwiedemann suse de>
|
From eaae274cb1975be558d8a535ba2310bc67c073a6 Mon Sep 17 00:00:00 2001
|
||||||
Date: 2020-04-07
|
From: "Bernhard M. Wiedemann" <bwiedemann suse de>
|
||||||
|
Date: Wed, 24 Mar 2021 16:00:08 +0100
|
||||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1163766
|
Subject: [PATCH] https://bugzilla.opensuse.org/show_bug.cgi?id=1163766
|
||||||
|
|
||||||
seccomp filters disallow a new kernel syscall to get time
|
seccomp filters disallow a new kernel syscall to get time
|
||||||
used on i586
|
used on i586
|
||||||
|
---
|
||||||
|
.../sandbox/linux/system_headers/x86_32_linux_syscalls.h | 8 ++++++++
|
||||||
|
.../chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc | 3 +++
|
||||||
|
3 files changed, 16 insertions(+)
|
||||||
|
|
||||||
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||||
===================================================================
|
index 7613c9bbc..7093ac054 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
--- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||||
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||||
@@ -1710,5 +1710,13 @@
|
@@ -1710,5 +1710,13 @@
|
||||||
#define __NR_clone3 435
|
#define __NR_clone3 435
|
||||||
#endif
|
#endif
|
||||||
@ -24,33 +28,20 @@ Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/lin
|
|||||||
+
|
+
|
||||||
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
|
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
|
||||||
|
|
||||||
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
diff --git a/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc b/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc
|
||||||
===================================================================
|
index 3fcdbcc18..c7a00c2c2 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
--- a/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc
|
||||||
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
+++ b/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc
|
||||||
@@ -151,6 +151,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
@@ -31,6 +31,9 @@ ResultExpr ImeProcessPolicy::EvaluateSyscall(int sysno) const {
|
||||||
if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
|
#endif
|
||||||
return RestrictClockID();
|
|
||||||
}
|
|
||||||
+#if defined(__NR_clock_gettime64)
|
|
||||||
+ if (sysno == __NR_clock_gettime64 || sysno == __NR_clock_nanosleep_time64) {
|
|
||||||
+ return RestrictClockID();
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (sysno == __NR_clone) {
|
|
||||||
return RestrictCloneToThreadsAndEPERMFork();
|
|
||||||
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
|
||||||
===================================================================
|
|
||||||
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
|
||||||
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
|
||||||
@@ -31,6 +31,9 @@ ResultExpr ImeProcessPolicy::EvaluateSys
|
|
||||||
#if defined(__NR_clock_gettime)
|
#if defined(__NR_clock_gettime)
|
||||||
case __NR_clock_gettime:
|
case __NR_clock_gettime:
|
||||||
#endif
|
+#endif
|
||||||
+#if defined(__NR_clock_gettime64)
|
+#if defined(__NR_clock_gettime64)
|
||||||
+ case __NR_clock_gettime64:
|
+ case __NR_clock_gettime64:
|
||||||
+#endif
|
#endif
|
||||||
return Allow();
|
return Allow();
|
||||||
// https://crbug.com/991435
|
// https://crbug.com/991435
|
||||||
#if defined(__NR_getrusage)
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
From b516ed189eb440e909f36baca1557b98e4d9ffd7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Frederik Seiffert <frederik@algoriddim.com>
|
|
||||||
Date: Thu, 12 Nov 2020 12:53:43 +0100
|
|
||||||
Subject: [PATCH] Fix building with ICU 68.
|
|
||||||
|
|
||||||
ICU 68 no longer defines the TRUE macro.
|
|
||||||
|
|
||||||
Closes #204.
|
|
||||||
---
|
|
||||||
encoding.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/encoding.c b/encoding.c
|
|
||||||
index c34aca44..264f60bb 100644
|
|
||||||
--- a/src/3rdparty/chromium/third_party/libxml/src/encoding.c
|
|
||||||
+++ b/src/3rdparty/chromium/third_party/libxml/src/encoding.c
|
|
||||||
@@ -2004,7 +2004,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out,
|
|
||||||
#ifdef LIBXML_ICU_ENABLED
|
|
||||||
else if (handler->uconv_out != NULL) {
|
|
||||||
ret = xmlUconvWrapper(handler->uconv_out, 0, out, outlen, in, inlen,
|
|
||||||
- TRUE);
|
|
||||||
+ 1);
|
|
||||||
}
|
|
||||||
#endif /* LIBXML_ICU_ENABLED */
|
|
||||||
else {
|
|
||||||
--
|
|
||||||
GitLab
|
|
301
icu-68.patch
301
icu-68.patch
@ -1,301 +0,0 @@
|
|||||||
From 9236b21c883360482bd2c06929bfdecbc47f186c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
||||||
Date: Mon, 16 Nov 2020 13:16:13 +0100
|
|
||||||
Subject: Fix build with system ICU 68
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Fixes: QTBUG-88116
|
|
||||||
Change-Id: I935babf51c2670fad7cc7950a2fe07eb2829c4cb
|
|
||||||
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
||||||
---
|
|
||||||
chromium/base/i18n/string_compare.cc | 4 ++--
|
|
||||||
chromium/base/i18n/time_formatting.cc | 2 +-
|
|
||||||
.../components/autofill/core/common/autofill_regexes.cc | 8 ++++----
|
|
||||||
.../spellcheck/renderer/spellcheck_worditerator.cc | 2 +-
|
|
||||||
.../url_formatter/spoof_checks/idn_spoof_checker.cc | 4 ++--
|
|
||||||
.../url_formatter/spoof_checks/skeleton_generator.cc | 2 +-
|
|
||||||
chromium/services/service_manager/zygote/zygote_linux.cc | 2 +-
|
|
||||||
.../blink/renderer/platform/text/locale_icu.cc | 4 ++--
|
|
||||||
.../renderer/platform/text/text_break_iterator_icu.cc | 16 ++++++++--------
|
|
||||||
.../blink/renderer/platform/text/unicode_utilities.cc | 2 +-
|
|
||||||
.../blink/renderer/platform/wtf/text/text_codec_icu.cc | 2 +-
|
|
||||||
chromium/ui/base/l10n/formatter.cc | 6 +++---
|
|
||||||
12 files changed, 27 insertions(+), 27 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chromium/base/i18n/string_compare.cc b/chromium/base/i18n/string_compare.cc
|
|
||||||
index 6cd59b98f49..a5fa502b53f 100644
|
|
||||||
--- a/src/3rdparty/chromium/base/i18n/string_compare.cc
|
|
||||||
+++ b/src/3rdparty/chromium/base/i18n/string_compare.cc
|
|
||||||
@@ -18,8 +18,8 @@ UCollationResult CompareString16WithCollator(const icu::Collator& collator,
|
|
||||||
StringPiece16 rhs) {
|
|
||||||
UErrorCode error = U_ZERO_ERROR;
|
|
||||||
UCollationResult result = collator.compare(
|
|
||||||
- icu::UnicodeString(FALSE, lhs.data(), static_cast<int>(lhs.length())),
|
|
||||||
- icu::UnicodeString(FALSE, rhs.data(), static_cast<int>(rhs.length())),
|
|
||||||
+ icu::UnicodeString(false, lhs.data(), static_cast<int>(lhs.length())),
|
|
||||||
+ icu::UnicodeString(false, rhs.data(), static_cast<int>(rhs.length())),
|
|
||||||
error);
|
|
||||||
DCHECK(U_SUCCESS(error));
|
|
||||||
return result;
|
|
||||||
diff --git a/chromium/base/i18n/time_formatting.cc b/chromium/base/i18n/time_formatting.cc
|
|
||||||
index 1a6c1389ba0..106dd0e5b47 100644
|
|
||||||
--- a/src/3rdparty/chromium/base/i18n/time_formatting.cc
|
|
||||||
+++ b/src/3rdparty/chromium/base/i18n/time_formatting.cc
|
|
||||||
@@ -236,7 +236,7 @@ bool TimeDurationFormatWithSeconds(const TimeDelta time,
|
|
||||||
icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE);
|
|
||||||
measure_format.formatMeasures(measures, 3, formatted, ignore, status);
|
|
||||||
*out = i18n::UnicodeStringToString16(formatted);
|
|
||||||
- return U_SUCCESS(status) == TRUE;
|
|
||||||
+ return U_SUCCESS(status) == true;
|
|
||||||
}
|
|
||||||
|
|
||||||
string16 DateIntervalFormat(const Time& begin_time,
|
|
||||||
diff --git a/chromium/components/autofill/core/common/autofill_regexes.cc b/chromium/components/autofill/core/common/autofill_regexes.cc
|
|
||||||
index b141cb2d0f6..a8a688d50c7 100644
|
|
||||||
--- a/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
|
|
||||||
+++ b/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
|
|
||||||
@@ -43,7 +43,7 @@ class AutofillRegexes {
|
|
||||||
icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) {
|
|
||||||
auto it = matchers_.find(pattern);
|
|
||||||
if (it == matchers_.end()) {
|
|
||||||
- const icu::UnicodeString icu_pattern(FALSE, pattern.data(),
|
|
||||||
+ const icu::UnicodeString icu_pattern(false, pattern.data(),
|
|
||||||
pattern.length());
|
|
||||||
|
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
|
||||||
@@ -70,20 +70,20 @@ bool MatchesPattern(const base::string16& input,
|
|
||||||
base::AutoLock lock(*g_lock);
|
|
||||||
|
|
||||||
icu::RegexMatcher* matcher = g_autofill_regexes->GetMatcher(pattern);
|
|
||||||
- icu::UnicodeString icu_input(FALSE, input.data(), input.length());
|
|
||||||
+ icu::UnicodeString icu_input(false, input.data(), input.length());
|
|
||||||
matcher->reset(icu_input);
|
|
||||||
|
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
|
||||||
UBool matched = matcher->find(0, status);
|
|
||||||
DCHECK(U_SUCCESS(status));
|
|
||||||
|
|
||||||
- if (matched == TRUE && match) {
|
|
||||||
+ if (matched == true && match) {
|
|
||||||
icu::UnicodeString match_unicode = matcher->group(0, status);
|
|
||||||
DCHECK(U_SUCCESS(status));
|
|
||||||
*match = base::i18n::UnicodeStringToString16(match_unicode);
|
|
||||||
}
|
|
||||||
|
|
||||||
- return matched == TRUE;
|
|
||||||
+ return matched == true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace autofill
|
|
||||||
diff --git a/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc b/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
|
|
||||||
index 8fe8a6df381..e3a65580c08 100644
|
|
||||||
--- a/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
|
|
||||||
+++ b/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
|
|
||||||
@@ -424,7 +424,7 @@ bool SpellcheckWordIterator::Normalize(size_t input_start,
|
|
||||||
// spellchecker and we need manual normalization as well. The normalized
|
|
||||||
// text does not have to be NUL-terminated since its characters are copied to
|
|
||||||
// string16, which adds a NUL character when we need.
|
|
||||||
- icu::UnicodeString input(FALSE, &text_[input_start],
|
|
||||||
+ icu::UnicodeString input(false, &text_[input_start],
|
|
||||||
base::checked_cast<int32_t>(input_length));
|
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
|
||||||
icu::UnicodeString output;
|
|
||||||
diff --git a/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc b/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
|
|
||||||
index 1964793fd3e..c4e01026c38 100644
|
|
||||||
--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
|
|
||||||
+++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
|
|
||||||
@@ -347,7 +347,7 @@ bool IDNSpoofChecker::SafeToDisplayAsUnicode(
|
|
||||||
if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
- icu::UnicodeString label_string(FALSE /* isTerminated */, label.data(),
|
|
||||||
+ icu::UnicodeString label_string(false /* isTerminated */, label.data(),
|
|
||||||
base::checked_cast<int32_t>(label.size()));
|
|
||||||
|
|
||||||
// A punycode label with 'xn--' prefix is not subject to the URL
|
|
||||||
@@ -677,7 +677,7 @@ bool IDNSpoofChecker::IsWholeScriptConfusableAllowedForTLD(
|
|
||||||
base::StringPiece tld,
|
|
||||||
base::StringPiece16 tld_unicode) {
|
|
||||||
icu::UnicodeString tld_string(
|
|
||||||
- FALSE /* isTerminated */, tld_unicode.data(),
|
|
||||||
+ false /* isTerminated */, tld_unicode.data(),
|
|
||||||
base::checked_cast<int32_t>(tld_unicode.size()));
|
|
||||||
// Allow if the TLD contains any letter from the script, in which case it's
|
|
||||||
// likely to be a TLD in that script.
|
|
||||||
diff --git a/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc b/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
|
|
||||||
index 41485914007..b8c1c2f547a 100644
|
|
||||||
--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
|
|
||||||
+++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
|
|
||||||
@@ -117,7 +117,7 @@ SkeletonGenerator::~SkeletonGenerator() = default;
|
|
||||||
Skeletons SkeletonGenerator::GetSkeletons(base::StringPiece16 hostname) {
|
|
||||||
Skeletons skeletons;
|
|
||||||
size_t hostname_length = hostname.length() - (hostname.back() == '.' ? 1 : 0);
|
|
||||||
- icu::UnicodeString host(FALSE, hostname.data(), hostname_length);
|
|
||||||
+ icu::UnicodeString host(false, hostname.data(), hostname_length);
|
|
||||||
// If input has any characters outside Latin-Greek-Cyrillic and [0-9._-],
|
|
||||||
// there is no point in getting rid of diacritics because combining marks
|
|
||||||
// attached to non-LGC characters are already blocked.
|
|
||||||
diff --git a/chromium/services/service_manager/zygote/zygote_linux.cc b/chromium/services/service_manager/zygote/zygote_linux.cc
|
|
||||||
index aa601ab28d7..920438e5b50 100644
|
|
||||||
--- a/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
|
|
||||||
+++ b/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
|
|
||||||
@@ -564,7 +564,7 @@ base::ProcessId Zygote::ReadArgsAndFork(base::PickleIterator iter,
|
|
||||||
if (!iter.ReadString16(&timezone_id))
|
|
||||||
return -1;
|
|
||||||
icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone(
|
|
||||||
- icu::UnicodeString(FALSE, timezone_id.data(), timezone_id.length())));
|
|
||||||
+ icu::UnicodeString(false, timezone_id.data(), timezone_id.length())));
|
|
||||||
|
|
||||||
if (!iter.ReadInt(&numfds))
|
|
||||||
return -1;
|
|
||||||
diff --git a/chromium/third_party/blink/renderer/platform/text/locale_icu.cc b/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
|
|
||||||
index abff1b1d809..57f1286d4e4 100644
|
|
||||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
|
|
||||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
|
|
||||||
@@ -169,12 +169,12 @@ static String GetDateFormatPattern(const UDateFormat* date_format) {
|
|
||||||
return g_empty_string;
|
|
||||||
|
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
|
||||||
- int32_t length = udat_toPattern(date_format, TRUE, nullptr, 0, &status);
|
|
||||||
+ int32_t length = udat_toPattern(date_format, true, nullptr, 0, &status);
|
|
||||||
if (status != U_BUFFER_OVERFLOW_ERROR || !length)
|
|
||||||
return g_empty_string;
|
|
||||||
StringBuffer<UChar> buffer(length);
|
|
||||||
status = U_ZERO_ERROR;
|
|
||||||
- udat_toPattern(date_format, TRUE, buffer.Characters(), length, &status);
|
|
||||||
+ udat_toPattern(date_format, true, buffer.Characters(), length, &status);
|
|
||||||
if (U_FAILURE(status))
|
|
||||||
return g_empty_string;
|
|
||||||
return String::Adopt(buffer);
|
|
||||||
diff --git a/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc b/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
|
|
||||||
index a257cd75ccf..898d0c47bb1 100644
|
|
||||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
|
|
||||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
|
|
||||||
@@ -311,13 +311,13 @@ static inline bool TextInChunkOrOutOfRange(UText* text,
|
|
||||||
text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
|
|
||||||
? static_cast<int32_t>(offset)
|
|
||||||
: 0;
|
|
||||||
- is_accessible = TRUE;
|
|
||||||
+ is_accessible = true;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (native_index >= native_length &&
|
|
||||||
text->chunkNativeLimit == native_length) {
|
|
||||||
text->chunkOffset = text->chunkLength;
|
|
||||||
- is_accessible = FALSE;
|
|
||||||
+ is_accessible = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
@@ -330,12 +330,12 @@ static inline bool TextInChunkOrOutOfRange(UText* text,
|
|
||||||
text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
|
|
||||||
? static_cast<int32_t>(offset)
|
|
||||||
: 0;
|
|
||||||
- is_accessible = TRUE;
|
|
||||||
+ is_accessible = true;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (native_index <= 0 && !text->chunkNativeStart) {
|
|
||||||
text->chunkOffset = 0;
|
|
||||||
- is_accessible = FALSE;
|
|
||||||
+ is_accessible = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -346,7 +346,7 @@ static UBool TextLatin1Access(UText* text,
|
|
||||||
int64_t native_index,
|
|
||||||
UBool forward) {
|
|
||||||
if (!text->context)
|
|
||||||
- return FALSE;
|
|
||||||
+ return false;
|
|
||||||
int64_t native_length = TextNativeLength(text);
|
|
||||||
UBool is_accessible;
|
|
||||||
if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
|
|
||||||
@@ -370,7 +370,7 @@ static UBool TextLatin1Access(UText* text,
|
|
||||||
DCHECK_EQ(new_context, kPriorContext);
|
|
||||||
TextLatin1SwitchToPriorContext(text, native_index, native_length, forward);
|
|
||||||
}
|
|
||||||
- return TRUE;
|
|
||||||
+ return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct UTextFuncs kTextLatin1Funcs = {
|
|
||||||
@@ -510,7 +510,7 @@ static void TextUTF16SwitchToPriorContext(UText* text,
|
|
||||||
|
|
||||||
static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) {
|
|
||||||
if (!text->context)
|
|
||||||
- return FALSE;
|
|
||||||
+ return false;
|
|
||||||
int64_t native_length = TextNativeLength(text);
|
|
||||||
UBool is_accessible;
|
|
||||||
if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
|
|
||||||
@@ -532,7 +532,7 @@ static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) {
|
|
||||||
DCHECK_EQ(new_context, kPriorContext);
|
|
||||||
TextUTF16SwitchToPriorContext(text, native_index, native_length, forward);
|
|
||||||
}
|
|
||||||
- return TRUE;
|
|
||||||
+ return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct UTextFuncs kTextUTF16Funcs = {
|
|
||||||
diff --git a/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc b/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
|
|
||||||
index 2cefd5390b6..b8c4515dc13 100644
|
|
||||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
|
|
||||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
|
|
||||||
@@ -300,7 +300,7 @@ void NormalizeCharactersIntoNFCForm(const UChar* characters,
|
|
||||||
DCHECK(U_SUCCESS(status));
|
|
||||||
int32_t input_length = static_cast<int32_t>(length);
|
|
||||||
// copy-on-write.
|
|
||||||
- icu::UnicodeString normalized(FALSE, characters, input_length);
|
|
||||||
+ icu::UnicodeString normalized(false, characters, input_length);
|
|
||||||
// In the vast majority of cases, input is already NFC. Run a quick check
|
|
||||||
// to avoid normalizing the entire input unnecessarily.
|
|
||||||
int32_t normalized_prefix_length =
|
|
||||||
diff --git a/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
|
|
||||||
index 810d1cd9181..9074b640fff 100644
|
|
||||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
|
|
||||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
|
|
||||||
@@ -326,7 +326,7 @@ void TextCodecICU::CreateICUConverter() const {
|
|
||||||
DLOG_IF(ERROR, err == U_AMBIGUOUS_ALIAS_WARNING)
|
|
||||||
<< "ICU ambiguous alias warning for encoding: " << encoding_.GetName();
|
|
||||||
if (converter_icu_)
|
|
||||||
- ucnv_setFallback(converter_icu_, TRUE);
|
|
||||||
+ ucnv_setFallback(converter_icu_, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
int TextCodecICU::DecodeToBuffer(UChar* target,
|
|
||||||
diff --git a/chromium/ui/base/l10n/formatter.cc b/chromium/ui/base/l10n/formatter.cc
|
|
||||||
index 486a3a029cb..d7a41724628 100644
|
|
||||||
--- a/src/3rdparty/chromium/ui/base/l10n/formatter.cc
|
|
||||||
+++ b/src/3rdparty/chromium/ui/base/l10n/formatter.cc
|
|
||||||
@@ -232,7 +232,7 @@ void Formatter::Format(Unit unit,
|
|
||||||
int value,
|
|
||||||
icu::UnicodeString* formatted_string) const {
|
|
||||||
DCHECK(simple_format_[unit]);
|
|
||||||
- DCHECK(formatted_string->isEmpty() == TRUE);
|
|
||||||
+ DCHECK(formatted_string->isEmpty() == true);
|
|
||||||
UErrorCode error = U_ZERO_ERROR;
|
|
||||||
FormatNumberInPlural(*simple_format_[unit],
|
|
||||||
value, formatted_string, &error);
|
|
||||||
@@ -248,7 +248,7 @@ void Formatter::Format(TwoUnits units,
|
|
||||||
<< "Detailed() not implemented for your (format, length) combination!";
|
|
||||||
DCHECK(detailed_format_[units][1])
|
|
||||||
<< "Detailed() not implemented for your (format, length) combination!";
|
|
||||||
- DCHECK(formatted_string->isEmpty() == TRUE);
|
|
||||||
+ DCHECK(formatted_string->isEmpty() == true);
|
|
||||||
UErrorCode error = U_ZERO_ERROR;
|
|
||||||
FormatNumberInPlural(*detailed_format_[units][0], value_1,
|
|
||||||
formatted_string, &error);
|
|
||||||
@@ -281,7 +281,7 @@ std::unique_ptr<icu::MessageFormat> Formatter::InitFormat(
|
|
||||||
base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id);
|
|
||||||
UErrorCode error = U_ZERO_ERROR;
|
|
||||||
std::unique_ptr<icu::MessageFormat> format(new icu::MessageFormat(
|
|
||||||
- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error));
|
|
||||||
+ icu::UnicodeString(false, pattern.data(), pattern.length()), error));
|
|
||||||
DCHECK(U_SUCCESS(error));
|
|
||||||
if (format.get())
|
|
||||||
return format;
|
|
||||||
--
|
|
||||||
cgit v1.2.1
|
|
@ -1,3 +1,140 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 24 12:45:13 UTC 2021 - christophe@krop.fr
|
||||||
|
|
||||||
|
- Update to version 5.15.3:
|
||||||
|
* Fix spelling and coding style
|
||||||
|
* Fix new view request handling (QTBUG-87378)
|
||||||
|
* Fix getDefaultScreenId on X11
|
||||||
|
* Fix flaky tst_QWebEngineView::textSelectionOutOfInputField test
|
||||||
|
* Move touch input tests to separate testcase
|
||||||
|
* Add touch input tests for scrolling and pinch zooming
|
||||||
|
* Fix rare duplicate ids forming in touch point id's mapping
|
||||||
|
* Use the module's version number for QtWebEngineProcess
|
||||||
|
* Touch handling: provide id mapping without modifying TouchPoint instance
|
||||||
|
(QTBUG-88001)
|
||||||
|
* Touch handling: fix mapped ids cleanup for TouchCancel event
|
||||||
|
* et custom headers from QWebEngineUrlRequestInfo before triggering redirect
|
||||||
|
(QTBUG-88861)
|
||||||
|
* Forward modifier flags for lock keys (QTBUG-89001)
|
||||||
|
* Fix handling of more than one finger for touch event (QTBUG-86389)
|
||||||
|
* Stabilize load signals emitting (QTBUG-65223, QTBUG-87089)
|
||||||
|
* Fix building against 5.12 on most CIs
|
||||||
|
* Update minimum HarfBuzz version to 2.4.0 (QTBUG-88976)
|
||||||
|
* Fix building against Qt 5.14
|
||||||
|
* Migrate user script IPC to mojo
|
||||||
|
* Fix crashes in user resource controller when single process
|
||||||
|
* Minor. Fix namespace for user resource controller
|
||||||
|
* Minor. RenderThreadObserverQt is really a RenderConfiguration
|
||||||
|
* Remove RenderViewObserverHelper from UserResourceController
|
||||||
|
* Cache mojo interface bindings to UserResourceControllerRenderFrame
|
||||||
|
* Cache mojo interface bindings for WebChannelIPCTransport
|
||||||
|
* Migrate render_view_observer_qt to mojo
|
||||||
|
* Fix crash on linkedin.com (QTBUG-89740)
|
||||||
|
* Suppress error pages also for http errors if they are disabled
|
||||||
|
* Fix leak in QQuickWebEngineViewPrivate::contextMenuRequested
|
||||||
|
* Register PerformanceNode early enough
|
||||||
|
* Quiet log on webrtc usage
|
||||||
|
* Remove configure option that doesn't work
|
||||||
|
* Remove Java build dependency
|
||||||
|
* Fix blank popups in qml (QTBUG-86034)
|
||||||
|
* Fix position of popup on qml (QTBUG-86034, QTBUG-89358)
|
||||||
|
* Enable hangout services extension (QTBUG-85731)
|
||||||
|
* Allow to fallback to default locale for non existent data packs (QTBUG-90490)
|
||||||
|
* Support devtools close button
|
||||||
|
* Do not extract download file names from certain url schemes (QTBUG-90355)
|
||||||
|
* Leave room for the null-termination byte when checking remote drive path
|
||||||
|
(QTBUG-90347)
|
||||||
|
* Do not set open files limit for linking if not necessary
|
||||||
|
* Remove even more remains of non network service code
|
||||||
|
* Add back prefers-color-scheme support (QTBUG-89753)
|
||||||
|
* Start supporting chrome.resourcesPrivate API (QTBUG-90035)
|
||||||
|
* Enable chrome://user-actions WebUI
|
||||||
|
* Remove remains of chrome://flash
|
||||||
|
* Fix loadFinished signal if page has content but server sends HTTP error
|
||||||
|
(QTBUG-90517)
|
||||||
|
* Fix devtools page resource loading as raw data instead of html string
|
||||||
|
* Remove frame metadata observer (RenderWidgetHostViewQt) on destroy
|
||||||
|
* Resolve installed interceptors right before interception point (QTBUG-86286)
|
||||||
|
* Update searches faster
|
||||||
|
* Remove more leftovers of the old compositor
|
||||||
|
* Enable webrtc logging and the corresponding WebUI
|
||||||
|
* Support mips64el platform CPU(loongson 3A4000)
|
||||||
|
* Add tracing UI resources
|
||||||
|
* Fix crash on meet.google.com
|
||||||
|
* Fix mad popup qquickwindows on wayland
|
||||||
|
* Fix crashes on BrowserContext destruction
|
||||||
|
* Fix crash on exit in quicknanobrowser when popup
|
||||||
|
* Remove QtPdf dependency on nss at build-time
|
||||||
|
* Avoid accessing profileAdapter when profile is shutting down (QTBUG-91187)
|
||||||
|
* Do not flush messages form profile destructor
|
||||||
|
* Ignore QQuickWebEngineNewViewRequest if it is unhandled
|
||||||
|
* Fix ScopedGLContextChecker with QTWEBENGINE_DISABLE_GPU_THREAD=1
|
||||||
|
* Don't send duplicate load progress values
|
||||||
|
* Fix neon support in libpng
|
||||||
|
* Do not call deprecated profile interceptor on ui thread (QTBUG-86267)
|
||||||
|
* Add certificate error message for ERR_SSL_OBSOLETE_VERSION
|
||||||
|
* Fix assert in WebContentsAdapter::devToolsFrontendDestroyed
|
||||||
|
* Avoid to reject a certificate error twice in Quick
|
||||||
|
* Fix PDF viewer plugin
|
||||||
|
* FIXUP: Fix swap condition in DisplayGLOutputSurface::updatePaintNode
|
||||||
|
(QTBUG-86599)
|
||||||
|
* Fix favicon engine under device pixel scaling
|
||||||
|
* Do not pass a native keycode matching the menu key when it is remapped
|
||||||
|
(QTBUG-86672)
|
||||||
|
* Optimize WebEngineSettings::testAttribute
|
||||||
|
* Warn about QtWebengineProcess launching from network share (QTBUG-84632)
|
||||||
|
* Handle non-ascii names for pulseaudio (QTBUG-85363)
|
||||||
|
* Do not set audio device for desktop capture if audio loopback is unsupported
|
||||||
|
* Fix new view request handling (QTBUG-87378)
|
||||||
|
* Fix getDefaultScreenId on X11
|
||||||
|
* Touch handling: provide id mapping without modifying TouchPoint instance
|
||||||
|
(QTBUG-88001)
|
||||||
|
* Set custom headers from QWebEngineUrlRequestInfo before triggering redirect
|
||||||
|
(QTBUG-88861)
|
||||||
|
* Stabilize load signals emitting (QTBUG-65223)
|
||||||
|
|
||||||
|
- CVE fixes backported in chromium updates:
|
||||||
|
* CVE-2020-16044: Use after free in WebRTC
|
||||||
|
* CVE-2021-21118: Heap buffer overflow in Blink
|
||||||
|
* CVE-2021-21119: Use after free in Media
|
||||||
|
* CVE-2021-21120: Use after free in WebSQL
|
||||||
|
* CVE-2021-21121: Use after free in Omnibox
|
||||||
|
* CVE-2021-21122: Use after free in Blink
|
||||||
|
* CVE-2021-21123: Insufficient data validation in File System API
|
||||||
|
* CVE-2021-21125: Insufficient policy enforcement in File System API
|
||||||
|
* CVE-2021-21126: Insufficient policy enforcement in extensions
|
||||||
|
* CVE-2021-21127: Insufficient policy enforcement in extensions
|
||||||
|
* CVE-2021-21128: Heap buffer overflow in Blink
|
||||||
|
* CVE-2021-21129: Insufficient policy enforcement in File System API
|
||||||
|
* CVE-2021-21130: Insufficient policy enforcement in File System API
|
||||||
|
* CVE-2021-21131: Insufficient policy enforcement in File System API
|
||||||
|
* CVE-2021-21132: Inappropriate implementation in DevTools
|
||||||
|
* CVE-2021-21135: Inappropriate implementation in Performance API
|
||||||
|
* CVE-2021-21137: Inappropriate implementation in DevTools
|
||||||
|
* CVE-2021-21140: Uninitialized Use in USB
|
||||||
|
* CVE-2021-21141: Insufficient policy enforcement in File System API
|
||||||
|
* CVE-2021-21145: Use after free in Fonts
|
||||||
|
* CVE-2021-21146: Use after free in Navigation
|
||||||
|
* CVE-2021-21147: Inappropriate implementation in Skia
|
||||||
|
* CVE-2021-21148: Heap buffer overflow in V8
|
||||||
|
* CVE-2021-21149: Stack overflow in Data Transfer
|
||||||
|
* CVE-2021-21150: Use after free in Downloads
|
||||||
|
* CVE-2021-21152: Heap buffer overflow in Media
|
||||||
|
* CVE-2021-21153: Stack overflow in GPU Process
|
||||||
|
* CVE-2021-21156: Heap buffer overflow in V8
|
||||||
|
* CVE-2021-21157: Use after free in Web Sockets
|
||||||
|
- Drop obsolete patches:
|
||||||
|
* icu-68.patch
|
||||||
|
* icu-68-2.patch
|
||||||
|
- Rebase patches:
|
||||||
|
* fix1163766.patch
|
||||||
|
* sandbox-statx-futex_time64.patch
|
||||||
|
* rtc-dont-use-h264.patch
|
||||||
|
* chromium-glibc-2.33.patch
|
||||||
|
- Add patch to fix crash with certain locales:
|
||||||
|
* 0001-Fix-normalization-of-app-locales.patch
|
||||||
|
- Clean the spec file a bit
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Mar 10 16:52:28 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
|
Wed Mar 10 16:52:28 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libqt5-qtwebengine
|
# spec file for package libqt5-qtwebengine
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
# Copyright © 2017 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
# Copyright © 2017 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
@ -17,15 +17,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define qt5_snapshot 0
|
|
||||||
|
|
||||||
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150100
|
|
||||||
%bcond_without system_harfbuzz
|
|
||||||
%bcond_without system_icu
|
|
||||||
%else
|
|
||||||
%bcond_with system_harfbuzz
|
|
||||||
%bcond_with system_icu
|
|
||||||
%endif
|
|
||||||
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150300
|
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150300
|
||||||
%bcond_without system_vpx
|
%bcond_without system_vpx
|
||||||
%else
|
%else
|
||||||
@ -38,29 +29,31 @@
|
|||||||
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
|
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
|
||||||
|
|
||||||
Name: libqt5-qtwebengine
|
Name: libqt5-qtwebengine
|
||||||
Version: 5.15.2
|
Version: 5.15.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Qt 5 WebEngine Library
|
Summary: Qt 5 WebEngine Library
|
||||||
License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
Group: Development/Libraries/X11
|
Group: Development/Libraries/X11
|
||||||
URL: https://www.qt.io
|
URL: https://www.qt.io
|
||||||
%define base_name libqt5
|
%define base_name libqt5
|
||||||
%define real_version 5.15.2
|
%define real_version 5.15.3
|
||||||
%define so_version 5.15.2
|
%define so_version 5.15.3
|
||||||
%define tar_version qtwebengine-everywhere-src-5.15.2
|
%define tar_version qtwebengine-everywhere-src-%{version}
|
||||||
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
|
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||||
|
# Generated from a local build
|
||||||
|
Source1: sync.profile
|
||||||
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
|
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
|
||||||
Patch1: armv6-ffmpeg-no-thumb.patch
|
Patch0: armv6-ffmpeg-no-thumb.patch
|
||||||
# PATCH-FIX-OPENSUSE disable-gpu-when-using-nouveau-boo-1005323.diff
|
# PATCH-FIX-OPENSUSE disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||||
Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
|
Patch1: disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||||
Patch3: fix1163766.patch
|
Patch2: fix1163766.patch
|
||||||
Patch4: chromium-glibc-2.33.patch
|
Patch3: sandbox-statx-futex_time64.patch
|
||||||
Patch5: sandbox-statx-futex_time64.patch
|
|
||||||
# PATCH-FIX-OPENSUSE
|
# PATCH-FIX-OPENSUSE
|
||||||
Patch9: rtc-dont-use-h264.patch
|
Patch4: rtc-dont-use-h264.patch
|
||||||
# PATCH-FIX-UPSTREAM
|
# PATCH-FIX-UPSTREAM
|
||||||
Patch10: icu-68.patch
|
Patch5: 0001-Fix-normalization-of-app-locales.patch
|
||||||
Patch11: icu-68-2.patch
|
# PATCH-FIX-UPSTREAM
|
||||||
|
Patch6: chromium-glibc-2.33.patch
|
||||||
# http://www.chromium.org/blink not ported to PowerPC
|
# http://www.chromium.org/blink not ported to PowerPC
|
||||||
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
||||||
# Try to fix i586 MemoryErrors with rpmlint
|
# Try to fix i586 MemoryErrors with rpmlint
|
||||||
@ -80,29 +73,33 @@ BuildRequires: libQt5QuickControls2-devel
|
|||||||
BuildRequires: libqt5-qtsvg-devel
|
BuildRequires: libqt5-qtsvg-devel
|
||||||
BuildRequires: libcap-devel
|
BuildRequires: libcap-devel
|
||||||
BuildRequires: libgcrypt-devel
|
BuildRequires: libgcrypt-devel
|
||||||
BuildRequires: libicu-devel
|
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
BuildRequires: libpng-devel
|
BuildRequires: libpng-devel
|
||||||
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.9
|
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.9
|
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.9
|
BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qttools-private-headers-devel >= 5.9
|
BuildRequires: libqt5-qttools-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.9
|
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.9
|
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.12
|
||||||
BuildRequires: memory-constraints
|
BuildRequires: memory-constraints
|
||||||
BuildRequires: ninja
|
BuildRequires: ninja
|
||||||
|
# nodejs-default doesn't exist on Leap 15.2 and nodejs/nodejs-common is confused on TW/i586
|
||||||
|
%if 0%{?suse_version} == 1500 && 0%{?sle_version} == 150200
|
||||||
|
BuildRequires: nodejs-common
|
||||||
|
%else
|
||||||
|
BuildRequires: nodejs-default
|
||||||
|
%endif
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
BuildRequires: pciutils-devel
|
BuildRequires: pciutils-devel
|
||||||
|
BuildRequires: perl
|
||||||
BuildRequires: perl-JSON
|
BuildRequires: perl-JSON
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: python-xml
|
BuildRequires: python-xml
|
||||||
BuildRequires: re2-devel
|
|
||||||
BuildRequires: re2c
|
BuildRequires: re2c
|
||||||
BuildRequires: sed
|
BuildRequires: sed
|
||||||
BuildRequires: snappy-devel
|
BuildRequires: snappy-devel
|
||||||
BuildRequires: sqlite3-devel
|
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: usbutils
|
BuildRequires: usbutils
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
@ -119,13 +116,23 @@ BuildRequires: pkgconfig(bzip2)
|
|||||||
BuildRequires: pkgconfig(cairo)
|
BuildRequires: pkgconfig(cairo)
|
||||||
BuildRequires: pkgconfig(dbus-1)
|
BuildRequires: pkgconfig(dbus-1)
|
||||||
BuildRequires: pkgconfig(fontconfig)
|
BuildRequires: pkgconfig(fontconfig)
|
||||||
BuildRequires: pkgconfig(freetype2)
|
BuildRequires: pkgconfig(freetype2) >= 2.4.2
|
||||||
BuildRequires: pkgconfig(gio-2.0)
|
BuildRequires: pkgconfig(gio-2.0)
|
||||||
BuildRequires: pkgconfig(glib-2.0)
|
BuildRequires: pkgconfig(glib-2.0) >= 2.32
|
||||||
|
BuildRequires: pkgconfig(glproto)
|
||||||
BuildRequires: pkgconfig(gmodule-2.0)
|
BuildRequires: pkgconfig(gmodule-2.0)
|
||||||
BuildRequires: pkgconfig(gobject-2.0)
|
BuildRequires: pkgconfig(gobject-2.0)
|
||||||
BuildRequires: pkgconfig(gthread-2.0)
|
BuildRequires: pkgconfig(gthread-2.0)
|
||||||
|
BuildRequires: pkgconfig(harfbuzz) >= 2.4.0
|
||||||
|
BuildRequires: pkgconfig(icu-uc) >= 65.0
|
||||||
|
BuildRequires: pkgconfig(icu-i18n) >= 65.0
|
||||||
BuildRequires: pkgconfig(jsoncpp)
|
BuildRequires: pkgconfig(jsoncpp)
|
||||||
|
BuildRequires: pkgconfig(lcms2)
|
||||||
|
%if %{with system_ffmpeg}
|
||||||
|
BuildRequires: pkgconfig(libavcodec)
|
||||||
|
BuildRequires: pkgconfig(libavformat)
|
||||||
|
BuildRequires: pkgconfig(libavutil)
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(libcrypto)
|
BuildRequires: pkgconfig(libcrypto)
|
||||||
BuildRequires: pkgconfig(libdrm)
|
BuildRequires: pkgconfig(libdrm)
|
||||||
BuildRequires: pkgconfig(libevent)
|
BuildRequires: pkgconfig(libevent)
|
||||||
@ -140,13 +147,22 @@ BuildRequires: pkgconfig(libusb-1.0)
|
|||||||
BuildRequires: pkgconfig(libwebp)
|
BuildRequires: pkgconfig(libwebp)
|
||||||
BuildRequires: pkgconfig(libxml-2.0)
|
BuildRequires: pkgconfig(libxml-2.0)
|
||||||
BuildRequires: pkgconfig(libxslt)
|
BuildRequires: pkgconfig(libxslt)
|
||||||
|
%if %{with system_minizip}
|
||||||
|
BuildRequires: pkgconfig(minizip)
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(nspr)
|
BuildRequires: pkgconfig(nspr)
|
||||||
BuildRequires: pkgconfig(nss)
|
BuildRequires: pkgconfig(nss)
|
||||||
BuildRequires: pkgconfig(opus)
|
BuildRequires: pkgconfig(opus)
|
||||||
BuildRequires: pkgconfig(pangocairo)
|
BuildRequires: pkgconfig(pangocairo)
|
||||||
BuildRequires: pkgconfig(pangoft2)
|
BuildRequires: pkgconfig(pangoft2)
|
||||||
|
BuildRequires: pkgconfig(poppler-cpp)
|
||||||
BuildRequires: pkgconfig(protobuf)
|
BuildRequires: pkgconfig(protobuf)
|
||||||
|
BuildRequires: pkgconfig(re2)
|
||||||
BuildRequires: pkgconfig(speex)
|
BuildRequires: pkgconfig(speex)
|
||||||
|
BuildRequires: pkgconfig(sqlite3)
|
||||||
|
%if %{with system_vpx}
|
||||||
|
BuildRequires: pkgconfig(vpx) >= 1.8.0
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(x11)
|
BuildRequires: pkgconfig(x11)
|
||||||
BuildRequires: pkgconfig(xcomposite)
|
BuildRequires: pkgconfig(xcomposite)
|
||||||
BuildRequires: pkgconfig(xcursor)
|
BuildRequires: pkgconfig(xcursor)
|
||||||
@ -161,28 +177,6 @@ BuildRequires: pkgconfig(xt)
|
|||||||
BuildRequires: pkgconfig(xtst)
|
BuildRequires: pkgconfig(xtst)
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
BuildRequires: yasm-devel
|
BuildRequires: yasm-devel
|
||||||
%if %{with system_minizip}
|
|
||||||
BuildRequires: pkgconfig(minizip)
|
|
||||||
%endif
|
|
||||||
%if %{with system_harfbuzz}
|
|
||||||
BuildRequires: pkgconfig(harfbuzz) >= 2.2.0
|
|
||||||
%endif
|
|
||||||
%if %{with system_icu}
|
|
||||||
BuildRequires: pkgconfig(icu-uc) >= 64.0
|
|
||||||
BuildRequires: pkgconfig(icu-i18n) >= 64.0
|
|
||||||
%endif
|
|
||||||
%if %{with system_vpx}
|
|
||||||
BuildRequires: pkgconfig(vpx) >= 1.8.0
|
|
||||||
%endif
|
|
||||||
%if %{with system_ffmpeg}
|
|
||||||
BuildRequires: pkgconfig(libavcodec)
|
|
||||||
BuildRequires: pkgconfig(libavformat)
|
|
||||||
BuildRequires: pkgconfig(libavutil)
|
|
||||||
%endif
|
|
||||||
%if %qt5_snapshot
|
|
||||||
#to create the forwarding headers
|
|
||||||
BuildRequires: perl
|
|
||||||
%endif
|
|
||||||
%requires_ge libQt5Network5
|
%requires_ge libQt5Network5
|
||||||
%requires_ge libQtQuick5
|
%requires_ge libQtQuick5
|
||||||
%requires_ge libQt5Widgets5
|
%requires_ge libQt5Widgets5
|
||||||
@ -212,10 +206,10 @@ You need this package if you want to compile programs with Qt WebEngine.
|
|||||||
%package private-headers-devel
|
%package private-headers-devel
|
||||||
Summary: Non-ABI stable experimental API for the Qt5 WebEngine library
|
Summary: Non-ABI stable experimental API for the Qt5 WebEngine library
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name}-devel = %{version}
|
Requires: %{name}-devel = %{version}
|
||||||
%requires_ge libqt5-qtbase-private-headers-devel
|
%requires_ge libqt5-qtbase-private-headers-devel
|
||||||
%requires_ge libqt5-qtdeclarative-private-headers-devel
|
%requires_ge libqt5-qtdeclarative-private-headers-devel
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
%description private-headers-devel
|
%description private-headers-devel
|
||||||
This package provides private headers of libqt5-qtwebengine that are normally
|
This package provides private headers of libqt5-qtwebengine that are normally
|
||||||
@ -265,9 +259,9 @@ You need this package if you want to compile programs with Qt PDF.
|
|||||||
%package -n libqt5-qtpdf-private-headers-devel
|
%package -n libqt5-qtpdf-private-headers-devel
|
||||||
Summary: Non-ABI stable experimental API for the Qt5 PDF library
|
Summary: Non-ABI stable experimental API for the Qt5 PDF library
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
BuildArch: noarch
|
|
||||||
Requires: libqt5-qtpdf-devel = %{version}
|
Requires: libqt5-qtpdf-devel = %{version}
|
||||||
%requires_ge libqt5-qtbase-private-headers-devel
|
%requires_ge libqt5-qtbase-private-headers-devel
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
%description -n libqt5-qtpdf-private-headers-devel
|
%description -n libqt5-qtpdf-private-headers-devel
|
||||||
This package provides private headers of libqt5-qtpdf that are normally
|
This package provides private headers of libqt5-qtpdf that are normally
|
||||||
@ -293,11 +287,6 @@ sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
|
|||||||
src/3rdparty/chromium/build/toolchain/linux/BUILD.gn
|
src/3rdparty/chromium/build/toolchain/linux/BUILD.gn
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %qt5_snapshot
|
|
||||||
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
|
|
||||||
mkdir .git
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# TODO: Get the manual unbundling from chromium.spec working here as well
|
# TODO: Get the manual unbundling from chromium.spec working here as well
|
||||||
rm -r src/3rdparty/chromium/third_party/openh264/src
|
rm -r src/3rdparty/chromium/third_party/openh264/src
|
||||||
|
|
||||||
@ -313,48 +302,64 @@ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wno-return-type"
|
|||||||
QMAKE_CXXFLAGS="$RPM_OPT_FLAGS" \
|
QMAKE_CXXFLAGS="$RPM_OPT_FLAGS" \
|
||||||
QMAKE_LFLAGS+="-Wl,--no-keep-memory -Wl,--hash-size=31 -Wl,--reduce-memory-overheads" \
|
QMAKE_LFLAGS+="-Wl,--no-keep-memory -Wl,--hash-size=31 -Wl,--reduce-memory-overheads" \
|
||||||
gn_args+="link_pulseaudio=true" \
|
gn_args+="link_pulseaudio=true" \
|
||||||
|
gn_args+="media_use_openh264=false" \
|
||||||
|
gn_args+="use_system_libxml=true use_system_libxslt=true" \
|
||||||
qtwebengine.pro -- \
|
qtwebengine.pro -- \
|
||||||
-webengine-alsa -webengine-kerberos -no-webengine-embedded-build \
|
-webengine-alsa \
|
||||||
%if %{with system_icu}
|
-no-webengine-embedded-build \
|
||||||
|
-webengine-kerberos \
|
||||||
-system-webengine-icu \
|
-system-webengine-icu \
|
||||||
%endif
|
-system-webengine-opus \
|
||||||
|
-system-webengine-webp \
|
||||||
|
-webengine-pepper-plugins \
|
||||||
|
-webengine-printing-and-pdf \
|
||||||
%if %{with system_ffmpeg}
|
%if %{with system_ffmpeg}
|
||||||
-system-webengine-ffmpeg \
|
-system-webengine-ffmpeg \
|
||||||
-webengine-proprietary-codecs \
|
-webengine-proprietary-codecs \
|
||||||
%endif
|
%endif
|
||||||
-system-webengine-opus -system-webengine-webp -webengine-pepper-plugins -webengine-printing-and-pdf
|
|
||||||
|
# For an unknown reason, syncqt isn't executed when building the package on the build service
|
||||||
|
cp %{SOURCE1} .
|
||||||
|
for i in QtWebEngine QtWebEngineCore QtWebEngineWidgets QtPdf QtPdfWidgets ; do
|
||||||
|
perl -w %{_libqt5_bindir}/syncqt.pl -module $i -version %{version} -outdir $PWD -builddir $PWD $PWD
|
||||||
|
done
|
||||||
|
|
||||||
# Determine the right number of parallel processes based on the available memory
|
# Determine the right number of parallel processes based on the available memory
|
||||||
%limit_build -m 2750
|
%limit_build -m 2750
|
||||||
|
|
||||||
# Ensure that also the internal chromium build follows the right number of parallel
|
# Ensure that also the internal chromium build follows the right number of parallel
|
||||||
# processes instead of its defaults.
|
# processes instead of its defaults.
|
||||||
export NINJAFLAGS="%{_smp_mflags}"
|
export NINJAFLAGS="%{?_smp_mflags}"
|
||||||
|
|
||||||
make %{_smp_mflags} VERBOSE=1
|
make %{_smp_mflags} VERBOSE=1
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%qmake5_install
|
%qmake5_install
|
||||||
#cat %{buildroot}/%{_libdir}/pkgconfig/Qt*Web*.pc
|
|
||||||
find %{buildroot}/%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
|
find %{buildroot}%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
|
||||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} + -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} +
|
find %{buildroot}%{_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} + -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} +
|
||||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -exec sed -i -e "/^RPM_BUILD_DIR/d" {} +
|
find %{buildroot}%{_libdir} -type f -name '*pc' -exec sed -i -e "/^RPM_BUILD_DIR/d" {} +
|
||||||
sed -i '/^Libs.private/d' %{buildroot}%{_libdir}/pkgconfig/Qt*Web*.pc
|
sed -i '/^Libs.private/d' %{buildroot}%{_libdir}/pkgconfig/Qt*Web*.pc
|
||||||
|
|
||||||
# kill .la files
|
# kill .la files
|
||||||
rm -f %{buildroot}%{_libqt5_libdir}/*.la
|
rm -f %{buildroot}%{_libqt5_libdir}/*.la
|
||||||
|
|
||||||
# webenginecore expects icudatl.dat at this location
|
# webenginecore expects icudatl.dat at this location
|
||||||
# ln -sf %{_datadir}/icu/*/icudt*l.dat %{buildroot}%{_datadir}/qt5/icudtl.dat
|
# ln -sf %{_datadir}/icu/*/icudt*l.dat %{buildroot}%{_datadir}/qt5/icudtl.dat
|
||||||
|
|
||||||
# Workaround to allow using QtWE with older Qt versions
|
# Workaround to allow using QtWE with older Qt versions
|
||||||
sed -i -r '/ EXACT\)/d' \
|
%global qtcore_version %(printf %{pkg_version libQt5Core5})
|
||||||
%{buildroot}%{_libqt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake
|
# NOTE the space after '%%{version}' is important to only match '5.15.X ${_Qt5XXX_FIND_VERSION_EXACT}'
|
||||||
|
sed -i 's#%{version} #%{qtcore_version} #' %{buildroot}%{_libqt5_libdir}/cmake/*/*Config.cmake
|
||||||
sed -i '/find_package/!b;n;s/'%{so_version}/$(rpm -q --qf %%{version} libQt5Core5 | sed 's/~.*$//')/ \
|
|
||||||
%{buildroot}%{_libqt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake
|
|
||||||
|
|
||||||
# Hunspell dictionaries will be converted and put here on package installation
|
# Hunspell dictionaries will be converted and put here on package installation
|
||||||
mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
|
mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
|
||||||
|
|
||||||
|
%if %{pkg_vcmp libQt5Core5 >= 5.15}
|
||||||
|
# CMake files for plugins are only useful for static builds
|
||||||
|
rm -r %{buildroot}%{_libqt5_libdir}/cmake/Qt5Gui
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
%post -n libQt5Pdf5 -p /sbin/ldconfig
|
%post -n libQt5Pdf5 -p /sbin/ldconfig
|
||||||
@ -362,7 +367,6 @@ mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
|
|||||||
%post -n libQt5PdfWidgets5 -p /sbin/ldconfig
|
%post -n libQt5PdfWidgets5 -p /sbin/ldconfig
|
||||||
%postun -n libQt5PdfWidgets5 -p /sbin/ldconfig
|
%postun -n libQt5PdfWidgets5 -p /sbin/ldconfig
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1500
|
|
||||||
%filetriggerin -- %{_datadir}/hunspell
|
%filetriggerin -- %{_datadir}/hunspell
|
||||||
# Convert Hunspell dictionaries on package installation
|
# Convert Hunspell dictionaries on package installation
|
||||||
while read filename ; do
|
while read filename ; do
|
||||||
@ -373,26 +377,22 @@ while read filename ; do
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.*
|
%license LICENSE.*
|
||||||
|
%dir %{_datadir}/qt5/
|
||||||
|
%dir %{_qtwebengine_dictionaries_dir}
|
||||||
|
%dir %{_datadir}/qt5/resources/
|
||||||
|
%{_datadir}/qt5/resources/qtwebengine_*
|
||||||
|
%dir %{_datadir}/qt5/translations/
|
||||||
|
%{_datadir}/qt5/translations/qtwebengine_locales/
|
||||||
|
%{_libqt5_archdatadir}/qml/QtWebEngine/
|
||||||
|
%{_libqt5_bindir}/qwebengine_convert_dict
|
||||||
%{_libqt5_libdir}/libQt5WebEngine.so.*
|
%{_libqt5_libdir}/libQt5WebEngine.so.*
|
||||||
%{_libqt5_libdir}/libQt5WebEngineCore.so.*
|
%{_libqt5_libdir}/libQt5WebEngineCore.so.*
|
||||||
%{_libqt5_libdir}/libQt5WebEngineWidgets.so.*
|
%{_libqt5_libdir}/libQt5WebEngineWidgets.so.*
|
||||||
%dir %{_datadir}/qt5/
|
|
||||||
%dir %{_datadir}/qt5/translations/
|
|
||||||
%{_datadir}/qt5/translations/qtwebengine_locales/
|
|
||||||
%dir %{_datadir}/qt5/resources/
|
|
||||||
%{_datadir}/qt5/resources/qtwebengine_*
|
|
||||||
%if %{without system_icu}
|
|
||||||
%{_datadir}/qt5/resources/icudtl.dat
|
|
||||||
%endif
|
|
||||||
%dir %{_qtwebengine_dictionaries_dir}
|
|
||||||
%dir %{_libqt5_libexecdir}
|
%dir %{_libqt5_libexecdir}
|
||||||
%{_libqt5_libexecdir}/QtWebEngineProcess
|
%{_libqt5_libexecdir}/QtWebEngineProcess
|
||||||
%{_libqt5_archdatadir}/qml/QtWebEngine/
|
|
||||||
%{_libqt5_bindir}/qwebengine_convert_dict
|
|
||||||
|
|
||||||
%files private-headers-devel
|
%files private-headers-devel
|
||||||
%license LICENSE.*
|
%license LICENSE.*
|
||||||
@ -401,15 +401,15 @@ done
|
|||||||
%files devel
|
%files devel
|
||||||
%exclude %{_libqt5_includedir}/QtWebEngine*/%{so_version}
|
%exclude %{_libqt5_includedir}/QtWebEngine*/%{so_version}
|
||||||
%{_libqt5_includedir}/QtWebEngine*/
|
%{_libqt5_includedir}/QtWebEngine*/
|
||||||
%{_libqt5_libdir}/libQt5WebEngine*.so
|
|
||||||
%{_libqt5_libdir}/libQt5WebEngine*.prl
|
|
||||||
%{_libqt5_libdir}/pkgconfig/Qt5WebEngine*.pc
|
|
||||||
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_webengine*.pri
|
|
||||||
%dir %{_libqt5_libdir}/cmake/Qt5Designer/
|
%dir %{_libqt5_libdir}/cmake/Qt5Designer/
|
||||||
%{_libqt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake
|
%{_libqt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake
|
||||||
|
%{_libqt5_libdir}/cmake/Qt5WebEngine*/
|
||||||
|
%{_libqt5_libdir}/libQt5WebEngine*.prl
|
||||||
|
%{_libqt5_libdir}/libQt5WebEngine*.so
|
||||||
|
%{_libqt5_libdir}/pkgconfig/Qt5WebEngine*.pc
|
||||||
|
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_webengine*.pri
|
||||||
%dir %{_libqt5_plugindir}/designer/
|
%dir %{_libqt5_plugindir}/designer/
|
||||||
%{_libqt5_plugindir}/designer/libqwebengineview.so
|
%{_libqt5_plugindir}/designer/libqwebengineview.so
|
||||||
%{_libqt5_libdir}/cmake/Qt5WebEngine*/
|
|
||||||
|
|
||||||
%files examples
|
%files examples
|
||||||
%license LICENSE.*
|
%license LICENSE.*
|
||||||
@ -418,12 +418,8 @@ done
|
|||||||
|
|
||||||
%files -n libQt5Pdf5
|
%files -n libQt5Pdf5
|
||||||
%license LICENSE.*
|
%license LICENSE.*
|
||||||
%{_libqt5_libdir}/libQt5Pdf.so.*
|
|
||||||
%{_libqt5_archdatadir}/plugins/imageformats/libqpdf.so
|
%{_libqt5_archdatadir}/plugins/imageformats/libqpdf.so
|
||||||
# Not quite sure what this would be used by
|
%{_libqt5_libdir}/libQt5Pdf.so.*
|
||||||
%dir %{_libqt5_libdir}/cmake/
|
|
||||||
%dir %{_libqt5_libdir}/cmake/Qt5Gui/
|
|
||||||
%{_libqt5_libdir}/cmake/Qt5Gui/Qt5Gui_QPdfPlugin.cmake
|
|
||||||
|
|
||||||
%files -n libQt5PdfWidgets5
|
%files -n libQt5PdfWidgets5
|
||||||
%license LICENSE.*
|
%license LICENSE.*
|
||||||
@ -445,13 +441,13 @@ done
|
|||||||
%{_libqt5_includedir}/QtPdfWidgets/
|
%{_libqt5_includedir}/QtPdfWidgets/
|
||||||
%{_libqt5_libdir}/cmake/Qt5Pdf/
|
%{_libqt5_libdir}/cmake/Qt5Pdf/
|
||||||
%{_libqt5_libdir}/cmake/Qt5PdfWidgets/
|
%{_libqt5_libdir}/cmake/Qt5PdfWidgets/
|
||||||
%{_libqt5_libdir}/libQt5Pdf.so
|
|
||||||
%{_libqt5_libdir}/libQt5PdfWidgets.so
|
|
||||||
%{_libqt5_libdir}/libQt5Pdf.prl
|
%{_libqt5_libdir}/libQt5Pdf.prl
|
||||||
|
%{_libqt5_libdir}/libQt5Pdf.so
|
||||||
%{_libqt5_libdir}/libQt5PdfWidgets.prl
|
%{_libqt5_libdir}/libQt5PdfWidgets.prl
|
||||||
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_pdf*.pri
|
%{_libqt5_libdir}/libQt5PdfWidgets.so
|
||||||
%{_libqt5_libdir}/pkgconfig/Qt5Pdf.pc
|
%{_libqt5_libdir}/pkgconfig/Qt5Pdf.pc
|
||||||
%{_libqt5_libdir}/pkgconfig/Qt5PdfWidgets.pc
|
%{_libqt5_libdir}/pkgconfig/Qt5PdfWidgets.pc
|
||||||
|
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_pdf*.pri
|
||||||
|
|
||||||
%files -n libqt5-qtpdf-examples
|
%files -n libqt5-qtpdf-examples
|
||||||
%license LICENSE.*
|
%license LICENSE.*
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0
|
|
||||||
size 280142544
|
|
3
qtwebengine-everywhere-src-5.15.3.tar.xz
Normal file
3
qtwebengine-everywhere-src-5.15.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cde63cc3986d1324667b75bb1d7cd39a9e72555a321bdda3c5ca604e170868f6
|
||||||
|
size 319611228
|
@ -1,11 +1,11 @@
|
|||||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
Subject: Don't require open264 when proprietary_codecs are supported
|
Subject: Don't require open264 when proprietary_codecs are supported
|
||||||
|
|
||||||
Index: qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
diff --git a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni b/chromium/third_party/webrtc/webrtc.gni
|
||||||
===================================================================
|
index ca8acdbf259..36897a72aa8 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.1.orig/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
--- a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||||
+++ qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
+++ b/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||||
@@ -149,8 +149,7 @@ declare_args() {
|
@@ -151,8 +151,7 @@ declare_args() {
|
||||||
#
|
#
|
||||||
# Enabling H264 when building with MSVC is currently not supported, see
|
# Enabling H264 when building with MSVC is currently not supported, see
|
||||||
# bugs.webrtc.org/9213#c13 for more info.
|
# bugs.webrtc.org/9213#c13 for more info.
|
||||||
@ -13,13 +13,14 @@ Index: qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrt
|
|||||||
- proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang)
|
- proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang)
|
||||||
+ rtc_use_h264 = false
|
+ rtc_use_h264 = false
|
||||||
|
|
||||||
# By default, use normal platform audio support or dummy audio, but don't
|
# Enable this flag to make webrtc::Mutex be implemented by absl::Mutex.
|
||||||
# use file-based audio playout and record.
|
rtc_use_absl_mutex = false
|
||||||
Index: qtwebengine-everywhere-src-5.15.1/src/core/config/common.pri
|
|
||||||
===================================================================
|
diff --git a/src/core/config/common.pri b/src/core/config/common.pri
|
||||||
--- qtwebengine-everywhere-src-5.15.1.orig/src/core/config/common.pri
|
index d9d64e76..cd0fd120 100644
|
||||||
+++ qtwebengine-everywhere-src-5.15.1/src/core/config/common.pri
|
--- a/src/core/config/common.pri
|
||||||
@@ -27,9 +27,6 @@ qtConfig(webengine-webrtc) {
|
+++ b/src/core/config/common.pri
|
||||||
|
@@ -26,9 +26,6 @@ qtConfig(webengine-webrtc) {
|
||||||
|
|
||||||
qtConfig(webengine-proprietary-codecs) {
|
qtConfig(webengine-proprietary-codecs) {
|
||||||
gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
|
gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
|
||||||
|
@ -8,11 +8,11 @@ Return -ENOSYS instead to trigger the fallback in glibc.
|
|||||||
futex_time64 is also used internally in glibc, so handle that as well.
|
futex_time64 is also used internally in glibc, so handle that as well.
|
||||||
The signature is identical where it matters.
|
The signature is identical where it matters.
|
||||||
|
|
||||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
===================================================================
|
index 3c67b124786..4772dc096f5 100644
|
||||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
@@ -190,6 +190,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
@@ -194,6 +194,11 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
|
||||||
if (sysno == __NR_futex)
|
if (sysno == __NR_futex)
|
||||||
return RestrictFutex();
|
return RestrictFutex();
|
||||||
|
|
||||||
@ -24,9 +24,9 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
|||||||
if (sysno == __NR_set_robust_list)
|
if (sysno == __NR_set_robust_list)
|
||||||
return Error(EPERM);
|
return Error(EPERM);
|
||||||
|
|
||||||
@@ -265,6 +270,12 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
@@ -257,6 +262,12 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
|
||||||
|
return RestrictKillTarget(current_pid, sysno);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined(__NR_statx)
|
+#if defined(__NR_statx)
|
||||||
+ if (sysno == __NR_statx) {
|
+ if (sysno == __NR_statx) {
|
||||||
|
15
sync.profile
Normal file
15
sync.profile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
%modules = ( # path to module name map
|
||||||
|
"QtWebEngine" => "$basedir/src/webengine",
|
||||||
|
"QtWebEngineWidgets" => "$basedir/src/webenginewidgets",
|
||||||
|
"QtWebEngineCore" => "$basedir/src/core",
|
||||||
|
"QtPdf" => "$basedir/src/pdf",
|
||||||
|
"QtPdfWidgets" => "$basedir/src/pdfwidgets",
|
||||||
|
);
|
||||||
|
%moduleheaders = ( # restrict the module headers to those found in relative path
|
||||||
|
"QtWebEngine" => "api",
|
||||||
|
"QtWebEngineWidgets" => "api",
|
||||||
|
"QtWebEngineCore" => "api",
|
||||||
|
"QtPdf" => "api"
|
||||||
|
);
|
||||||
|
%classnames = (
|
||||||
|
);
|
Loading…
Reference in New Issue
Block a user