]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without doc # Documentation | |
4 | %bcond_without system_libvpx # Build with system libvpx | |
5 | ||
6 | %define orgname qtwebengine | |
7 | Summary: The Qt5 WebEngine library | |
8 | Summary(pl.UTF-8): Biblioteka Qt5 WebEngine | |
9 | Name: qt5-%{orgname} | |
10 | Version: 5.15.1 | |
11 | Release: 3 | |
12 | License: LGPL v3 or GPL v2+ or commercial | |
13 | Group: X11/Libraries | |
14 | Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz | |
15 | # Source0-md5: e37c44664e8a55471b92b07695f7f7db | |
16 | Patch0: x32.patch | |
17 | Patch1: renderer_crash.patch | |
18 | URL: http://www.qt.io/ | |
19 | BuildRequires: Mesa-khrplatform-devel | |
20 | BuildRequires: Qt5Core-devel >= %{version} | |
21 | BuildRequires: Qt5Designer-devel >= %{version} | |
22 | BuildRequires: Qt5Gui-devel >= %{version} | |
23 | BuildRequires: Qt5Network-devel >= %{version} | |
24 | BuildRequires: Qt5Positioning-devel >= %{version} | |
25 | BuildRequires: Qt5PrintSupport-devel >= %{version} | |
26 | BuildRequires: Qt5Qml-devel >= %{version} | |
27 | BuildRequires: Qt5Quick-devel >= %{version} | |
28 | BuildRequires: Qt5Svg-devel >= %{version} | |
29 | BuildRequires: Qt5UiTools-devel >= %{version} | |
30 | BuildRequires: Qt5WebChannel-devel >= %{version} | |
31 | BuildRequires: Qt5WebSockets-devel >= %{version} | |
32 | BuildRequires: Qt5Widgets-devel >= %{version} | |
33 | BuildRequires: alsa-lib-devel >= 1.0.10 | |
34 | BuildRequires: bison | |
35 | BuildRequires: dbus-devel | |
36 | BuildRequires: ffmpeg-devel | |
37 | BuildRequires: flex | |
38 | BuildRequires: fontconfig-devel | |
39 | BuildRequires: freetype-devel >= 2.4.2 | |
40 | BuildRequires: glib2-devel >= 1:2.32.0 | |
41 | BuildRequires: glibc-misc >= 2.17 | |
42 | BuildRequires: gperf | |
43 | BuildRequires: harfbuzz-devel >= 2.2.0 | |
44 | BuildRequires: jsoncpp-devel | |
45 | BuildRequires: lcms2-devel | |
46 | BuildRequires: libdrm-devel | |
47 | BuildRequires: libevent-devel | |
48 | BuildRequires: libicu-devel >= 64 | |
49 | BuildRequires: libjpeg-devel | |
50 | BuildRequires: libpng-devel >= 1.6.0 | |
51 | BuildRequires: libstdc++-devel | |
52 | BuildRequires: libstdc++-static | |
53 | %{?with_system_libvpx:BuildRequires: libvpx-devel >= 1.8.0} | |
54 | BuildRequires: libwebp-devel | |
55 | BuildRequires: libxml2-devel | |
56 | BuildRequires: libxslt-devel | |
57 | BuildRequires: minizip-devel | |
58 | BuildRequires: ninja | |
59 | BuildRequires: nodejs | |
60 | BuildRequires: nss-devel >= 3.26 | |
61 | BuildRequires: opus-devel >= 1.3.1 | |
62 | BuildRequires: pkgconfig | |
63 | BuildRequires: poppler-cpp-devel | |
64 | BuildRequires: protobuf-devel | |
65 | BuildRequires: pulseaudio-devel >= 0.9.10 | |
66 | BuildRequires: re2-devel | |
67 | BuildRequires: snappy-devel | |
68 | %if %{with doc} | |
69 | BuildRequires: qt5-assistant >= %{version} | |
70 | %endif | |
71 | BuildRequires: qt5-build >= %{version} | |
72 | BuildRequires: qt5-qmake >= %{version} | |
73 | BuildRequires: rpmbuild(macros) >= 1.654 | |
74 | BuildRequires: tar >= 1:1.22 | |
75 | BuildRequires: xorg-lib-libX11-devel | |
76 | BuildRequires: xorg-lib-libXcomposite-devel | |
77 | BuildRequires: xorg-lib-libXcursor-devel | |
78 | BuildRequires: xorg-lib-libXi-devel | |
79 | BuildRequires: xorg-lib-libXrandr-devel | |
80 | BuildRequires: xorg-lib-libXtst-devel | |
81 | BuildRequires: xorg-lib-libxkbcommon-devel | |
82 | BuildRequires: xz | |
83 | BuildRequires: zlib-devel | |
84 | BuildConflicts: Qt5WebEngine-devel | |
85 | Requires: alsa-lib >= 1.0.10 | |
86 | Requires: freetype >= 2.4.2 | |
87 | Requires: harfbuzz >= 2.2.0 | |
88 | Requires: libicu >= 64 | |
89 | Requires: libpng >= 1.6.0 | |
90 | %{?with_system_libvpx:Requires: libvpx >= 1.8.0} | |
91 | Requires: nss >= 3.26 | |
92 | Requires: opus >= 1.3.1 | |
93 | Requires: pulseaudio-libs >= 0.9.10 | |
94 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
95 | ||
96 | %define specflags -fno-strict-aliasing | |
97 | %define qt5dir %{_libdir}/qt5 | |
98 | ||
99 | %description | |
100 | Qt is a cross-platform application and UI framework. Using Qt, you can | |
101 | write web-enabled applications once and deploy them across desktop, | |
102 | mobile and embedded systems without rewriting the source code. | |
103 | ||
104 | This package contains Qt5 WebEngine library. | |
105 | ||
106 | %description -l pl.UTF-8 | |
107 | Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika. | |
108 | Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w | |
109 | systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu | |
110 | źródłowego. | |
111 | ||
112 | Ten pakiet zawiera bibliotekę Qt5 WebEngine. | |
113 | ||
114 | %package -n Qt5WebEngine | |
115 | Summary: The Qt5 WebEngine library | |
116 | Summary(pl.UTF-8): Biblioteka Qt5 WebEngine | |
117 | Group: Libraries | |
118 | Requires: Qt5Core >= %{version} | |
119 | Requires: Qt5Network >= %{version} | |
120 | Requires: Qt5Qml >= %{version} | |
121 | ||
122 | %description -n Qt5WebEngine | |
123 | Qt5 WebEngine library provides seamless integration of C++ and QML | |
124 | applications with HTML/JavaScript clients. | |
125 | ||
126 | %description -n Qt5WebEngine -l pl.UTF-8 | |
127 | Biblioteka Qt5 WebEngine udostępnia integrację aplikacji C++ i QML z | |
128 | klientami w HTML-u/JavaScripcie. | |
129 | ||
130 | %package -n Qt5WebEngine-devel | |
131 | Summary: Qt5 WebEngine library - development files | |
132 | Summary(pl.UTF-8): Biblioteka Qt5 WebEngine - pliki programistyczne | |
133 | Group: Development/Libraries | |
134 | Requires: Qt5Core-devel >= %{version} | |
135 | Requires: Qt5Network-devel >= %{version} | |
136 | Requires: Qt5Qml-devel >= %{version} | |
137 | Requires: Qt5WebEngine = %{version}-%{release} | |
138 | ||
139 | %description -n Qt5WebEngine-devel | |
140 | Qt5 WebEngine library - development files. | |
141 | ||
142 | %description -n Qt5WebEngine-devel -l pl.UTF-8 | |
143 | Biblioteka Qt5 WebEngine - pliki programistyczne. | |
144 | ||
145 | %package doc | |
146 | Summary: Qt5 WebEngine documentation in HTML format | |
147 | Summary(pl.UTF-8): Dokumentacja do biblioteki Qt5 WebEngine w formacie HTML | |
148 | Group: Documentation | |
149 | Requires: qt5-doc-common >= %{version} | |
150 | %if "%{_rpmversion}" >= "5" | |
151 | BuildArch: noarch | |
152 | %endif | |
153 | ||
154 | %description doc | |
155 | Qt5 WebEngine documentation in HTML format. | |
156 | ||
157 | %description doc -l pl.UTF-8 | |
158 | Dokumentacja do biblioteki Qt5 WebEngine w formacie HTML. | |
159 | ||
160 | %package doc-qch | |
161 | Summary: Qt5 WebEngine documentation in QCH format | |
162 | Summary(pl.UTF-8): Dokumentacja do biblioteki Qt5 WebEngine w formacie QCH | |
163 | Group: Documentation | |
164 | Requires: qt5-doc-common >= %{version} | |
165 | %if "%{_rpmversion}" >= "5" | |
166 | BuildArch: noarch | |
167 | %endif | |
168 | ||
169 | %description doc-qch | |
170 | Qt5 WebEngine documentation in QCH format. | |
171 | ||
172 | %description doc-qch -l pl.UTF-8 | |
173 | Dokumentacja do biblioteki Qt5 WebEngine w formacie QCH. | |
174 | ||
175 | %package examples | |
176 | Summary: Qt5 WebEngine examples | |
177 | Summary(pl.UTF-8): Przykłady do biblioteki Qt5 WebEngine | |
178 | Group: X11/Development/Libraries | |
179 | %if "%{_rpmversion}" >= "5" | |
180 | BuildArch: noarch | |
181 | %endif | |
182 | ||
183 | %description examples | |
184 | Qt5 WebEngine examples. | |
185 | ||
186 | %description examples -l pl.UTF-8 | |
187 | Przykłady do biblioteki Qt5 WebEngine. | |
188 | ||
189 | %package -n Qt5Pdf | |
190 | Summary: The Qt5 Pdf library | |
191 | Summary(pl.UTF-8): Biblioteka Qt5 Pdf | |
192 | Group: Libraries | |
193 | Requires: Qt5Core >= %{version} | |
194 | Requires: Qt5Gui >= %{version} | |
195 | Requires: Qt5Network >= %{version} | |
196 | Requires: Qt5Qml >= %{version} | |
197 | Requires: Qt5Widgets >= %{version} | |
198 | ||
199 | %description -n Qt5Pdf | |
200 | Qt5 Pdf module contains classes and functions for rendering PDF | |
201 | documents. | |
202 | ||
203 | %description -n Qt5Pdf -l pl.UTF-8 | |
204 | Moduł Qt5 Pdf zawiera klasy i funkcje do renderowania dokumentów PDF. | |
205 | ||
206 | %package -n Qt5Pdf-devel | |
207 | Summary: Qt5 Pdf library - development files | |
208 | Summary(pl.UTF-8): Biblioteka Qt5 Pdf - pliki programistyczne | |
209 | Group: Development/Libraries | |
210 | Requires: Qt5Core-devel >= %{version} | |
211 | Requires: Qt5Gui-devel >= %{version} | |
212 | Requires: Qt5Network-devel >= %{version} | |
213 | Requires: Qt5Pdf = %{version}-%{release} | |
214 | Requires: Qt5Qml-devel >= %{version} | |
215 | Requires: Qt5Widgets-devel >= %{version} | |
216 | ||
217 | %description -n Qt5Pdf-devel | |
218 | Qt5 Pdf library - development files. | |
219 | ||
220 | %description -n Qt5Pdf-devel -l pl.UTF-8 | |
221 | Biblioteka Qt5 Pdf - pliki programistyczne. | |
222 | ||
223 | %prep | |
224 | %setup -q -n %{orgname}-everywhere-src-%{version} | |
225 | %ifarch x32 | |
226 | %patch0 -p1 | |
227 | %endif | |
228 | cd src/3rdparty | |
229 | %patch1 -p1 | |
230 | cd ../.. | |
231 | ||
232 | %build | |
233 | %ifarch x32 | |
234 | export V8_TARGET_ARCH="x32" | |
235 | %endif | |
236 | qmake-qt5 -- \ | |
237 | -webengine-ffmpeg \ | |
238 | -webengine-icu \ | |
239 | -webengine-opus \ | |
240 | -webengine-proprietary-codecs \ | |
241 | -webengine-webp \ | |
242 | -webengine-webrtc | |
243 | %{?__jobs:NINJAJOBS="-j %__jobs"} \ | |
244 | %{__make} | |
245 | %{?with_doc:%{__make} docs} | |
246 | ||
247 | %install | |
248 | rm -rf $RPM_BUILD_ROOT | |
249 | %{__make} install \ | |
250 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
251 | ||
252 | %if %{with doc} | |
253 | %{__make} install_docs \ | |
254 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
255 | %endif | |
256 | ||
257 | # useless symlinks | |
258 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?? | |
259 | # actually drop *.la, follow policy of not packaging them when *.pc exist | |
260 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la | |
261 | ||
262 | # Prepare some files list | |
263 | ifecho() { | |
264 | r="$RPM_BUILD_ROOT$2" | |
265 | if [ -d "$r" ]; then | |
266 | echo "%%dir $2" >> $1.files | |
267 | elif [ -x "$r" ] ; then | |
268 | echo "%%attr(755,root,root) $2" >> $1.files | |
269 | elif [ -f "$r" ]; then | |
270 | echo "$2" >> $1.files | |
271 | else | |
272 | echo "Error generation $1 files list!" | |
273 | echo "$r: no such file or directory!" | |
274 | return 1 | |
275 | fi | |
276 | } | |
277 | ifecho_tree() { | |
278 | ifecho $1 $2 | |
279 | for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do | |
280 | ifecho $1 $2/$f | |
281 | done | |
282 | } | |
283 | ||
284 | echo "%defattr(644,root,root,755)" > examples.files | |
285 | ifecho_tree examples %{_examplesdir}/qt5/webengine | |
286 | ifecho_tree examples %{_examplesdir}/qt5/webenginewidgets | |
287 | ||
288 | %clean | |
289 | rm -rf $RPM_BUILD_ROOT | |
290 | ||
291 | %post -n Qt5WebEngine -p /sbin/ldconfig | |
292 | %postun -n Qt5WebEngine -p /sbin/ldconfig | |
293 | ||
294 | %post -n Qt5Pdf -p /sbin/ldconfig | |
295 | %postun -n Qt5Pdf -p /sbin/ldconfig | |
296 | ||
297 | %files -n Qt5WebEngine | |
298 | %defattr(644,root,root,755) | |
299 | %attr(755,root,root) %{_libdir}/libQt5WebEngine.so.*.*.* | |
300 | %attr(755,root,root) %ghost %{_libdir}/libQt5WebEngine.so.5 | |
301 | %attr(755,root,root) %{_libdir}/libQt5WebEngineCore.so.*.*.* | |
302 | %attr(755,root,root) %ghost %{_libdir}/libQt5WebEngineCore.so.5 | |
303 | %attr(755,root,root) %{_libdir}/libQt5WebEngineWidgets.so.*.*.* | |
304 | %attr(755,root,root) %ghost %{_libdir}/libQt5WebEngineWidgets.so.5 | |
305 | %dir %{qt5dir}/qml/QtWebEngine | |
306 | %{qt5dir}/qml/QtWebEngine/plugins.qmltypes | |
307 | %{qt5dir}/qml/QtWebEngine/qmldir | |
308 | %{qt5dir}/qml/QtWebEngine/Controls1Delegates | |
309 | %{qt5dir}/qml/QtWebEngine/Controls2Delegates | |
310 | %attr(755,root,root) %{qt5dir}/qml/QtWebEngine/libqtwebengineplugin.so | |
311 | %dir %{_datadir}/qt5/resources | |
312 | %{_datadir}/qt5/resources/qtwebengine*.pak | |
313 | %attr(755,root,root) %{_libdir}/qt5/bin/qwebengine_convert_dict | |
314 | %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebEngineProcess | |
315 | %attr(755,root,root) %{_libdir}/qt5/plugins/designer/libqwebengineview.so | |
316 | ||
317 | %files -n Qt5WebEngine-devel | |
318 | %defattr(644,root,root,755) | |
319 | %attr(755,root,root) %{_libdir}/libQt5WebEngine.so | |
320 | %attr(755,root,root) %{_libdir}/libQt5WebEngineCore.so | |
321 | %attr(755,root,root) %{_libdir}/libQt5WebEngineWidgets.so | |
322 | %{_libdir}/libQt5WebEngine.prl | |
323 | %{_libdir}/libQt5WebEngineCore.prl | |
324 | %{_libdir}/libQt5WebEngineWidgets.prl | |
325 | %{_includedir}/qt5/QtWebEngine | |
326 | %{_includedir}/qt5/QtWebEngineCore | |
327 | %{_includedir}/qt5/QtWebEngineWidgets | |
328 | %{_pkgconfigdir}/Qt5WebEngine.pc | |
329 | %{_pkgconfigdir}/Qt5WebEngineCore.pc | |
330 | %{_pkgconfigdir}/Qt5WebEngineWidgets.pc | |
331 | %{_libdir}/cmake/Qt5WebEngine | |
332 | %{_libdir}/cmake/Qt5WebEngineCore | |
333 | %{_libdir}/cmake/Qt5WebEngineWidgets | |
334 | %{_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake | |
335 | %{qt5dir}/mkspecs/modules/qt_lib_webengine.pri | |
336 | %{qt5dir}/mkspecs/modules/qt_lib_webengine_private.pri | |
337 | %{_libdir}/qt5/mkspecs/modules/qt_lib_webenginecore.pri | |
338 | %{_libdir}/qt5/mkspecs/modules/qt_lib_webenginecore_private.pri | |
339 | %{_libdir}/qt5/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri | |
340 | %{_libdir}/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri | |
341 | %{_libdir}/qt5/mkspecs/modules/qt_lib_webenginewidgets_private.pri | |
342 | ||
343 | %if %{with doc} | |
344 | %files doc | |
345 | %defattr(644,root,root,755) | |
346 | %{_docdir}/qt5-doc/qtwebengine | |
347 | ||
348 | %files doc-qch | |
349 | %defattr(644,root,root,755) | |
350 | %{_docdir}/qt5-doc/qtwebengine.qch | |
351 | %endif | |
352 | ||
353 | %files examples -f examples.files | |
354 | %defattr(644,root,root,755) | |
355 | # XXX: dir shared with qt5-qtbase-examples | |
356 | %dir %{_examplesdir}/qt5 | |
357 | ||
358 | %files -n Qt5Pdf | |
359 | %defattr(644,root,root,755) | |
360 | %attr(755,root,root) %{_libdir}/libQt5Pdf.so.*.*.* | |
361 | %attr(755,root,root) %ghost %{_libdir}/libQt5Pdf.so.5 | |
362 | %attr(755,root,root) %{_libdir}/libQt5PdfWidgets.so.*.*.* | |
363 | %attr(755,root,root) %ghost %{_libdir}/libQt5PdfWidgets.so.5 | |
364 | %dir %{qt5dir}/qml/QtQuick/Pdf | |
365 | %{qt5dir}/qml/QtQuick/Pdf/plugins.qmltypes | |
366 | %{qt5dir}/qml/QtQuick/Pdf/qmldir | |
367 | %{qt5dir}/qml/QtQuick/Pdf/qml | |
368 | %attr(755,root,root) %{qt5dir}/qml/QtQuick/Pdf/libpdfplugin.so | |
369 | %attr(755,root,root) %{_libdir}/qt5/plugins/imageformats/libqpdf.so | |
370 | ||
371 | %files -n Qt5Pdf-devel | |
372 | %defattr(644,root,root,755) | |
373 | %attr(755,root,root) %{_libdir}/libQt5Pdf.so | |
374 | %attr(755,root,root) %{_libdir}/libQt5PdfWidgets.so | |
375 | %{_libdir}/libQt5Pdf.prl | |
376 | %{_libdir}/libQt5PdfWidgets.prl | |
377 | %{_includedir}/qt5/QtPdf | |
378 | %{_includedir}/qt5/QtPdfWidgets | |
379 | %{_pkgconfigdir}/Qt5Pdf.pc | |
380 | %{_pkgconfigdir}/Qt5PdfWidgets.pc | |
381 | %{_libdir}/cmake/Qt5Gui/Qt5Gui_QPdfPlugin.cmake | |
382 | %{_libdir}/cmake/Qt5Pdf | |
383 | %{_libdir}/cmake/Qt5PdfWidgets | |
384 | %{qt5dir}/mkspecs/modules/qt_lib_pdf.pri | |
385 | %{qt5dir}/mkspecs/modules/qt_lib_pdf_private.pri | |
386 | %{qt5dir}/mkspecs/modules/qt_lib_pdfwidgets.pri | |
387 | %{qt5dir}/mkspecs/modules/qt_lib_pdfwidgets_private.pri |