# # Conditional build: %bcond_without doc # Documentation %bcond_without system_libvpx # Build with system libvpx %define orgname qtwebengine Summary: The Qt5 WebEngine library Summary(pl.UTF-8): Biblioteka Qt5 WebEngine Name: qt5-%{orgname} Version: 5.15.1 Release: 3 License: LGPL v3 or GPL v2+ or commercial Group: X11/Libraries Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz # Source0-md5: e37c44664e8a55471b92b07695f7f7db Patch0: x32.patch Patch1: renderer_crash.patch URL: http://www.qt.io/ 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: nodejs 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 >= %{version} %endif 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 %define qt5dir %{_libdir}/qt5 %description Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded systems without rewriting the source code. This package contains Qt5 WebEngine library. %description -l pl.UTF-8 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika. Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu źródłowego. Ten pakiet zawiera bibliotekę Qt5 WebEngine. %package -n Qt5WebEngine Summary: The Qt5 WebEngine library Summary(pl.UTF-8): Biblioteka Qt5 WebEngine Group: Libraries Requires: Qt5Core >= %{version} Requires: Qt5Network >= %{version} Requires: Qt5Qml >= %{version} %description -n Qt5WebEngine Qt5 WebEngine library provides seamless integration of C++ and QML applications with HTML/JavaScript clients. %description -n Qt5WebEngine -l pl.UTF-8 Biblioteka Qt5 WebEngine udostępnia integrację aplikacji C++ i QML z klientami w HTML-u/JavaScripcie. %package -n Qt5WebEngine-devel Summary: Qt5 WebEngine library - development files Summary(pl.UTF-8): Biblioteka Qt5 WebEngine - pliki programistyczne Group: Development/Libraries Requires: Qt5Core-devel >= %{version} Requires: Qt5Network-devel >= %{version} Requires: Qt5Qml-devel >= %{version} Requires: Qt5WebEngine = %{version}-%{release} %description -n Qt5WebEngine-devel Qt5 WebEngine library - development files. %description -n Qt5WebEngine-devel -l pl.UTF-8 Biblioteka Qt5 WebEngine - pliki programistyczne. %package doc 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 >= %{version} %if "%{_rpmversion}" >= "5" BuildArch: noarch %endif %description doc Qt5 WebEngine documentation in HTML format. %description doc -l pl.UTF-8 Dokumentacja do biblioteki Qt5 WebEngine w formacie HTML. %package doc-qch 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 >= %{version} %if "%{_rpmversion}" >= "5" BuildArch: noarch %endif %description doc-qch Qt5 WebEngine documentation in QCH format. %description doc-qch -l pl.UTF-8 Dokumentacja do biblioteki Qt5 WebEngine w formacie QCH. %package examples Summary: Qt5 WebEngine examples Summary(pl.UTF-8): Przykłady do biblioteki Qt5 WebEngine Group: X11/Development/Libraries %if "%{_rpmversion}" >= "5" BuildArch: noarch %endif %description examples Qt5 WebEngine examples. %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}-everywhere-src-%{version} %ifarch x32 %patch0 -p1 %endif cd src/3rdparty %patch1 -p1 cd ../.. %build %ifarch x32 export V8_TARGET_ARCH="x32" %endif qmake-qt5 -- \ -webengine-ffmpeg \ -webengine-icu \ -webengine-opus \ -webengine-proprietary-codecs \ -webengine-webp \ -webengine-webrtc %{?__jobs:NINJAJOBS="-j %__jobs"} \ %{__make} %{?with_doc:%{__make} docs} %install rm -rf $RPM_BUILD_ROOT %{__make} install \ INSTALL_ROOT=$RPM_BUILD_ROOT %if %{with doc} %{__make} install_docs \ INSTALL_ROOT=$RPM_BUILD_ROOT %endif # useless symlinks %{__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 # Prepare some files list ifecho() { r="$RPM_BUILD_ROOT$2" if [ -d "$r" ]; then echo "%%dir $2" >> $1.files elif [ -x "$r" ] ; then echo "%%attr(755,root,root) $2" >> $1.files elif [ -f "$r" ]; then echo "$2" >> $1.files else echo "Error generation $1 files list!" echo "$r: no such file or directory!" return 1 fi } ifecho_tree() { ifecho $1 $2 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do ifecho $1 $2/$f done } echo "%defattr(644,root,root,755)" > examples.files 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 %{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) %{_docdir}/qt5-doc/qtwebengine %files doc-qch %defattr(644,root,root,755) %{_docdir}/qt5-doc/qtwebengine.qch %endif %files examples -f examples.files %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