]> git.pld-linux.org Git - packages/qt5-qtwebkit.git/blobdiff - qt5-qtwebkit.spec
icu rebuild; rel 6
[packages/qt5-qtwebkit.git] / qt5-qtwebkit.spec
index d977c10955862135bab830d939909d612a038f3e..d228bb16c37ff0fc491084fca8c903f208a60f99 100644 (file)
@@ -1,40 +1,52 @@
-# 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     6
+
 %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             5.4
+%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.5.1
-Release:       7
+Version:       5.212.0
+Release:       0.%{snap}.%{rel}
 License:       LGPL v2+
 Group:         X11/Libraries
-Source0:       http://download.qt.io/official_releases/qt/5.5/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
-# Source0-md5: 681328edb539b8fa3a273b38c90b3e31
-Patch0:                icu59.patch
-Patch1:                new-char-types.patch
-URL:           http://www.qt.io/
+#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
+Patch2:                glib2.68.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}
@@ -46,27 +58,38 @@ 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: rpm-build >= 4.6
+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
@@ -74,7 +97,7 @@ BuildRequires:        xz
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                specflags       -fno-strict-aliasing
+%define                specflags       -fno-strict-aliasing -DU_DEFINE_FALSE_AND_TRUE=1
 %define                qt5dir          %{_libdir}/qt5
 
 %description
@@ -128,7 +151,7 @@ Requires:   Qt5Network-devel >= %{qtbase_ver}
 Requires:      Qt5OpenGL-devel >= %{qtbase_ver}
 Requires:      Qt5Positioning-devel >= %{qtlocation_ver}
 Requires:      Qt5PrintSupport-devel >= %{qtbase_ver}
-Requires:      Qt5Quick-devel >= %{qtbase_ver}
+Requires:      Qt5Quick-devel >= %{qtdeclarative_ver}
 Requires:      Qt5Sensors-devel >= %{qtsensors_ver}
 Requires:      Qt5WebKit = %{version}-%{release}
 Requires:      Qt5Widgets-devel >= %{qtbase_ver}
@@ -144,9 +167,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
 
 %description doc
 Qt5 WebKit documentation in HTML format.
@@ -159,9 +180,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
 
 %description doc-qch
 Qt5 WebKit documentation in QCH format.
@@ -170,35 +189,55 @@ Qt5 WebKit documentation in QCH format.
 Dokumentacja do bibliotek Qt5 WebKit w formacie QCH.
 
 %prep
-%setup -q -n %{orgname}-opensource-src-%{version}
+%setup -q -n qtwebkit-%{version}-%{snap}
 %patch0 -p1
 %patch1 -p1
+%patch2 -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 +258,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 +278,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
This page took 0.079799 seconds and 4 git commands to generate.