#
# Conditional build:
%bcond_without doc # Documentation
+%bcond_without system_libvpx # Build with system libvpx
%define orgname qtwebengine
-%define qtbase_ver %{version}
-%define qtdeclarative_ver %{version}
-%define qttools_ver %{version}
-%define qtwebchannel_ver %{version}
Summary: The Qt5 WebEngine library
Summary(pl.UTF-8): Biblioteka Qt5 WebEngine
Name: qt5-%{orgname}
-Version: 5.5.1
-Release: 0.1
+Version: 5.15.0
+Release: 6
License: LGPL v3 or GPL v2+ or commercial
Group: X11/Libraries
-Source0: http://download.qt.io/official_releases/qt/5.5/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
-# Source0-md5: 2a548bde706e8639cdec2cbe31d85545
+Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
+# Source0-md5: 738478b9409f8615ca0f63738b73bbae
+Patch0: x32.patch
+Patch1: webauthn.patch
+Patch2: bison-3.7.patch
+Patch3: binutils-2.35.patch
+Patch4: icu67.patch
URL: http://www.qt.io/
-BuildRequires: Qt5Core-devel >= %{qtbase_ver}
-BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
-BuildRequires: Qt5Network-devel >= %{qtbase_ver}
-BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
-BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
-BuildRequires: Qt5WebChannel-devel >= %{qtwebchannel_ver}
-BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
+BuildRequires: Mesa-khrplatform-devel
+BuildRequires: Qt5Core-devel >= %{version}
+BuildRequires: Qt5Designer-devel >= %{version}
+BuildRequires: Qt5Gui-devel >= %{version}
+BuildRequires: Qt5Network-devel >= %{version}
+BuildRequires: Qt5Positioning-devel >= %{version}
+BuildRequires: Qt5PrintSupport-devel >= %{version}
+BuildRequires: Qt5Qml-devel >= %{version}
+BuildRequires: Qt5Quick-devel >= %{version}
+BuildRequires: Qt5Svg-devel >= %{version}
+BuildRequires: Qt5UiTools-devel >= %{version}
+BuildRequires: Qt5WebChannel-devel >= %{version}
+BuildRequires: Qt5WebSockets-devel >= %{version}
+BuildRequires: Qt5Widgets-devel >= %{version}
+BuildRequires: alsa-lib-devel >= 1.0.10
+BuildRequires: bison
+BuildRequires: dbus-devel
+BuildRequires: ffmpeg-devel
+BuildRequires: flex
+BuildRequires: fontconfig-devel
+BuildRequires: freetype-devel >= 2.4.2
+BuildRequires: glib2-devel >= 1:2.32.0
+BuildRequires: glibc-misc >= 2.17
+BuildRequires: gperf
+BuildRequires: harfbuzz-devel >= 2.2.0
+BuildRequires: jsoncpp-devel
+BuildRequires: lcms2-devel
+BuildRequires: libdrm-devel
+BuildRequires: libevent-devel
+BuildRequires: libicu-devel >= 64
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel >= 1.6.0
+BuildRequires: libstdc++-devel
+BuildRequires: libstdc++-static
+%{?with_system_libvpx:BuildRequires: libvpx-devel >= 1.8.0}
+BuildRequires: libwebp-devel
+BuildRequires: libxml2-devel
+BuildRequires: libxslt-devel
+BuildRequires: minizip-devel
+BuildRequires: ninja
+BuildRequires: nss-devel >= 3.26
+BuildRequires: opus-devel >= 1.3.1
+BuildRequires: pkgconfig
+BuildRequires: poppler-cpp-devel
+BuildRequires: protobuf-devel
+BuildRequires: pulseaudio-devel >= 0.9.10
+BuildRequires: re2-devel
+BuildRequires: snappy-devel
%if %{with doc}
-BuildRequires: qt5-assistant >= %{qttools_ver}
+BuildRequires: qt5-assistant >= %{version}
%endif
-BuildRequires: qt5-build >= %{qtbase_ver}
-BuildRequires: qt5-qmake >= %{qtbase_ver}
+BuildRequires: qt5-build >= %{version}
+BuildRequires: qt5-qmake >= %{version}
BuildRequires: rpmbuild(macros) >= 1.654
BuildRequires: tar >= 1:1.22
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXcomposite-devel
+BuildRequires: xorg-lib-libXcursor-devel
+BuildRequires: xorg-lib-libXi-devel
+BuildRequires: xorg-lib-libXrandr-devel
+BuildRequires: xorg-lib-libXtst-devel
+BuildRequires: xorg-lib-libxkbcommon-devel
BuildRequires: xz
+BuildRequires: zlib-devel
+BuildConflicts: Qt5WebEngine-devel
+Requires: alsa-lib >= 1.0.10
+Requires: freetype >= 2.4.2
+Requires: harfbuzz >= 2.2.0
+Requires: libicu >= 64
+Requires: libpng >= 1.6.0
+%{?with_system_libvpx:Requires: libvpx >= 1.8.0}
+Requires: nss >= 3.26
+Requires: opus >= 1.3.1
+Requires: pulseaudio-libs >= 0.9.10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define specflags -fno-strict-aliasing
Summary: The Qt5 WebEngine library
Summary(pl.UTF-8): Biblioteka Qt5 WebEngine
Group: Libraries
-Requires: Qt5Core >= %{qtbase_ver}
-Requires: Qt5Network >= %{qtbase_ver}
-Requires: Qt5Qml >= %{qtdeclarative_ver}
+Requires: Qt5Core >= %{version}
+Requires: Qt5Network >= %{version}
+Requires: Qt5Qml >= %{version}
%description -n Qt5WebEngine
Qt5 WebEngine library provides seamless integration of C++ and QML
Summary: Qt5 WebEngine library - development files
Summary(pl.UTF-8): Biblioteka Qt5 WebEngine - pliki programistyczne
Group: Development/Libraries
-Requires: Qt5Core-devel >= %{qtbase_ver}
-Requires: Qt5Network-devel >= %{qtbase_ver}
-Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
+Requires: Qt5Core-devel >= %{version}
+Requires: Qt5Network-devel >= %{version}
+Requires: Qt5Qml-devel >= %{version}
Requires: Qt5WebEngine = %{version}-%{release}
%description -n Qt5WebEngine-devel
Summary: Qt5 WebEngine documentation in HTML format
Summary(pl.UTF-8): Dokumentacja do biblioteki Qt5 WebEngine w formacie HTML
Group: Documentation
-Requires: qt5-doc-common >= %{qtbase_ver}
+Requires: qt5-doc-common >= %{version}
%if "%{_rpmversion}" >= "5"
BuildArch: noarch
%endif
Summary: Qt5 WebEngine documentation in QCH format
Summary(pl.UTF-8): Dokumentacja do biblioteki Qt5 WebEngine w formacie QCH
Group: Documentation
-Requires: qt5-doc-common >= %{qtbase_ver}
+Requires: qt5-doc-common >= %{version}
%if "%{_rpmversion}" >= "5"
BuildArch: noarch
%endif
%description examples -l pl.UTF-8
Przykłady do biblioteki Qt5 WebEngine.
+%package -n Qt5Pdf
+Summary: The Qt5 Pdf library
+Summary(pl.UTF-8): Biblioteka Qt5 Pdf
+Group: Libraries
+Requires: Qt5Core >= %{version}
+Requires: Qt5Gui >= %{version}
+Requires: Qt5Network >= %{version}
+Requires: Qt5Qml >= %{version}
+Requires: Qt5Widgets >= %{version}
+
+%description -n Qt5Pdf
+Qt5 Pdf module contains classes and functions for rendering PDF
+documents.
+
+%description -n Qt5Pdf -l pl.UTF-8
+Moduł Qt5 Pdf zawiera klasy i funkcje do renderowania dokumentów PDF.
+
+%package -n Qt5Pdf-devel
+Summary: Qt5 Pdf library - development files
+Summary(pl.UTF-8): Biblioteka Qt5 Pdf - pliki programistyczne
+Group: Development/Libraries
+Requires: Qt5Core-devel >= %{version}
+Requires: Qt5Gui-devel >= %{version}
+Requires: Qt5Network-devel >= %{version}
+Requires: Qt5Pdf = %{version}-%{release}
+Requires: Qt5Qml-devel >= %{version}
+Requires: Qt5Widgets-devel >= %{version}
+
+%description -n Qt5Pdf-devel
+Qt5 Pdf library - development files.
+
+%description -n Qt5Pdf-devel -l pl.UTF-8
+Biblioteka Qt5 Pdf - pliki programistyczne.
+
%prep
-%setup -q -n %{orgname}-opensource-src-%{version}
+%setup -q -n %{orgname}-everywhere-src-%{version}
+%ifarch x32
+%patch0 -p1
+%endif
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+cd ./src/3rdparty/chromium
+%patch4 -p2
%build
-qmake-qt5
+%ifarch x32
+export V8_TARGET_ARCH="x32"
+%endif
+qmake-qt5 -- \
+ -webengine-ffmpeg \
+ -webengine-icu \
+ -webengine-proprietary-codecs
+%{?__jobs:NINJAJOBS="-j %__jobs"} \
%{__make}
%{?with_doc:%{__make} docs}
%endif
# useless symlinks
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.??
# actually drop *.la, follow policy of not packaging them when *.pc exist
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
}
echo "%defattr(644,root,root,755)" > examples.files
-ifecho_tree examples %{_examplesdir}/qt5/qwebengine
ifecho_tree examples %{_examplesdir}/qt5/webengine
+ifecho_tree examples %{_examplesdir}/qt5/webenginewidgets
%clean
rm -rf $RPM_BUILD_ROOT
%post -n Qt5WebEngine -p /sbin/ldconfig
%postun -n Qt5WebEngine -p /sbin/ldconfig
+%post -n Qt5Pdf -p /sbin/ldconfig
+%postun -n Qt5Pdf -p /sbin/ldconfig
+
%files -n Qt5WebEngine
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5WebEngine.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libQt5WebEngine.so.5
+%attr(755,root,root) %{_libdir}/libQt5WebEngineCore.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5WebEngineCore.so.5
+%attr(755,root,root) %{_libdir}/libQt5WebEngineWidgets.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5WebEngineWidgets.so.5
%dir %{qt5dir}/qml/QtWebEngine
-%attr(755,root,root) %{qt5dir}/qml/QtWebEngine/libdeclarative_webengine.so
%{qt5dir}/qml/QtWebEngine/plugins.qmltypes
%{qt5dir}/qml/QtWebEngine/qmldir
+%{qt5dir}/qml/QtWebEngine/Controls1Delegates
+%{qt5dir}/qml/QtWebEngine/Controls2Delegates
+%attr(755,root,root) %{qt5dir}/qml/QtWebEngine/libqtwebengineplugin.so
+%dir %{_datadir}/qt5/resources
+%{_datadir}/qt5/resources/qtwebengine*.pak
+%attr(755,root,root) %{_libdir}/qt5/bin/qwebengine_convert_dict
+%attr(755,root,root) %{_libdir}/qt5/libexec/QtWebEngineProcess
+%attr(755,root,root) %{_libdir}/qt5/plugins/designer/libqwebengineview.so
%files -n Qt5WebEngine-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5WebEngine.so
+%attr(755,root,root) %{_libdir}/libQt5WebEngineCore.so
+%attr(755,root,root) %{_libdir}/libQt5WebEngineWidgets.so
%{_libdir}/libQt5WebEngine.prl
+%{_libdir}/libQt5WebEngineCore.prl
+%{_libdir}/libQt5WebEngineWidgets.prl
%{_includedir}/qt5/QtWebEngine
+%{_includedir}/qt5/QtWebEngineCore
+%{_includedir}/qt5/QtWebEngineWidgets
%{_pkgconfigdir}/Qt5WebEngine.pc
+%{_pkgconfigdir}/Qt5WebEngineCore.pc
+%{_pkgconfigdir}/Qt5WebEngineWidgets.pc
%{_libdir}/cmake/Qt5WebEngine
+%{_libdir}/cmake/Qt5WebEngineCore
+%{_libdir}/cmake/Qt5WebEngineWidgets
+%{_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake
%{qt5dir}/mkspecs/modules/qt_lib_webengine.pri
%{qt5dir}/mkspecs/modules/qt_lib_webengine_private.pri
+%{_libdir}/qt5/mkspecs/modules/qt_lib_webenginecore.pri
+%{_libdir}/qt5/mkspecs/modules/qt_lib_webenginecore_private.pri
+%{_libdir}/qt5/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri
+%{_libdir}/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri
+%{_libdir}/qt5/mkspecs/modules/qt_lib_webenginewidgets_private.pri
%if %{with doc}
%files doc
%defattr(644,root,root,755)
# XXX: dir shared with qt5-qtbase-examples
%dir %{_examplesdir}/qt5
+
+%files -n Qt5Pdf
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libQt5Pdf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Pdf.so.5
+%attr(755,root,root) %{_libdir}/libQt5PdfWidgets.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5PdfWidgets.so.5
+%dir %{qt5dir}/qml/QtQuick/Pdf
+%{qt5dir}/qml/QtQuick/Pdf/plugins.qmltypes
+%{qt5dir}/qml/QtQuick/Pdf/qmldir
+%{qt5dir}/qml/QtQuick/Pdf/qml
+%attr(755,root,root) %{qt5dir}/qml/QtQuick/Pdf/libpdfplugin.so
+%attr(755,root,root) %{_libdir}/qt5/plugins/imageformats/libqpdf.so
+
+%files -n Qt5Pdf-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libQt5Pdf.so
+%attr(755,root,root) %{_libdir}/libQt5PdfWidgets.so
+%{_libdir}/libQt5Pdf.prl
+%{_libdir}/libQt5PdfWidgets.prl
+%{_includedir}/qt5/QtPdf
+%{_includedir}/qt5/QtPdfWidgets
+%{_pkgconfigdir}/Qt5Pdf.pc
+%{_pkgconfigdir}/Qt5PdfWidgets.pc
+%{_libdir}/cmake/Qt5Gui/Qt5Gui_QPdfPlugin.cmake
+%{_libdir}/cmake/Qt5Pdf
+%{_libdir}/cmake/Qt5PdfWidgets
+%{qt5dir}/mkspecs/modules/qt_lib_pdf.pri
+%{qt5dir}/mkspecs/modules/qt_lib_pdf_private.pri
+%{qt5dir}/mkspecs/modules/qt_lib_pdfwidgets.pri
+%{qt5dir}/mkspecs/modules/qt_lib_pdfwidgets_private.pri