1 # NOTE: not splitting WebKit/WebKitWidgets, interdependencies are not clear
2 # (e.g. WebProcess requires WebKitWidgets)
5 %bcond_with bootstrap # disable features to able to build without installed qt5
7 %bcond_without doc # documentation
9 %bcond_with qtmultimedia # QtMultimedia support (instead of GStreamer)
10 %bcond_with seccomp # WebProcess seccomp filters (broken as of 5.212.0-alpha4)
16 # it's not possible to build this with debuginfo on 32bit archs due to
17 # memory constraints during linking
19 %define _enable_debug_packages 0
25 %define orgname qtwebkit
26 %define qtbase_ver 5.11
27 %define qtdeclarative_ver 5.11
28 %define qtlocation_ver 5.11
29 %define qtmultimedia_ver 5.11
30 %define qtsensors_ver 5.11
31 %define qttools_ver 5.11
32 %define qtwebchannel_ver 5.11
33 Summary: The Qt5 WebKit libraries
34 Summary(pl.UTF-8): Biblioteki Qt5 WebKit
37 Release: 0.%{snap}.%{rel}
40 #Source0Download: https://github.com/qtwebkit/qtwebkit/releases
41 Source0: https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%{version}-%{snap}/qtwebkit-%{version}-%{snap}.tar.xz
42 # Source0-md5: 5b61a72497f06e51db09d57edc3c35fb
43 Patch0: %{name}-css.patch
44 Patch1: %{name}-docs.patch
45 Patch2: glib2.68.patch
46 Patch3: %{name}-gstreamer.patch
48 Patch102: qtwebkit-5.212.0_cmake_cmp0071.patch
50 URL: https://github.com/annulen/webkit
51 BuildRequires: OpenGL-devel
52 BuildRequires: Qt5Core-devel >= %{qtbase_ver}
53 BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
54 %{?with_qtmultimedia:BuildRequires: Qt5MultimediaWidgets-devel >= %{qtmultimedia_ver}}
55 BuildRequires: Qt5Network-devel >= %{qtbase_ver}
56 BuildRequires: Qt5OpenGL-devel >= %{qtbase_ver}
57 BuildRequires: Qt5Positioning-devel >= %{qtlocation_ver}
58 BuildRequires: Qt5PrintSupport-devel >= %{qtbase_ver}
59 BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
60 BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
61 BuildRequires: Qt5Sensors-devel >= %{qtsensors_ver}
62 BuildRequires: Qt5WebChannel-devel >= %{qtwebchannel_ver}
63 BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
64 BuildRequires: bison >= 2.1
65 BuildRequires: dwz >= 0.13
66 BuildRequires: glib2-devel >= 1:2.36
67 BuildRequires: gperf >= 3.0.1
68 BuildRequires: gstreamer-devel >= 1.0.3
69 BuildRequires: gstreamer-gl-devel >= 1.6.0
70 BuildRequires: gstreamer-plugins-bad-devel >= 1.4.0
71 BuildRequires: gstreamer-plugins-base-devel >= 1.0.3
72 BuildRequires: hyphen-devel
73 BuildRequires: libicu-devel
74 BuildRequires: libjpeg-devel
75 BuildRequires: libpng-devel
76 %{?with_seccomp:BuildRequires: libseccomp-devel}
77 BuildRequires: libwebp-devel
78 BuildRequires: libxml2-devel >= 1:2.8.0
79 BuildRequires: libxslt-devel >= 1.1.7
80 BuildRequires: perl-base >= 1:5.10.0
81 BuildRequires: pkgconfig
82 BuildRequires: python >= 1:2.7.0
83 BuildRequires: ruby >= 1:1.9
85 BuildRequires: qt5-assistant >= %{qttools_ver}
87 BuildRequires: qt5-build >= %{qtbase_ver}
88 BuildRequires: qt5-qmake >= %{qtbase_ver}
89 BuildRequires: rpm-build >= 4.6
90 BuildRequires: rpmbuild(macros) >= 1.752
91 BuildRequires: sqlite3-devel >= 3
92 BuildRequires: tar >= 1:1.22
93 BuildRequires: woff2-devel >= 1.0.1
94 BuildRequires: xorg-lib-libX11-devel
95 BuildRequires: xorg-lib-libXcomposite-devel
96 BuildRequires: xorg-lib-libXrender-devel
98 BuildRequires: zlib-devel
99 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
101 %define specflags -fno-strict-aliasing -DU_DEFINE_FALSE_AND_TRUE=1
102 %define qt5dir %{_libdir}/qt5
105 Qt is a cross-platform application and UI framework. Using Qt, you can
106 write web-enabled applications once and deploy them across desktop,
107 mobile and embedded systems without rewriting the source code.
109 This package contains Qt5 WebKit libraries.
111 %description -l pl.UTF-8
112 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
113 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
114 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
117 Ten pakiet zawiera biblioteki Qt5 WebKit.
119 %package -n Qt5WebKit
120 Summary: The Qt5 WebKit libraries
121 Summary(pl.UTF-8): Biblioteki Qt5 WebKit
123 Requires: Qt5Core >= %{qtbase_ver}
124 Requires: Qt5Gui >= %{qtbase_ver}
125 %{?with_qtmultimedia:Requires: Qt5MultimediaWidgets >= %{qtmultimedia_ver}}
126 Requires: Qt5Network >= %{qtbase_ver}
127 Requires: Qt5OpenGL >= %{qtbase_ver}
128 Requires: Qt5Positioning >= %{qtlocation_ver}
129 Requires: Qt5PrintSupport >= %{qtbase_ver}
130 Requires: Qt5Qml >= %{qtdeclarative_ver}
131 Requires: Qt5Quick >= %{qtdeclarative_ver}
132 Requires: Qt5Sensors >= %{qtsensors_ver}
133 Requires: Qt5Sql >= %{qtbase_ver}
134 Requires: Qt5Widgets >= %{qtbase_ver}
136 %description -n Qt5WebKit
137 Qt5 WebKit libraries provide a web browser engine as well as C++
138 classes to render and interact with web content.
140 %description -n Qt5WebKit -l pl.UTF-8
141 Biblioteki Qt5 WebKit dostarczają silnik przeglądarki WWW, a także
142 klasy C++ do renderowania i interakcji z treścią WWW.
144 %package -n Qt5WebKit-devel
145 Summary: Qt5 WebKit libraries - development files
146 Summary(pl.UTF-8): Biblioteki Qt5 WebKit - pliki programistyczne
147 Group: X11/Development/Libraries
148 Requires: Qt5Core-devel >= %{qtbase_ver}
149 Requires: Qt5Gui-devel >= %{qtbase_ver}
150 %{?with_qtmultimedia:Requires: Qt5MultimediaWidgets-devel >= %{qtmultimedia_ver}}
151 Requires: Qt5Network-devel >= %{qtbase_ver}
152 Requires: Qt5OpenGL-devel >= %{qtbase_ver}
153 Requires: Qt5Positioning-devel >= %{qtlocation_ver}
154 Requires: Qt5PrintSupport-devel >= %{qtbase_ver}
155 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
156 Requires: Qt5Sensors-devel >= %{qtsensors_ver}
157 Requires: Qt5WebKit = %{version}-%{release}
158 Requires: Qt5Widgets-devel >= %{qtbase_ver}
160 %description -n Qt5WebKit-devel
161 Qt5 WebKit libraries - development files.
163 %description -n Qt5WebKit-devel -l pl.UTF-8
164 Biblioteki Qt5 WebKit - pliki programistyczne.
167 Summary: Qt5 WebKit documentation in HTML format
168 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 WebKit w formacie HTML
170 Requires: qt5-doc-common >= %{qtbase_ver}
174 Qt5 WebKit documentation in HTML format.
176 %description doc -l pl.UTF-8
177 Dokumentacja do bibliotek Qt5 WebKit w formacie HTML.
180 Summary: Qt5 WebKit documentation in QCH format
181 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 WebKit w formacie QCH
183 Requires: qt5-doc-common >= %{qtbase_ver}
187 Qt5 WebKit documentation in QCH format.
189 %description doc-qch -l pl.UTF-8
190 Dokumentacja do bibliotek Qt5 WebKit w formacie QCH.
193 %setup -q -n qtwebkit-%{version}-%{snap}
204 CFLAGS="%{rpmcflags}"; export CFLAGS
205 CXXFLAGS="%{rpmcxxflags} -fpermissive"; export CXXFLAGS
206 # We cannot use default cmake macro here as it overwrites some settings queried
207 # by qtwebkit cmake from qmake
210 -DCMAKE_BUILD_TYPE=Release \
211 -DENABLE_NETSCAPE_PLUGIN_API=ON \
212 %{?with_seccomp:-DENABLE_SECCOMP_FILTERS=ON} \
214 -DENABLE_X11_TARGET=ON \
215 -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
216 -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
217 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
218 %{?with_qtmultimedia:-DUSE_GSTREAMER:BOOL=OFF -DUSE_QT_MULTIMEDIA:BOOL=ON} \
219 %{?with_doc:-DGENERATE_DOCUMENTATION=ON} \
220 %if "%{_lib}" == "lib64"
223 %if "%{_lib}" == "libx32"
234 rm -rf $RPM_BUILD_ROOT
236 %{__make} -C build install \
237 DESTDIR=$RPM_BUILD_ROOT
240 %{__sed} -i -e '/^Libs:/ s,-L/[^ ]*,-L%{_libdir},' \
241 -e '/^Cflags:/ s,-I[^ ]*/include/qt5,-I%{_includedir}/qt5,' \
242 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
245 rm -rf $RPM_BUILD_ROOT
247 %post -n Qt5WebKit -p /sbin/ldconfig
248 %postun -n Qt5WebKit -p /sbin/ldconfig
251 %defattr(644,root,root,755)
252 %attr(755,root,root) %{_libdir}/libQt5WebKit.so.*.*.*
253 %attr(755,root,root) %ghost %{_libdir}/libQt5WebKit.so.5
254 %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so.*.*.*
255 %attr(755,root,root) %ghost %{_libdir}/libQt5WebKitWidgets.so.5
256 %dir %{_libdir}/qt5/qml/QtWebKit
257 %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/libqmlwebkitplugin.so
258 %{_libdir}/qt5/qml/QtWebKit/plugins.qmltypes
259 %{_libdir}/qt5/qml/QtWebKit/qmldir
260 %dir %{_libdir}/qt5/qml/QtWebKit/experimental
261 %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/experimental/libqmlwebkitexperimentalplugin.so
262 %{_libdir}/qt5/qml/QtWebKit/experimental/qmldir
263 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebProcess
264 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebNetworkProcess
265 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebPluginProcess
266 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebStorageProcess
268 %files -n Qt5WebKit-devel
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/libQt5WebKit.so
271 %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so
272 %{_includedir}/qt5/QtWebKit
273 %{_includedir}/qt5/QtWebKitWidgets
274 %{_pkgconfigdir}/Qt5WebKit.pc
275 %{_pkgconfigdir}/Qt5WebKitWidgets.pc
276 %{_libdir}/cmake/Qt5WebKit
277 %{_libdir}/cmake/Qt5WebKitWidgets
278 %{qt5dir}/mkspecs/modules/qt_lib_webkit.pri
279 %{qt5dir}/mkspecs/modules/qt_lib_webkit_private.pri
280 %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets.pri
281 %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets_private.pri
285 %defattr(644,root,root,755)
286 %{_docdir}/qt5-doc/qtwebkit
289 %defattr(644,root,root,755)
290 %{_docdir}/qt5-doc/qtwebkit.qch