From e25c1782fb8ed697e7087bc8bc24e263a8e6ae07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 28 Dec 2023 12:15:27 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 qt6-webengine revision a9962d84513f8499a835e4695215ad3f --- .gitattributes | 23 + 0001-Fix-race-condition-generating-docs.patch | 34 ++ _constraints | 42 ++ _multibuild | 3 + qt6-webengine-rpmlintrc | 8 + qt6-webengine.changes | 241 ++++++++ qt6-webengine.spec | 547 ++++++++++++++++++ qtwebengine-everywhere-src-6.6.1.tar.xz | 3 + rtc-dont-use-h264.patch | 17 + 9 files changed, 918 insertions(+) create mode 100644 .gitattributes create mode 100644 0001-Fix-race-condition-generating-docs.patch create mode 100644 _constraints create mode 100644 _multibuild create mode 100644 qt6-webengine-rpmlintrc create mode 100644 qt6-webengine.changes create mode 100644 qt6-webengine.spec create mode 100644 qtwebengine-everywhere-src-6.6.1.tar.xz create mode 100644 rtc-dont-use-h264.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-Fix-race-condition-generating-docs.patch b/0001-Fix-race-condition-generating-docs.patch new file mode 100644 index 0000000..5e73674 --- /dev/null +++ b/0001-Fix-race-condition-generating-docs.patch @@ -0,0 +1,34 @@ +From 48c84bd037128d6788ee74786ac5f4aca9727ae9 Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa +Date: Wed, 20 Dec 2023 13:48:14 +0100 +Subject: [PATCH] Fix race condition generating docs + +When doing a parallel build, there's a race condition +that sometimes builds qtpdf before pdf_attributions is +generated resulting in an incomplete qtpdf.index file. +Adding this dependency solves this. + +Issue found by Bernhard Wiedemann while +testing build reproducibility of packages in openSUSE and +reported originally at https://bugzilla.opensuse.org/show_bug.cgi?id=1217774 + +Change-Id: Ia7c0c4c685eeed56e9318871467dc2be6626cc47 +--- + src/pdf/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pdf/CMakeLists.txt b/src/pdf/CMakeLists.txt +index a50120d3e..c40476f89 100644 +--- a/src/pdf/CMakeLists.txt ++++ b/src/pdf/CMakeLists.txt +@@ -66,6 +66,7 @@ add_code_attributions_target( + ) + add_dependencies(generate_pdf_attributions run_pdf_GnDone) + add_dependencies(docs generate_pdf_attributions) ++add_dependencies(prepare_docs_Pdf generate_pdf_attributions) + + ## + # TOOLCHAIN SETUP +-- +2.42.0 + diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..e4dc374 --- /dev/null +++ b/_constraints @@ -0,0 +1,42 @@ + + + + qt6-webengine + + + + 16 + + + 20 + + + 8 + + 8 + + + + + aarch64 + + + + 16 + + + + + + qt6-webengine:docs + + + + 7 + + + 2 + + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..c4711bb --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + docs + diff --git a/qt6-webengine-rpmlintrc b/qt6-webengine-rpmlintrc new file mode 100644 index 0000000..3c46002 --- /dev/null +++ b/qt6-webengine-rpmlintrc @@ -0,0 +1,8 @@ +# using fdupes on include directories means looking for troubles +addFilter("files-duplicate .*") + +# library and development package names don't match +addFilter("no-dependency-on .*") + +# Only libraries used at link time are guaranteed to work +addFilter("shlib-fixed-dependency .*") diff --git a/qt6-webengine.changes b/qt6-webengine.changes new file mode 100644 index 0000000..be9e18f --- /dev/null +++ b/qt6-webengine.changes @@ -0,0 +1,241 @@ +------------------------------------------------------------------- +Wed Dec 20 12:16:07 UTC 2023 - Antonio Larrosa + +- Add patch to force pdf_attributions.qdoc to be generated before + qtpdf, fixing a race condition that made the docs subpackage + build not reproducible (boo#1217774): + * 0001-Fix-race-condition-generating-docs.patch + +------------------------------------------------------------------- +Mon Nov 27 14:00:22 UTC 2023 - Christophe Marin + +- Update to 6.6.1: + * https://www.qt.io/blog/qt-6.6.1-released + +------------------------------------------------------------------- +Tue Oct 10 09:40:03 UTC 2023 - Christophe Marin + +- Update to 6.6.0 + * https://www.qt.io/blog/qt-6.6-released + +------------------------------------------------------------------- +Thu Sep 28 07:34:25 UTC 2023 - Christophe Marin + +- Update to 6.5.3 + * https://www.qt.io/blog/qt-6.5.3-released + +------------------------------------------------------------------- +Tue Aug 8 16:11:11 UTC 2023 - Christophe Marin + +- Build with older re2 release on Tumbleweed. + +------------------------------------------------------------------- +Thu Jul 20 09:07:35 UTC 2023 - Christophe Marin + +- Update to 6.5.2 + * https://www.qt.io/blog/qt-6.5.2-released-1 + +------------------------------------------------------------------- +Fri Jun 30 15:13:17 UTC 2023 - Christophe Marin + +- Update subpackages requirements + +------------------------------------------------------------------- +Wed May 24 07:45:46 UTC 2023 - Christophe Marin + +- Update to 6.5.1 + * https://www.qt.io/blog/qt-6.5.1-released +- Drop patch, merged upstream: + * qtwebengine-gcc13.patch + +------------------------------------------------------------------- +Mon Apr 3 10:03:15 UTC 2023 - Christophe Marin + +- Update to 6.5.0 + * https://www.qt.io/blog/qt-6.5-lts-released + +------------------------------------------------------------------- +Tue Mar 28 22:20:44 UTC 2023 - Christophe Marin + +- Add upstream change: + * qtwebengine-gcc13.patch + +------------------------------------------------------------------- +Thu Mar 16 10:00:12 UTC 2023 - Christophe Marin + +- Update to 6.4.3: + * https://www.qt.io/blog/qt-6.4.3-released + +------------------------------------------------------------------- +Fri Jan 6 16:46:56 UTC 2023 - Christophe Marin + +- Update to 6.4.2: + * https://www.qt.io/blog/qt-6.4.2-released + +------------------------------------------------------------------- +Tue Nov 15 11:53:28 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.1: + * https://www.qt.io/blog/qt-6.4.1-released + +------------------------------------------------------------------- +Tue Oct 4 19:49:38 UTC 2022 - Andreas Schwab + +- Update disk constraints for qt6-webengine:docs + +------------------------------------------------------------------- +Thu Sep 29 10:36:10 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.0: + * https://www.qt.io/blog/qt-6.4-released + +------------------------------------------------------------------- +Fri Sep 16 08:29:25 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.0 RC + +------------------------------------------------------------------- +Fri Sep 9 12:41:52 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.2: + * https://www.qt.io/blog/qt-6.3.2-released +- Drop disable-gpu-when-using-nouveau-boo-1005323.diff + Patch was not updated for Qt6 + +------------------------------------------------------------------- +Mon Aug 8 12:03:18 UTC 2022 - Stephan Kulow + +- Remove python2 from buildrequires - it's a left over from qt5 + +------------------------------------------------------------------- +Fri Jun 17 15:15:46 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.1: + * https://www.qt.io/blog/qt-6.3.1-released +- Drop patches, now upstream: + * qtwebengine-icu70.patch + * 0001-Find-GIO-with-QtBase-6.2.patch + +------------------------------------------------------------------- +Fri Apr 8 11:57:03 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.0: + * https://www.qt.io/blog/qt-6.3-released +- Drop patches, now upstream: + * CVE-2022-0971-qtwebengine-5.15.patch + * CVE-2022-1096-qtwebengine-6.2.patch + +------------------------------------------------------------------- +Mon Apr 4 20:41:16 UTC 2022 - Christophe Giboudeaux + +- Add security fixes: + * CVE-2022-0971-qtwebengine-5.15.patch (CVE-2022-0971, boo#1197163) + * CVE-2022-1096-qtwebengine-6.2.patch (CVE-2022-1096, boo#1197552) + +------------------------------------------------------------------- +Tue Mar 29 12:28:44 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.0-rc +- Drop patches, fixed upstream: + * Drop sandbox-statx-futex_time64.patch + * 0001-Fix-build-with-glibc-2.34.patch +- Add upstream changes: + * qtwebengine-icu70.patch + * 0001-Find-GIO-with-QtBase-6.2.patch +- Disable build on 32 bits archs (i586, armv7l) + Build fails (QTBUG-102143) and upstream doesn't support 32 bits + archs. + +------------------------------------------------------------------- +Mon Mar 21 08:46:39 UTC 2022 - Christophe Giboudeaux + +- Update to 6.2.4 + * https://www.qt.io/blog/qt-6.2.4-released +- Drop chromium-90-fseal.patch. Not needed anymore. + +------------------------------------------------------------------- +Mon Jan 31 08:55:03 UTC 2022 - Christophe Giboudeaux + +- Update to 6.2.3: + * https://www.qt.io/blog/qt-6.2.3-released + +------------------------------------------------------------------- +Thu Dec 9 11:27:27 UTC 2021 - Guillaume GARDET + +- Update _constraints on arm and set requirements for + qt6-webengine:docs + +------------------------------------------------------------------- +Wed Dec 1 10:06:38 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.2 + * https://www.qt.io/blog/qt-6.2.2-released +- Make sure all dependencies are present when installing devel + packages. Qt >= 6.2.2 is much less permissive. +- Rebase rtc-dont-use-h264.patch + +------------------------------------------------------------------- +Tue Oct 26 11:23:04 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.1 + * https://www.qt.io/blog/qt-6.2.1-released + +- Drop openSUSE patch qtwebengine-boo1163766.patch. + should be addressed with: + https://github.com/qt/qtwebengine-chromium/commit/652f834de + https://github.com/qt/qtwebengine-chromium/commit/faae106ed + https://github.com/qt/qtwebengine-chromium/commit/6b7b3f1bf +- Drop upstream changes: + * 0001-Fix-build-when-x11-over-egl-es2.patch + * 0001-return-ENOSYS-for-clone3.patch +- Rebase patches: + * 0001-Fix-build-with-glibc-2.34.patch + * sandbox-statx-futex_time64.patch + +------------------------------------------------------------------- +Thu Sep 30 12:31:00 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0: + * https://www.qt.io/blog/qt-6.2-lts-released + +------------------------------------------------------------------- +Sat Sep 25 07:18:46 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0-rc2 + +------------------------------------------------------------------- +Thu Sep 16 14:24:30 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0-rc +- Add arm build fix: + * 0001-Fix-build-when-x11-over-egl-es2.patch + +------------------------------------------------------------------- +Sat Sep 11 12:47:13 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0-beta4 +- Add glibc 2.34 compatibility patch: + * 0001-Fix-build-with-glibc-2.34.patch +- Import patches from the chromium package: + * 0001-return-ENOSYS-for-clone3.patch + * chromium-90-fseal.patch + +------------------------------------------------------------------- +Sun Aug 1 09:41:59 UTC 2021 - Christophe Giboudeaux + +- Drop chromium-glibc-2.33.patch. Merged upstream +- Rebase sandbox-statx-futex_time64.patch. + +------------------------------------------------------------------- +Fri Jul 2 12:22:23 UTC 2021 - Christophe Giboudeaux + +- Add back patches from libqt5-qtwebengine: + * qtwebengine-boo1163766.patch + * rtc-dont-use-h264.patch + * sandbox-statx-futex_time64.patch + * chromium-glibc-2.33.patch + +------------------------------------------------------------------- +Wed Jun 23 19:27:45 UTC 2021 - Christophe Giboudeaux + +- Init qt6-webengine diff --git a/qt6-webengine.spec b/qt6-webengine.spec new file mode 100644 index 0000000..f3c0fac --- /dev/null +++ b/qt6-webengine.spec @@ -0,0 +1,547 @@ +# +# spec file for package qt6-webengine +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define real_version 6.6.1 +%define short_version 6.6 +%define tar_name qtwebengine-everywhere-src +%define tar_suffix %{nil} +# +%global qt6_flavor @BUILD_FLAVOR@%{nil} +%define no_flavor ("%qt6_flavor" == "") +# +%if "%{qt6_flavor}" == "docs" +%define pkg_suffix -docs +%endif +# +%if 0%{?suse_version} > 1500 +# The antique version in Leap 15 is too old for building chromium +%bcond_without system_harfbuzz +# The ICU version is also too old incrementExact() appeared in ICU 71 +%bcond_without system_icu +# and so is tiff... +%bcond_without system_tiff +%endif +Name: qt6-webengine%{?pkg_suffix} +Version: 6.6.1 +Release: 0 +Summary: Web browser engine for Qt applications +License: GPL-2.0-only OR LGPL-3.0-only OR GPL-3.0-only +URL: https://www.qt.io +Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz +Source99: qt6-webengine-rpmlintrc +# Patches 0-100 are upstream patches # +# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwebengine/+/526880 +Patch0: 0001-Fix-race-condition-generating-docs.patch +# Patches 100-200 are openSUSE and/or non-upstream(able) patches # +Patch100: rtc-dont-use-h264.patch +# +# Chromium/blink don't support PowerPC and zSystems and build fails on +# 32 bits archs (https://bugreports.qt.io/browse/QTBUG-102143) +ExclusiveArch: aarch64 x86_64 riscv64 +BuildRequires: Mesa-KHR-devel +BuildRequires: bison +# Not pulled automatically on Leap +BuildRequires: cups-config +BuildRequires: cups-devel +BuildRequires: flex +BuildRequires: gperf +BuildRequires: krb5-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel >= 1.6.0 +BuildRequires: memory-constraints +BuildRequires: nodejs-default +BuildRequires: pipewire-devel +BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: python3-html5lib +BuildRequires: python3-importlib-metadata +BuildRequires: qt6-core-private-devel +BuildRequires: qt6-gui-private-devel +BuildRequires: qt6-qml-private-devel +BuildRequires: qt6-quick-private-devel +BuildRequires: qt6-quickwidgets-private-devel +BuildRequires: qt6-widgets-private-devel +BuildRequires: snappy-devel +BuildRequires: cmake(Qt6Core) = %{real_version} +BuildRequires: cmake(Qt6Designer) = %{real_version} +BuildRequires: cmake(Qt6Gui) = %{real_version} +BuildRequires: cmake(Qt6GuiTools) = %{real_version} +BuildRequires: cmake(Qt6Network) = %{real_version} +BuildRequires: cmake(Qt6OpenGL) = %{real_version} +BuildRequires: cmake(Qt6OpenGLWidgets) = %{real_version} +BuildRequires: cmake(Qt6Positioning) = %{real_version} +BuildRequires: cmake(Qt6PrintSupport) = %{real_version} +BuildRequires: cmake(Qt6Qml) = %{real_version} +BuildRequires: cmake(Qt6QmlModels) = %{real_version} +BuildRequires: cmake(Qt6QmlTools) = %{real_version} +BuildRequires: cmake(Qt6Quick) = %{real_version} +BuildRequires: cmake(Qt6QuickControls2) = %{real_version} +BuildRequires: cmake(Qt6QuickTest) = %{real_version} +BuildRequires: cmake(Qt6QuickWidgets) = %{real_version} +BuildRequires: cmake(Qt6WebChannel) = %{real_version} +BuildRequires: cmake(Qt6WebChannelQuick) = %{real_version} +BuildRequires: cmake(Qt6WebSockets) = %{real_version} +BuildRequires: cmake(Qt6Widgets) = %{real_version} +BuildRequires: cmake(Qt6WidgetsTools) = %{real_version} +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 +BuildRequires: pkgconfig(glproto) +%if %{with system_harfbuzz} +BuildRequires: pkgconfig(harfbuzz) +%endif +%if %{with system_icu} +BuildRequires: pkgconfig(icu-i18n) >= 71 +BuildRequires: pkgconfig(icu-uc) >= 71 +%endif +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libevent) +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: pkgconfig(libpci) +BuildRequires: pkgconfig(libpulse) >= 0.9.10 +%if %{with system_tiff} +BuildRequires: pkgconfig(libtiff-4) >= 4.2.0 +%endif +BuildRequires: pkgconfig(libva) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(minizip) +BuildRequires: pkgconfig(nss) >= 3.26 +BuildRequires: pkgconfig(opus) >= 1.3.1 +BuildRequires: pkgconfig(poppler-cpp) +BuildRequires: pkgconfig(re2) +BuildRequires: pkgconfig(vpx) >= 1.10.0 +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xkbfile) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xscrnsaver) +BuildRequires: pkgconfig(xshmfence) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(zlib) +# Picked from chromium.spec +BuildRequires: (python3 >= 3.7 or python3-dataclasses) +%if "%{qt6_flavor}" == "docs" +BuildRequires: qt6-tools +%{qt6_doc_packages} +%endif + +%description +The Qt WebEngine module provides a web browser engine to embed web content into +Qt applications. +The functionality in Qt WebEngine is divided into the following +modules: +* Qt WebEngine Core module for interacting with Chromium +* Qt WebEngine Widgets module for creating widget-based web applications +* Qt WebEngine module for creating Qt Quick based web applications + +%if %{no_flavor} + +%package imports +Summary: Qt 6 WebEngine QML files and plugins + +%description imports +QML files and plugins from the Qt 6 WebEngine module + +%package -n libQt6Pdf6 +Summary: Qt6 Pdf library + +%description -n libQt6Pdf6 +The Qt6 Pdf library. + +%package -n qt6-pdf-imports +Summary: Qt 6 Pdf QML files and plugins + +%description -n qt6-pdf-imports +QML files and plugins from the Qt 6 Pdf module + +%package -n qt6-pdf-devel +Summary: Development files for the Qt 6 Pdf library +Requires: libQt6Pdf6 = %{version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Network) = %{real_version} + +%description -n qt6-pdf-devel +Development files for the Qt 6 Pdf library. + +%package -n qt6-pdf-private-devel +Summary: Non-ABI stable API for the Qt 6 Pdf library +Requires: cmake(Qt6Pdf) = %{real_version} + +%description -n qt6-pdf-private-devel +This package provides private headers of libQt6Pdf that do not have any +ABI or API guarantees. + +%package -n libQt6PdfQuick6 +Summary: Qt6 PdfQuick library + +%description -n libQt6PdfQuick6 +The Qt6 PdfQuick library. + +%package -n qt6-pdfquick-devel +Summary: Development files for the Qt 6 PdfQuick library +Requires: libQt6PdfQuick6 = %{version} +Requires: qt6-pdf-private-devel = %{version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Qml) = %{real_version} +Requires: cmake(Qt6Quick) = %{real_version} +%requires_eq qt6-quick-private-devel + +%description -n qt6-pdfquick-devel +Development files for the Qt 6 PdfQuick library. + +%package -n qt6-pdfquick-private-devel +Summary: Non-ABI stable API for the Qt 6 PdfQuick library +Requires: cmake(Qt6PdfQuick) = %{real_version} + +%description -n qt6-pdfquick-private-devel +This package provides private headers of libQt6PdfQuick that do not have any +ABI or API guarantees. + +%package -n libQt6PdfWidgets6 +Summary: Qt6 PdfWidgets library + +%description -n libQt6PdfWidgets6 +The Qt6 PdfWidgets library. + +%package -n qt6-pdfwidgets-devel +Summary: Development files for the Qt 6 PdfWidgets library +Requires: libQt6PdfWidgets6 = %{version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Pdf) = %{real_version} +Requires: cmake(Qt6Widgets) = %{real_version} + +%description -n qt6-pdfwidgets-devel +Development files for the Qt 6 PdfWidgets library. + +%package -n qt6-pdfwidgets-private-devel +Summary: Non-ABI stable API for the Qt 6 PdfWidgets library +Requires: cmake(Qt6PdfWidgets) = %{real_version} + +%description -n qt6-pdfwidgets-private-devel +This package provides private headers of libQt6PdfWidgets that do not have any +ABI or API guarantees. + +%package -n libQt6WebEngineCore6 +Summary: Qt6 WebEngineCore library +Requires: qt6-webengine = %{version} + +%description -n libQt6WebEngineCore6 +The Qt6 WebEngineCore library. + +%package -n qt6-webenginecore-devel +Summary: Development files for the Qt 6 WebEngineCore library +Requires: libQt6WebEngineCore6 = %{version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Network) = %{real_version} +Requires: cmake(Qt6Positioning) = %{real_version} +Requires: cmake(Qt6Quick) = %{real_version} +Requires: cmake(Qt6WebChannel) = %{real_version} + +%description -n qt6-webenginecore-devel +Development files for the Qt 6 WebEngineCore library. + +%package -n qt6-webenginecore-private-devel +Summary: Non-ABI stable API for the Qt 6 WebEngineCore library +Requires: cmake(Qt6WebEngineCore) = %{real_version} + +%description -n qt6-webenginecore-private-devel +This package provides private headers of libQt6WebEngineCore that do not have any +ABI or API guarantees. + +%package -n libQt6WebEngineQuick6 +Summary: Qt6 WebEngineQuick library +Requires: qt6-webengine-imports = %{version} + +%description -n libQt6WebEngineQuick6 +The Qt6 WebEngineQuick library. + +%package -n qt6-webenginequick-devel +Summary: Development files for the Qt 6 WebEngineQuick library +Requires: libQt6WebEngineQuick6 = %{version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Qml) = %{real_version} +Requires: cmake(Qt6Quick) = %{real_version} +Requires: cmake(Qt6WebEngineCore) = %{real_version} + +%description -n qt6-webenginequick-devel +Development files for the Qt 6 WebEngineQuick library. + +%package -n qt6-webenginequick-private-devel +Summary: Non-ABI stable API for the Qt 6 WebEngineQuick library +Requires: cmake(Qt6WebEngineQuick) = %{real_version} + +%description -n qt6-webenginequick-private-devel +This package provides private headers of libQt6WebEngineQuick that do not have any +ABI or API guarantees. + +%package -n libQt6WebEngineWidgets6 +Summary: Qt6 WebEngineWidgets library + +%description -n libQt6WebEngineWidgets6 +The Qt6 WebEngineWidgets library. + +%package -n qt6-webenginewidgets-devel +Summary: Development files for the Qt 6 WebEngineWidgets library +Requires: libQt6WebEngineWidgets6 = %{version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6PrintSupport) = %{real_version} +Requires: cmake(Qt6Quick) = %{real_version} +Requires: cmake(Qt6QuickWidgets) = %{real_version} +Requires: cmake(Qt6WebEngineCore) = %{real_version} +Requires: cmake(Qt6Widgets) = %{real_version} + +%description -n qt6-webenginewidgets-devel +Development files for the Qt 6 WebEngineWidgets library. + +%package -n qt6-webenginewidgets-private-devel +Summary: Non-ABI stable API for the Qt 6 WebEngineWidgets library +Requires: cmake(Qt6WebEngineWidgets) = %{real_version} + +%description -n qt6-webenginewidgets-private-devel +This package provides private headers of libQt6WebEngineWidgets that do not have any +ABI or API guarantees. + +%{qt6_examples_package} + +%endif + +%prep +%autosetup -p1 -n %{tar_name}-%{real_version}%{tar_suffix} + +%build +%if %{no_flavor} +# Determine the right number of parallel processes based on the available memory +# Copied from the Qt 5 webengine package +%limit_build -m 2750 +%endif + +# Ensure that also the internal chromium build follows the right number of +# parallel processes instead of its defaults. +export NINJAFLAGS="%{?_smp_mflags}" + +%cmake_qt6 \ + -DCMAKE_TOOLCHAIN_FILE:STRING="%{_qt6_cmakedir}/Qt6/qt.toolchain.cmake" \ + -DFEATURE_qtpdf_build:BOOL=ON \ + -DFEATURE_webengine_developer_build:BOOL=OFF \ + -DFEATURE_webengine_embedded_build:BOOL=OFF \ + -DFEATURE_webengine_extensions:BOOL=ON \ + -DFEATURE_webengine_kerberos:BOOL=ON \ + -DFEATURE_webengine_native_spellchecker:BOOL=OFF \ + -DFEATURE_webengine_printing_and_pdf:BOOL=ON \ + -DFEATURE_webengine_proprietary_codecs:BOOL=ON \ + -DFEATURE_webengine_system_ffmpeg:BOOL=ON \ +%if %{without system_harfbuzz} + -DFEATURE_webengine-system-harfbuzz:BOOL=OFF \ +%endif +%if %{with system_icu} + -DFEATURE_webengine_system_icu:BOOL=ON \ +%else + -DFEATURE_webengine_system_icu:BOOL=OFF \ +%endif + -DFEATURE_webengine_system_libevent:BOOL=ON \ + -DFEATURE_webengine_webrtc:BOOL=ON \ + -DFEATURE_webengine_webrtc_pipewire:BOOL=ON \ + -DQT_BUILD_EXAMPLES:BOOL=ON + +%{qt6_build} + +%install +%{qt6_install} + +%if %{no_flavor} + +# CMake files are not needed for plugins +rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Designer/ +rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Gui/ +rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Qml/QmlPlugins + +# This shouldn't be needed +rm -r %{buildroot}%{_qt6_cmakedir}/Qt6BuildInternals + +%ldconfig_scriptlets -n libQt6Pdf6 +%ldconfig_scriptlets -n libQt6PdfQuick6 +%ldconfig_scriptlets -n libQt6PdfWidgets6 +%ldconfig_scriptlets -n libQt6WebEngineCore6 +%ldconfig_scriptlets -n libQt6WebEngineQuick6 +%ldconfig_scriptlets -n libQt6WebEngineWidgets6 + +%files +%dir %{_qt6_pluginsdir}/designer +%{_qt6_datadir}/resources/ +%{_qt6_translationsdir}/qtwebengine_locales/ +%{_qt6_libexecdir}/QtWebEngineProcess +%{_qt6_pluginsdir}/designer/libqwebengineview.so + +%files imports +%{_qt6_qmldir}/QtWebEngine/ + +%files -n libQt6Pdf6 +%dir %{_qt6_pluginsdir}/imageformats +%{_qt6_libdir}/libQt6Pdf.so.* +%{_qt6_pluginsdir}/imageformats/libqpdf.so + +%files -n qt6-pdf-imports +%dir %{_qt6_qmldir}/QtQuick +%{_qt6_qmldir}/QtQuick/Pdf + +%files -n qt6-pdf-devel +%{_qt6_cmakedir}/Qt6Pdf/ +%{_qt6_descriptionsdir}/Pdf.json +%{_qt6_includedir}/QtPdf/ +%{_qt6_libdir}/libQt6Pdf.prl +%{_qt6_libdir}/libQt6Pdf.so +%{_qt6_metatypesdir}/qt6pdf_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_pdf.pri +%{_qt6_pkgconfigdir}/Qt6Pdf.pc +%exclude %{_qt6_includedir}/QtPdf/%{real_version} + +%files -n qt6-pdf-private-devel +%{_qt6_includedir}/QtPdf/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_pdf_private.pri + +%files -n libQt6PdfQuick6 +%{_qt6_libdir}/libQt6PdfQuick.so.* + +%files -n qt6-pdfquick-devel +%{_qt6_cmakedir}/Qt6PdfQuick/ +%{_qt6_descriptionsdir}/PdfQuick.json +%{_qt6_includedir}/QtPdfQuick/ +%{_qt6_libdir}/libQt6PdfQuick.prl +%{_qt6_libdir}/libQt6PdfQuick.so +%{_qt6_metatypesdir}/qt6pdfquick_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_pdfquick.pri +%{_qt6_pkgconfigdir}/Qt6PdfQuick.pc +%exclude %{_qt6_includedir}/QtPdfQuick/%{real_version} + +%files -n qt6-pdfquick-private-devel +%{_qt6_includedir}/QtPdfQuick/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_pdfquick_private.pri + +%files -n libQt6PdfWidgets6 +%{_qt6_libdir}/libQt6PdfWidgets.so.* + +%files -n qt6-pdfwidgets-devel +%{_qt6_cmakedir}/Qt6PdfWidgets/ +%{_qt6_descriptionsdir}/PdfWidgets.json +%{_qt6_includedir}/QtPdfWidgets/ +%{_qt6_libdir}/libQt6PdfWidgets.prl +%{_qt6_libdir}/libQt6PdfWidgets.so +%{_qt6_metatypesdir}/qt6pdfwidgets_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_pdfwidgets.pri +%{_qt6_pkgconfigdir}/Qt6PdfWidgets.pc +%exclude %{_qt6_includedir}/QtPdfWidgets/%{real_version} + +%files -n qt6-pdfwidgets-private-devel +%{_qt6_includedir}/QtPdfWidgets/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_pdfwidgets_private.pri + +%files -n libQt6WebEngineCore6 +%license LICENSES/* +%{_qt6_libdir}/libQt6WebEngineCore.so.* + +%files -n qt6-webenginecore-devel +%{_qt6_cmakedir}/Qt6/FindGPerf.cmake +%{_qt6_cmakedir}/Qt6/FindGn.cmake +%{_qt6_cmakedir}/Qt6/FindNinja.cmake +%{_qt6_cmakedir}/Qt6/FindNodejs.cmake +%{_qt6_cmakedir}/Qt6/FindPkgConfigHost.cmake +%{_qt6_cmakedir}/Qt6/FindSnappy.cmake +%{_qt6_cmakedir}/Qt6WebEngineCore/ +%{_qt6_cmakedir}/Qt6WebEngineCoreTools/ +%{_qt6_descriptionsdir}/WebEngineCore.json +%{_qt6_includedir}/QtWebEngineCore/ +%{_qt6_libdir}/libQt6WebEngineCore.prl +%{_qt6_libdir}/libQt6WebEngineCore.so +%{_qt6_libexecdir}/gn +%{_qt6_libexecdir}/qwebengine_convert_dict +%{_qt6_metatypesdir}/qt6webenginecore_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_webenginecore.pri +%{_qt6_pkgconfigdir}/Qt6WebEngineCore.pc +%exclude %{_qt6_includedir}/QtWebEngineCore/%{real_version} + +%files -n qt6-webenginecore-private-devel +%{_qt6_includedir}/QtWebEngineCore/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_webenginecore_private.pri + +%files -n libQt6WebEngineQuick6 +%{_qt6_libdir}/libQt6WebEngineQuick.so.* +%{_qt6_libdir}/libQt6WebEngineQuickDelegatesQml.so.* + +%files -n qt6-webenginequick-devel +%{_qt6_cmakedir}/Qt6WebEngineQuick/ +%{_qt6_cmakedir}/Qt6WebEngineQuickDelegatesQml/ +%{_qt6_descriptionsdir}/WebEngineQuick.json +%{_qt6_descriptionsdir}/WebEngineQuickDelegatesQml.json +%{_qt6_includedir}/QtWebEngineQuick/ +%{_qt6_libdir}/libQt6WebEngineQuick.prl +%{_qt6_libdir}/libQt6WebEngineQuick.so +%{_qt6_libdir}/libQt6WebEngineQuickDelegatesQml.prl +%{_qt6_libdir}/libQt6WebEngineQuickDelegatesQml.so +%{_qt6_metatypesdir}/qt6webenginequick_*_metatypes.json +%{_qt6_metatypesdir}/qt6webenginequickdelegatesqml_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_webenginequick.pri +%{_qt6_mkspecsdir}/modules/qt_lib_webenginequickdelegatesqml.pri +%{_qt6_pkgconfigdir}/Qt6WebEngineQuick.pc +%{_qt6_pkgconfigdir}/Qt6WebEngineQuickDelegatesQml.pc +%exclude %{_qt6_includedir}/QtWebEngineQuick/%{real_version} + +%files -n qt6-webenginequick-private-devel +%{_qt6_includedir}/QtWebEngineQuick/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_webenginequick_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_webenginequickdelegatesqml_private.pri + +%files -n libQt6WebEngineWidgets6 +%{_qt6_libdir}/libQt6WebEngineWidgets.so.* + +%files -n qt6-webenginewidgets-devel +%{_qt6_cmakedir}/Qt6WebEngineWidgets/ +%{_qt6_descriptionsdir}/WebEngineWidgets.json +%{_qt6_includedir}/QtWebEngineWidgets/ +%{_qt6_libdir}/libQt6WebEngineWidgets.prl +%{_qt6_libdir}/libQt6WebEngineWidgets.so +%{_qt6_metatypesdir}/qt6webenginewidgets_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_webenginewidgets.pri +%{_qt6_pkgconfigdir}/Qt6WebEngineWidgets.pc +%exclude %{_qt6_includedir}/QtWebEngineWidgets/%{real_version} + +%files -n qt6-webenginewidgets-private-devel +%{_qt6_includedir}/QtWebEngineWidgets/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_webenginewidgets_private.pri + +%endif + +%changelog diff --git a/qtwebengine-everywhere-src-6.6.1.tar.xz b/qtwebengine-everywhere-src-6.6.1.tar.xz new file mode 100644 index 0000000..9e90540 --- /dev/null +++ b/qtwebengine-everywhere-src-6.6.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a6ea228214bd66029ca90549b29021f30f7544abff997b7f831ceac2ce73691 +size 421042656 diff --git a/rtc-dont-use-h264.patch b/rtc-dont-use-h264.patch new file mode 100644 index 0000000..8d1e084 --- /dev/null +++ b/rtc-dont-use-h264.patch @@ -0,0 +1,17 @@ +From: Fabian Vogt +Subject: Don't require open264 when proprietary_codecs are supported + +diff --git a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni b/chromium/third_party/webrtc/webrtc.gni +index ca8acdbf259..36897a72aa8 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni ++++ b/src/3rdparty/chromium/third_party/webrtc/webrtc.gni +@@ -151,8 +151,7 @@ declare_args() { + # + # Enabling H264 when building with MSVC is currently not supported, see + # bugs.webrtc.org/9213#c13 for more info. +- rtc_use_h264 = +- proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang) ++ rtc_use_h264 = false + + # Enable this flag to make webrtc::Mutex be implemented by absl::Mutex. + rtc_use_absl_mutex = false