X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=qt5-qtwebkit.spec;h=ceb8a5793bd04dd61f4e03943d0d6087aeee9a9f;hb=effa4d274b3a55a154a00aab7216cfc507b475a7;hp=52823f56062c3974ab24669133847b0256c5060c;hpb=b0970bd0878491fd5b0fbeaf7d412cd588e37b7c;p=packages%2Fqt5-qtwebkit.git diff --git a/qt5-qtwebkit.spec b/qt5-qtwebkit.spec index 52823f5..ceb8a57 100644 --- a/qt5-qtwebkit.spec +++ b/qt5-qtwebkit.spec @@ -1,39 +1,51 @@ -# TODO: -# - opencl support (BR: OpenCL-devel, WEBKIT_CONFIG+=opencl) ? -# - seccomp support (BR: libseccomp-devel, WEBKIT_CONFIG+=seccomp_filters) ? -# - system leveldb (requires memenv helper library) # NOTE: not splitting WebKit/WebKitWidgets, interdependencies are not clear # (e.g. WebProcess requires WebKitWidgets) # # Conditional build: %bcond_with bootstrap # disable features to able to build without installed qt5 # -- build targets -%bcond_without qch # documentation in QCH format +%bcond_without doc # documentation # -- features -%bcond_with qtmultimedia # QtMultimedia support +%bcond_with qtmultimedia # QtMultimedia support (instead of GStreamer) +%bcond_with seccomp # WebProcess seccomp filters (broken as of 5.212.0-alpha4) %if %{with bootstrap} -%undefine with_qch +%undefine with_doc %endif +# it's not possible to build this with debuginfo on 32bit archs due to +# memory constraints during linking +%ifarch %{ix86} x32 +%define _enable_debug_packages 0 +%endif + +%define snap alpha4 +%define rel 1 + %define orgname qtwebkit -%define qtbase_ver %{version} -%define qtdeclarative_ver %{version} -%define qtlocation_ver %{version} -%define qtmultimedia_ver %{version} -%define qtsensors_ver %{version} -%define qttools_ver %{version} +%define qtbase_ver 5.11 +%define qtdeclarative_ver 5.11 +%define qtlocation_ver 5.11 +%define qtmultimedia_ver 5.11 +%define qtsensors_ver 5.11 +%define qttools_ver 5.11 +%define qtwebchannel_ver 5.11 Summary: The Qt5 WebKit libraries Summary(pl.UTF-8): Biblioteki Qt5 WebKit Name: qt5-%{orgname} -Version: 5.4.1 -Release: 1.1 +Version: 5.212.0 +Release: 0.%{snap}.%{rel} License: LGPL v2+ Group: X11/Libraries -Source0: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz -# Source0-md5: 186627b1ea5b614811fbd0cfa9b4d073 -Patch0: x32-asm.patch -URL: http://qt-project.org/ +#Source0Download: https://github.com/qtwebkit/qtwebkit/releases +Source0: https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%{version}-%{snap}/qtwebkit-%{version}-%{snap}.tar.xz +# Source0-md5: 5b61a72497f06e51db09d57edc3c35fb +Patch0: %{name}-css.patch +Patch1: %{name}-docs.patch +# from FC +Patch102: qtwebkit-5.212.0_cmake_cmp0071.patch +Patch108: x32.patch +URL: https://github.com/annulen/webkit BuildRequires: OpenGL-devel BuildRequires: Qt5Core-devel >= %{qtbase_ver} BuildRequires: Qt5Gui-devel >= %{qtbase_ver} @@ -45,27 +57,37 @@ BuildRequires: Qt5PrintSupport-devel >= %{qtbase_ver} BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver} BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver} BuildRequires: Qt5Sensors-devel >= %{qtsensors_ver} -BuildRequires: Qt5Sql-devel >= %{qtbase_ver} +BuildRequires: Qt5WebChannel-devel >= %{qtwebchannel_ver} BuildRequires: Qt5Widgets-devel >= %{qtbase_ver} -BuildRequires: glib2-devel >= 2.0 -BuildRequires: gstreamer-devel >= 1.0 -BuildRequires: gstreamer-plugins-base-devel >= 1.0 +BuildRequires: bison >= 2.1 +BuildRequires: dwz >= 0.13 +BuildRequires: glib2-devel >= 1:2.36 +BuildRequires: gperf >= 3.0.1 +BuildRequires: gstreamer-devel >= 1.0.3 +BuildRequires: gstreamer-gl-devel >= 1.6.0 +BuildRequires: gstreamer-plugins-bad-devel >= 1.4.0 +BuildRequires: gstreamer-plugins-base-devel >= 1.0.3 +BuildRequires: hyphen-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel +%{?with_seccomp:BuildRequires: libseccomp-devel} BuildRequires: libwebp-devel -BuildRequires: libxml2-devel >= 2.0 -BuildRequires: libxslt-devel +BuildRequires: libxml2-devel >= 1:2.8.0 +BuildRequires: libxslt-devel >= 1.1.7 +BuildRequires: perl-base >= 1:5.10.0 BuildRequires: pkgconfig -BuildRequires: rpmbuild(macros) >= 1.654 -%if %{with qch} +BuildRequires: python >= 1:2.7.0 +BuildRequires: ruby >= 1:1.9 +%if %{with doc} BuildRequires: qt5-assistant >= %{qttools_ver} %endif BuildRequires: qt5-build >= %{qtbase_ver} BuildRequires: qt5-qmake >= %{qtbase_ver} -BuildRequires: rpmbuild(macros) >= 1.654 +BuildRequires: rpmbuild(macros) >= 1.752 BuildRequires: sqlite3-devel >= 3 BuildRequires: tar >= 1:1.22 +BuildRequires: woff2-devel >= 1.0.1 BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXcomposite-devel BuildRequires: xorg-lib-libXrender-devel @@ -143,9 +165,7 @@ Summary: Qt5 WebKit documentation in HTML format Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 WebKit w formacie HTML Group: Documentation Requires: qt5-doc-common >= %{qtbase_ver} -%if "%{_rpmversion}" >= "5" -BuildArch: noarch -%endif +%{?noarchpackage} %description doc Qt5 WebKit documentation in HTML format. @@ -158,9 +178,7 @@ Summary: Qt5 WebKit documentation in QCH format Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 WebKit w formacie QCH Group: Documentation Requires: qt5-doc-common >= %{qtbase_ver} -%if "%{_rpmversion}" >= "5" -BuildArch: noarch -%endif +%{?noarchpackage} %description doc-qch Qt5 WebKit documentation in QCH format. @@ -169,36 +187,54 @@ Qt5 WebKit documentation in QCH format. Dokumentacja do bibliotek Qt5 WebKit w formacie QCH. %prep -%setup -q -n %{orgname}-opensource-src-%{version} -%ifarch x32 +%setup -q -n qtwebkit-%{version}-%{snap} %patch0 -p1 -%endif +%patch1 -p1 +%patch102 -p1 +%patch108 -p1 %build -qmake-qt5 \ - %{?with_qtmultimedia:WEBKIT_CONFIG+=use_qtmultimedia} +mkdir -p build +cd build +CFLAGS="%{rpmcflags}"; export CFLAGS +CXXFLAGS="%{rpmcxxflags} -fpermissive"; export CXXFLAGS +# We cannot use default cmake macro here as it overwrites some settings queried +# by qtwebkit cmake from qmake +cmake \ + -DPORT=Qt \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_NETSCAPE_PLUGIN_API=ON \ + %{?with_seccomp:-DENABLE_SECCOMP_FILTERS=ON} \ + -DENABLE_TOOLS=OFF \ + -DENABLE_X11_TARGET=ON \ + -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + %{?with_qtmultimedia:-DUSE_GSTREAMER:BOOL=OFF -DUSE_QT_MULTIMEDIA:BOOL=ON} \ + %{?with_doc:-DGENERATE_DOCUMENTATION=ON} \ +%if "%{_lib}" == "lib64" + -DLIB_SUFFIX=64 \ +%endif +%if "%{_lib}" == "libx32" + -DLIB_SUFFIX=x32 \ +%endif +%ifarch x32 + -DENABLE_JIT=OFF \ +%endif + .. %{__make} -%{__make} %{!?with_qch:html_}docs %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - INSTALL_ROOT=$RPM_BUILD_ROOT -%{__make} install_%{!?with_qch:html_}docs \ - INSTALL_ROOT=$RPM_BUILD_ROOT +%{__make} -C build install \ + DESTDIR=$RPM_BUILD_ROOT -# kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc -%{__sed} -i -e "s,-L%{_libdir} \?,,g" \ - $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \ +# normalize paths +%{__sed} -i -e '/^Libs:/ s,-L/[^ ]*,-L%{_libdir},' \ + -e '/^Cflags:/ s,-I[^ ]*/include/qt5,-I%{_includedir}/qt5,' \ $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc -# kill unwanted Libs.private (containing many bogus entries) from *.pc files -%{__sed} -i -e '/^Libs\.private/d' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc -# 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 %clean rm -rf $RPM_BUILD_ROOT @@ -219,16 +255,15 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/qt5/qml/QtWebKit/experimental %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/experimental/libqmlwebkitexperimentalplugin.so %{_libdir}/qt5/qml/QtWebKit/experimental/qmldir -%dir %{_libdir}/qt5/libexec -%attr(755,root,root) %{_libdir}/qt5/libexec/QtWebPluginProcess %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebProcess +%attr(755,root,root) %{_libdir}/qt5/libexec/QtWebNetworkProcess +%attr(755,root,root) %{_libdir}/qt5/libexec/QtWebPluginProcess +%attr(755,root,root) %{_libdir}/qt5/libexec/QtWebStorageProcess %files -n Qt5WebKit-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libQt5WebKit.so %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so -%{_libdir}/libQt5WebKit.prl -%{_libdir}/libQt5WebKitWidgets.prl %{_includedir}/qt5/QtWebKit %{_includedir}/qt5/QtWebKitWidgets %{_pkgconfigdir}/Qt5WebKit.pc @@ -240,11 +275,11 @@ rm -rf $RPM_BUILD_ROOT %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets.pri %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets_private.pri +%if %{with doc} %files doc %defattr(644,root,root,755) %{_docdir}/qt5-doc/qtwebkit -%if %{with qch} %files doc-qch %defattr(644,root,root,755) %{_docdir}/qt5-doc/qtwebkit.qch