diff --git a/QTBUG-81574.patch b/QTBUG-81574.patch deleted file mode 100644 index 2ca70e3..0000000 --- a/QTBUG-81574.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 7d56bbb4c1708f00f729bdfe2e8951c644c83194 Mon Sep 17 00:00:00 2001 -From: Kirill Burtsev -Date: Wed, 12 Feb 2020 16:15:34 +0100 -Subject: [PATCH] Clear previous page text selection on new navigation unconditionally - -Remove code duplication on triggering new url load, and use direct -code to clear SelectedText instead of CollapseSelection as it assumes -focused frame and might be ignored. - -Fixes: QTBUG-81574 -Change-Id: I01cf02967e118f407c8a3997e176d5b258478a5a ---- - -diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp -index 8cc8179..a7579f9 100644 ---- a/src/core/web_contents_adapter.cpp -+++ b/src/core/web_contents_adapter.cpp -@@ -67,6 +67,7 @@ - #include "base/task/sequence_manager/thread_controller_with_message_pump_impl.h" - #include "base/values.h" - #include "content/browser/renderer_host/render_view_host_impl.h" -+#include "content/browser/renderer_host/text_input_manager.h" - #include "content/browser/web_contents/web_contents_impl.h" - #include "content/public/browser/browser_task_traits.h" - #include "content/public/browser/child_process_security_policy.h" -@@ -369,6 +370,23 @@ - } - } - -+static void Navigate(WebContentsAdapter *adapter, const content::NavigationController::LoadURLParams ¶ms) -+{ -+ Q_ASSERT(adapter); -+ adapter->webContents()->GetController().LoadURLWithParams(params); -+ adapter->focusIfNecessary(); -+ adapter->resetSelection(); -+} -+ -+static void NavigateTask(QWeakPointer weakAdapter, const content::NavigationController::LoadURLParams ¶ms) -+{ -+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); -+ const auto adapter = weakAdapter.toStrongRef(); -+ if (!adapter) -+ return; -+ Navigate(adapter.get(), params); -+} -+ - namespace { - static QList recursive_guard_loading_adapters; - -@@ -705,21 +723,12 @@ - } - } - -- auto navigate = [](QWeakPointer weakAdapter, const content::NavigationController::LoadURLParams ¶ms) { -- const auto adapter = weakAdapter.toStrongRef(); -- if (!adapter) -- return; -- adapter->webContents()->GetController().LoadURLWithParams(params); -- adapter->focusIfNecessary(); -- }; -- -- QWeakPointer weakThis(sharedFromThis()); - if (resizeNeeded) { - // Schedule navigation on the event loop. - base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI}, -- base::BindOnce(navigate, std::move(weakThis), std::move(params))); -+ base::BindOnce(&NavigateTask, sharedFromThis().toWeakRef(), std::move(params))); - } else { -- navigate(std::move(weakThis), params); -+ Navigate(this, params); - } - } - -@@ -752,9 +761,7 @@ - params.can_load_local_resources = true; - params.transition_type = ui::PageTransitionFromInt(ui::PAGE_TRANSITION_TYPED | ui::PAGE_TRANSITION_FROM_API); - params.override_user_agent = content::NavigationController::UA_OVERRIDE_TRUE; -- m_webContents->GetController().LoadURLWithParams(params); -- focusIfNecessary(); -- m_webContents->CollapseSelection(); -+ Navigate(this, params); - } - - void WebContentsAdapter::save(const QString &filePath, int savePageFormat) -@@ -1676,6 +1683,17 @@ - return m_webContents->GetFocusedFrame() != nullptr; - } - -+void WebContentsAdapter::resetSelection() -+{ -+ CHECK_INITIALIZED(); -+ // unconditionally clears the selection in contrast to CollapseSelection, which checks focus state first -+ if (auto rwhv = static_cast(m_webContents->GetRenderWidgetHostView())) { -+ if (auto mgr = rwhv->GetTextInputManager()) -+ if (auto selection = const_cast(mgr->GetTextSelection(rwhv))) -+ selection->SetSelection(base::string16(), 0, gfx::Range(), false); -+ } -+} -+ - WebContentsAdapterClient::RenderProcessTerminationStatus - WebContentsAdapterClient::renderProcessExitStatus(int terminationStatus) { - auto status = WebContentsAdapterClient::RenderProcessTerminationStatus(-1); -diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h -index 11f8f9c..f8f147f 100644 ---- a/src/core/web_contents_adapter.h -+++ b/src/core/web_contents_adapter.h -@@ -229,6 +229,7 @@ - void focusIfNecessary(); - bool isFindTextInProgress() const; - bool hasFocusedFrame() const; -+ void resetSelection(); - - // meant to be used within WebEngineCore only - void initialize(content::SiteInstance *site); -diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp -index 8cdcc9f..94b3f16 100644 ---- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp -+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp -@@ -700,7 +700,7 @@ - CursorTrackedPage(QWidget *parent = 0): QWebEnginePage(parent) { - } - -- QString selectedText() { -+ QString jsSelectedText() { - return evaluateJavaScriptSync(this, "window.getSelection().toString()").toString(); - } - -@@ -716,42 +716,52 @@ - int isSelectionCollapsed() { - return evaluateJavaScriptSync(this, "window.getSelection().getRangeAt(0).collapsed").toBool(); - } -- bool hasSelection() -- { -- return !selectedText().isEmpty(); -- } - }; - - void tst_QWebEnginePage::textSelection() - { -- QWebEngineView view; -- CursorTrackedPage *page = new CursorTrackedPage(&view); -- QString content("

The quick brown fox

" \ -+ CursorTrackedPage page; -+ -+ QString textToSelect("The quick brown fox"); -+ QString content = QString("

%1

" \ - "

jumps over the lazy dog

" \ -- "

May the source
be with you!

"); -- page->setView(&view); -- QSignalSpy loadSpy(&view, SIGNAL(loadFinished(bool))); -- page->setHtml(content); -+ "

May the source
be with you!

").arg(textToSelect); -+ -+ QSignalSpy loadSpy(&page, SIGNAL(loadFinished(bool))); -+ page.setHtml(content); - QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 1, 20000); - - // these actions must exist -- QVERIFY(page->action(QWebEnginePage::SelectAll) != 0); -+ QVERIFY(page.action(QWebEnginePage::SelectAll) != 0); - - // ..but SelectAll is disabled because the page has no focus due to disabled FocusOnNavigationEnabled. -- QCOMPARE(page->action(QWebEnginePage::SelectAll)->isEnabled(), false); -+ QCOMPARE(page.action(QWebEnginePage::SelectAll)->isEnabled(), false); - - // Verify hasSelection returns false since there is no selection yet... -- QCOMPARE(page->hasSelection(), false); -+ QVERIFY(!page.hasSelection()); -+ QVERIFY(page.jsSelectedText().isEmpty()); - - // this will select the first paragraph - QString selectScript = "var range = document.createRange(); " \ - "var node = document.getElementById(\"one\"); " \ - "range.selectNode(node); " \ - "getSelection().addRange(range);"; -- evaluateJavaScriptSync(page, selectScript); -- QCOMPARE(page->selectedText().trimmed(), QString::fromLatin1("The quick brown fox")); -+ evaluateJavaScriptSync(&page, selectScript); -+ - // Make sure hasSelection returns true, since there is selected text now... -- QCOMPARE(page->hasSelection(), true); -+ QTRY_VERIFY(page.hasSelection()); -+ QCOMPARE(page.selectedText().trimmed(), textToSelect); -+ -+ QCOMPARE(page.jsSelectedText().trimmed(), textToSelect); -+ -+ // navigate away and check that selection is cleared -+ page.load(QUrl("about:blank")); -+ QTRY_COMPARE(loadSpy.count(), 2); -+ -+ QVERIFY(!page.hasSelection()); -+ QVERIFY(page.selectedText().isEmpty()); -+ -+ QVERIFY(page.jsSelectedText().isEmpty()); - } - - diff --git a/QTBUG-82186.patch b/QTBUG-82186.patch deleted file mode 100644 index 9af1d43..0000000 --- a/QTBUG-82186.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c729361f9f8f6c0602d401d5e230ba63ab11a682 Mon Sep 17 00:00:00 2001 -From: Jüri Valdmann -Date: Wed, 19 Feb 2020 14:15:34 +0100 -Subject: [PATCH] Fix recursive deadlock in sandbox::InitLibcLocaltimeFunctions - -QtWebEngineProcess overrides the C library's localtime* functions by redefining -the symbols in src/process/main.cpp and then using dlsym(RTLD_NEXT, ...) to -fetch the original symbols in //sandbox/linux/services/libc_interceptor.cc. The -functions InitLibcLocaltimeFunctions{,Impl} use pthread_once to guarantee that -this symbol resolution happens only once. - -If dlsym fails, for example because the C library is earlier in the search path -than QtWebEngineCore, then InitLibcLocaltimeFunctionsImpl tries to print an -error message with LOG(ERROR). However, printing a log message involves also -printing the timestamp in the local time zone, using, of course, localtime_r. -Thus, InitLibcLocaltimeFunctions depends on localtime_r depends on -InitLibcLocaltimeFunctions, and we get a deadlock due to the recursive use of -pthread_once. - -This deadlock happens only for utility processes and not for zygotes or -renderers, since the latter proxy the localtime* calls back to the main process. -(See service_manager::ZygoteMain, where the first function call is to -sandbox::SetAmZygoteOrRenderer, and compare with content::UtilityMain) - -Task-number: QTBUG-82186 -Change-Id: I32009e8482b2634c47082a4c89393dc61c22507e ---- - -diff --git a/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc b/chromium/sandbox/linux/services/libc_interceptor.cc -index ed4dd02..fad77f9 100644 ---- a/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc -+++ b/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc -@@ -199,6 +199,7 @@ - g_libc_funcs->localtime64_r = - reinterpret_cast(dlsym(RTLD_NEXT, "localtime64_r")); - -+#if !defined(TOOLKIT_QT) - if (!g_libc_funcs->localtime || !g_libc_funcs->localtime_r) { - // https://bugs.chromium.org/p/chromium/issues/detail?id=16800 - // -@@ -210,6 +211,7 @@ - " time related functions to misbehave. " - "https://bugs.chromium.org/p/chromium/issues/detail?id=16800"; - } -+#endif - - if (!g_libc_funcs->localtime) - g_libc_funcs->localtime = gmtime; diff --git a/fix1163766.patch b/fix1163766.patch index c7ea384..8477d3d 100644 --- a/fix1163766.patch +++ b/fix1163766.patch @@ -6,12 +6,12 @@ https://bugzilla.opensuse.org/show_bug.cgi?id=1163766 seccomp filters disallow a new kernel syscall to get time used on i586 -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h +Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h =================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h -@@ -1422,5 +1422,13 @@ - #define __NR_memfd_create 356 +--- qtwebengine-everywhere-src-5.15.0-beta3.orig/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 +@@ -1710,5 +1710,13 @@ + #define __NR_clone3 435 #endif +#if !defined(__NR_clock_gettime64) @@ -24,10 +24,10 @@ Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/sys + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_ -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc =================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ++++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc @@ -151,6 +151,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) { return RestrictClockID(); @@ -40,11 +40,11 @@ Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/sec if (sysno == __NR_clone) { return RestrictCloneToThreadsAndEPERMFork(); -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc +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.14.1.orig/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc -@@ -30,6 +30,9 @@ ResultExpr ImeProcessPolicy::EvaluateSys +--- 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) case __NR_clock_gettime: #endif @@ -52,5 +52,5 @@ Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/services/service_ + case __NR_clock_gettime64: +#endif return Allow(); - default: - auto* broker_process = SandboxLinux::GetInstance()->broker_process(); + // https://crbug.com/991435 + #if defined(__NR_getrusage) diff --git a/libqt5-qtwebengine.changes b/libqt5-qtwebengine.changes index 3e8a537..cdff3f5 100644 --- a/libqt5-qtwebengine.changes +++ b/libqt5-qtwebengine.changes @@ -1,8 +1,53 @@ +------------------------------------------------------------------- +Wed May 27 08:47:23 UTC 2020 - Fabian Vogt + +- Can't use system VPX on Leap 15.2 + +------------------------------------------------------------------- +Tue May 26 11:27:19 UTC 2020 - Callum Farmer + +- Update to version 5.15.0: + * No changelog available + +------------------------------------------------------------------- +Thu May 21 10:35:41 UTC 2020 - Callum Farmer + +- Update to version 5.15.0-rc2: + * No changelog available + * Removed some-more-includes-gcc10.patch: contained in upstream + +------------------------------------------------------------------- +Wed May 6 11:43:17 UTC 2020 - Fabian Vogt + +- Update to 5.15.0-rc: + * New bugfix release + * For the changes between 5.14.2 and 5.15.0 please see: + http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.15.0/?h=5.15.0 +- Drop patches, now upstream: + * QTBUG-82186.patch + ------------------------------------------------------------------- Fri Apr 24 10:19:13 UTC 2020 - Ismail Dönmez - Add icu-v67.patch to fix compilation with icu v67, this is a backport of https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463 +- Rebase icu-v67.patch on 5.15.0-beta4 + +------------------------------------------------------------------- +Fri Apr 24 07:11:42 UTC 2020 - Fabian Vogt + +- Update to 5.15.0-beta4: + * New bugfix release + * No changelog available +- Refresh QTBUG-82186.patch + +------------------------------------------------------------------- +Tue Apr 14 06:47:59 UTC 2020 - Fabian Vogt + +- Update to 5.15.0-beta3: + * New bugfix release + * No changelog available +- Refresh fix1163766.patch ------------------------------------------------------------------- Thu Apr 9 08:21:02 UTC 2020 - Bernhard Wiedemann @@ -15,6 +60,23 @@ Mon Mar 30 13:49:40 UTC 2020 - Fabian Vogt - Add patch to fix build with GCC 10 (boo#1158516): * some-more-includes-gcc10.patch +------------------------------------------------------------------- +Tue Mar 24 12:14:06 UTC 2020 - Fabian Vogt + +- Update to 5.15.0-beta2: + * New bugfix release + * No changelog available + +------------------------------------------------------------------- +Fri Feb 28 09:59:24 UTC 2020 - Fabian Vogt + +- Update to 5.15.0-beta1: + * New bugfix release + * No changelog available +- Drop patches, now upstream: + * fix-missing-designerplugin.patch + * QTBUG-81574.patch + ------------------------------------------------------------------- Fri Feb 21 13:36:31 UTC 2020 - Fabian Vogt @@ -27,6 +89,19 @@ Fri Feb 21 09:25:44 UTC 2020 - Fabian Vogt - Fix an issue with selections breaking replying in KMail: * QTBUG-81574.patch +------------------------------------------------------------------- +Wed Feb 19 10:17:00 UTC 2020 - Fabian Vogt + +- Update to 5.15.0-alpha: + * New feature release + * For more details please see: + https://wiki.qt.io/New_Features_in_Qt_5.15 +- Add patch to fix building the designer plugin: + * fix-missing-designerplugin.patch +- Move designer plugin into -devel subpackage +- Add packages for new Qt PDF module (which is technically separate + from WebEngine, but shares the source tarball) + ------------------------------------------------------------------- Mon Jan 27 13:14:47 UTC 2020 - Fabian Vogt diff --git a/libqt5-qtwebengine.spec b/libqt5-qtwebengine.spec index a16cdc3..56bfebc 100644 --- a/libqt5-qtwebengine.spec +++ b/libqt5-qtwebengine.spec @@ -20,49 +20,35 @@ %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} > 150200 %bcond_without system_vpx %else %bcond_with system_vpx %endif -%if 0%{?suse_version} > 1500 -# Needs ICU >= 63 -%bcond_without system_icu -%else -%bcond_with system_icu -%endif -%if %{?suse_version} >= 1330 || (0%{?is_opensuse} && 0%{?sle_version} >= 120200) %bcond_without system_ffmpeg -%else -%bcond_with system_ffmpeg -%endif -%if %{?suse_version} >= 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120200) %bcond_without system_minizip -%else -%bcond_with system_minizip -%endif -# Not even in Tumbleweed as of 2019-03-22 -%bcond_with system_harfbuzz -# This is just overall condition to contain everything we can't provide on SLE12 -%if 0%{?suse_version} >= 1320 || 0%{?is_opensuse} -%bcond_with sle_bundles -%else -%bcond_without sle_bundles -%endif + # spellchecking dictionary directory %global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries Name: libqt5-qtwebengine -Version: 5.14.1 +Version: 5.15.0 Release: 0 Summary: Qt 5 WebEngine Library License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only Group: Development/Libraries/X11 URL: https://www.qt.io %define base_name libqt5 -%define real_version 5.14.1 -%define so_version 5.14.1 -%define tar_version qtwebengine-everywhere-src-5.14.1 -Source: https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz +%define real_version 5.15.0 +%define so_version 5.15.0 +%define tar_version qtwebengine-everywhere-src-5.15.0 +Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz Source1: baselibs.conf # PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6 Patch1: armv6-ffmpeg-no-thumb.patch @@ -70,12 +56,6 @@ Patch1: armv6-ffmpeg-no-thumb.patch Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff # PATCH-FIX-UPSTREAM 0001-fix-build-after-y2038-changes-in-glibc.patch Patch3: 0001-fix-build-after-y2038-changes-in-glibc.patch -# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwebengine/+/290321 -Patch4: QTBUG-81574.patch -# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/291216 -Patch5: QTBUG-82186.patch -# PATCH-FIX-OPENSUSE -Patch6: some-more-includes-gcc10.patch Patch7: fix1163766.patch # PATCH-FIX-UPSTREAM https://chromium-review.googlesource.com/c/v8/v8/+/2136489 Patch8: icu-v67.patch @@ -94,6 +74,8 @@ BuildRequires: git-core BuildRequires: krb5 BuildRequires: krb5-devel BuildRequires: libQt5QuickControls2-devel +# For building pdf exmples... +BuildRequires: libqt5-qtsvg-devel BuildRequires: libcap-devel BuildRequires: libgcrypt-devel BuildRequires: libicu-devel @@ -180,17 +162,16 @@ BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) -%if !%{with sle_bundles} BuildRequires: yasm-devel -%endif %if %{with system_minizip} BuildRequires: pkgconfig(minizip) %endif %if %{with system_harfbuzz} -BuildRequires: pkgconfig(harfbuzz) >= 2.0.0 +BuildRequires: pkgconfig(harfbuzz) >= 2.2.0 %endif %if %{with system_icu} -BuildRequires: pkgconfig(icu-i18n) >= 63.0 +BuildRequires: pkgconfig(icu-uc) >= 64.0 +BuildRequires: pkgconfig(icu-i18n) >= 64.0 %endif %if %{with system_vpx} BuildRequires: pkgconfig(vpx) >= 1.8.0 @@ -245,7 +226,7 @@ API guarantees. The packages that build against these have to require the exact Qt version. %package examples -Summary: Qt5 location examples +Summary: Qt5 WebEngine examples Group: Development/Libraries/X11 Requires: libqt5-qtquickcontrols2 Recommends: %{name}-devel @@ -253,6 +234,57 @@ Recommends: %{name}-devel %description examples Examples for the libqt5-qtwebengine module. +%package -n libQt5Pdf5 +Summary: Qt5 PDF library +Group: Development/Libraries/X11 + +%description -n libQt5Pdf5 +Main library of the Qt PDF module. + +%package -n libQt5PdfWidgets5 +Summary: Qt5 PDF library for Qt Widgets +Group: Development/Libraries/X11 + +%description -n libQt5PdfWidgets5 +Library of the Qt PDF module with support for Qt Widgets. + +%package -n libqt5-qtpdf-imports +Summary: Qt5 PDF module for QML +Group: Development/Libraries/X11 + +%description -n libqt5-qtpdf-imports +Qt Quick module for the Qt PDF library. + +%package -n libqt5-qtpdf-devel +Summary: Development files for the Qt5 PDF library +Group: Development/Libraries/X11 +Requires: libQt5Pdf5 = %{version} +Requires: libQt5PdfWidgets5 = %{version} + +%description -n libqt5-qtpdf-devel +You need this package if you want to compile programs with Qt PDF. + +%package -n libqt5-qtpdf-private-headers-devel +Summary: Non-ABI stable experimental API for the Qt5 PDF library +Group: Development/Libraries/C and C++ +BuildArch: noarch +Requires: libqt5-qtpdf-devel = %{version} +%requires_ge libqt5-qtbase-private-headers-devel + +%description -n libqt5-qtpdf-private-headers-devel +This package provides private headers of libqt5-qtpdf that are normally +not used by application development and that do not have any ABI or +API guarantees. The packages that build against these have to require +the exact Qt version. + +%package -n libqt5-qtpdf-examples +Summary: Qt5 PDF examples +Group: Development/Libraries/X11 +Recommends: libqt5-qtpdf-devel + +%description -n libqt5-qtpdf-examples +Examples for the libqt5-qtpdf module. + %prep %setup -q -n %{tar_version} sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro @@ -268,16 +300,6 @@ sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \ mkdir .git %endif -%if 0%{?suse_version} < 1330 -# WE checks the version of GCC qtbase was built with, not the version it's building with. -# ARGH! -echo "QT_GCC_MAJOR_VERSION = 7" > qtwebengine_new.pro -echo "QT_GCC_MINOR_VERSION = 2" >> qtwebengine_new.pro -echo "QT_CONFIG += c++14" >> qtwebengine_new.pro -cat qtwebengine.pro >> qtwebengine_new.pro -mv qtwebengine{_new,}.pro -%endif - %ifnarch x86_64 RPM_OPT_FLAGS="$RPM_OPT_FLAGS " export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / } @@ -311,11 +333,6 @@ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wno-return-type" # processes instead of its defaults. export NINJAFLAGS="%{_smp_mflags}" -%if 0%{?suse_version} < 1330 - export CC=gcc-7 - export CXX=g++-7 -%endif - make %{_smp_mflags} VERBOSE=1 %install @@ -341,8 +358,11 @@ sed -i '/find_package/!b;n;s/'%{so_version}/$(rpm -q --qf %%{version} libQt5Core mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir} %post -p /sbin/ldconfig - %postun -p /sbin/ldconfig +%post -n libQt5Pdf5 -p /sbin/ldconfig +%postun -n libQt5Pdf5 -p /sbin/ldconfig +%post -n libQt5PdfWidgets5 -p /sbin/ldconfig +%postun -n libQt5PdfWidgets5 -p /sbin/ldconfig %if 0%{?suse_version} >= 1500 %filetriggerin -- %{_datadir}/hunspell @@ -358,36 +378,86 @@ done %endif %files -%defattr(-,root,root,755) %license LICENSE.* -%{_libqt5_libdir}/libQt*Web*.so.* -%{_datadir}/qt5/ -%dir %{_libqt5_libexecdir} +%{_libqt5_libdir}/libQt5WebEngine.so.* +%{_libqt5_libdir}/libQt5WebEngineCore.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} %{_libqt5_libexecdir}/QtWebEngineProcess %{_libqt5_archdatadir}/qml/QtWebEngine/ -%{_libqt5_plugindir}/designer/ %{_libqt5_bindir}/qwebengine_convert_dict %files private-headers-devel -%defattr(-,root,root,755) %license LICENSE.* -%{_libqt5_includedir}/*/%{so_version} +%{_libqt5_includedir}/QtWebEngine*/%{so_version} %files devel -%defattr(-,root,root,755) -%license LICENSE.* -%exclude %{_libqt5_includedir}/*/%{so_version} -%{_libqt5_includedir}/*/ -%{_libqt5_libdir}/cmake/Qt5*/ -%{_libqt5_libdir}/libQt*Web*.so -%{_libqt5_libdir}/libQt*Web*.prl -%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_*.pri -%{_libqt5_libdir}/pkgconfig/Qt*Web*.pc +%exclude %{_libqt5_includedir}/QtWebEngine*/%{so_version} +%{_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/ +%{_libqt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake +%dir %{_libqt5_plugindir}/designer/ +%{_libqt5_plugindir}/designer/libqwebengineview.so +%{_libqt5_libdir}/cmake/Qt5WebEngine*/ %files examples -%defattr(-,root,root,755) %license LICENSE.* -%{_libqt5_examplesdir}/ +%dir %{_libqt5_examplesdir} +%{_libqt5_examplesdir}/webengine*/ + +%files -n libQt5Pdf5 +%license LICENSE.* +%{_libqt5_libdir}/libQt5Pdf.so.* +%{_libqt5_archdatadir}/plugins/imageformats/libqpdf.so +# Not quite sure what this would be used by +%dir %{_libqt5_libdir}/cmake/ +%dir %{_libqt5_libdir}/cmake/Qt5Gui/ +%{_libqt5_libdir}/cmake/Qt5Gui/Qt5Gui_QPdfPlugin.cmake + +%files -n libQt5PdfWidgets5 +%license LICENSE.* +%{_libqt5_libdir}/libQt5PdfWidgets.so.* + +%files -n libqt5-qtpdf-imports +%license LICENSE.* +%{_libqt5_archdatadir}/qml/QtQuick/Pdf/ + +%files -n libqt5-qtpdf-private-headers-devel +%license LICENSE.* +%{_libqt5_includedir}/QtPdf/%{so_version} +%{_libqt5_includedir}/QtPdfWidgets/%{so_version} + +%files -n libqt5-qtpdf-devel +%license LICENSE.* +%exclude %{_libqt5_includedir}/QtPdf*/%{so_version} +%{_libqt5_includedir}/QtPdf/ +%{_libqt5_includedir}/QtPdfWidgets/ +%{_libqt5_libdir}/cmake/Qt5Pdf/ +%{_libqt5_libdir}/cmake/Qt5PdfWidgets/ +%{_libqt5_libdir}/libQt5Pdf.so +%{_libqt5_libdir}/libQt5PdfWidgets.so +%{_libqt5_libdir}/libQt5Pdf.prl +%{_libqt5_libdir}/libQt5PdfWidgets.prl +%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_pdf*.pri +%{_libqt5_libdir}/pkgconfig/Qt5Pdf.pc +%{_libqt5_libdir}/pkgconfig/Qt5PdfWidgets.pc + +%files -n libqt5-qtpdf-examples +%license LICENSE.* +%dir %{_libqt5_examplesdir} +%{_libqt5_examplesdir}/pdf*/ %changelog diff --git a/qtwebengine-everywhere-src-5.14.1.tar.xz b/qtwebengine-everywhere-src-5.14.1.tar.xz deleted file mode 100644 index b54f2b5..0000000 --- a/qtwebengine-everywhere-src-5.14.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ec77040a876a83aa2a833ebfe7b3e88dcc167ceb317095eb226a0b8d455e887 -size 242438244 diff --git a/qtwebengine-everywhere-src-5.15.0.tar.xz b/qtwebengine-everywhere-src-5.15.0.tar.xz new file mode 100644 index 0000000..f266d31 --- /dev/null +++ b/qtwebengine-everywhere-src-5.15.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df +size 278257432 diff --git a/some-more-includes-gcc10.patch b/some-more-includes-gcc10.patch deleted file mode 100644 index 4895eff..0000000 --- a/some-more-includes-gcc10.patch +++ /dev/null @@ -1,148 +0,0 @@ -From: Martin Liška -References: boo#1167465 boo#1158516 - -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h -@@ -8,6 +8,7 @@ - #include - #include - -+#include - #include - - #include "base/base_export.h" -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h -@@ -6,6 +6,7 @@ - #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_ - - #include -+#include - - #include "media/base/media_export.h" - #include "media/cdm/api/content_decryption_module.h" -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h -@@ -11,6 +11,7 @@ - - #include - #include -+#include - - #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482 - -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h -@@ -17,6 +17,7 @@ - #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ - #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ - -+#include - #include - - #include "perfetto/base/export.h" -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/audio/utility/channel_mixer.cc -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/audio/utility/channel_mixer.cc -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/audio/utility/channel_mixer.cc -@@ -8,6 +8,8 @@ - * be found in the AUTHORS file in the root of the source tree. - */ - -+#include -+ - #include "audio/utility/channel_mixer.h" - - #include "audio/utility/channel_mixing_matrix.h" -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h -@@ -11,6 +11,7 @@ - #ifndef CALL_RTX_RECEIVE_STREAM_H_ - #define CALL_RTX_RECEIVE_STREAM_H_ - -+#include - #include - - #include "call/rtp_packet_sink_interface.h" -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h -@@ -11,6 +11,7 @@ - #ifndef COMMON_VIDEO_H264_PPS_PARSER_H_ - #define COMMON_VIDEO_H264_PPS_PARSER_H_ - -+#include - #include "absl/types/optional.h" - - namespace rtc { -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h -@@ -11,6 +11,7 @@ - #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_ - #define COMMON_VIDEO_H264_SPS_PARSER_H_ - -+#include - #include "absl/types/optional.h" - - namespace rtc { -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -@@ -12,6 +12,7 @@ - #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ - - #include -+#include - - namespace webrtc { - -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc -@@ -17,6 +17,7 @@ - #include - #include - -+#include - #include - #include - -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h -@@ -11,6 +11,7 @@ - #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - -+#include - #include - - #include "absl/types/optional.h" -Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h -=================================================================== ---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h -+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h -@@ -11,6 +11,7 @@ - #ifndef MODULES_VIDEO_CODING_DECODING_STATE_H_ - #define MODULES_VIDEO_CODING_DECODING_STATE_H_ - -+#include - #include - #include - #include