]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - opencl support (BR: OpenCL-devel, WEBKIT_CONFIG+=opencl) ? | |
3 | # - seccomp support (BR: libseccomp-devel, WEBKIT_CONFIG+=seccomp_filters) ? | |
4 | # - system leveldb (requires memenv helper library) | |
5 | # NOTE: not splitting WebKit/WebKitWidgets, interdependencies are not clear | |
6 | # (e.g. WebProcess requires WebKitWidgets) | |
7 | # - switch to building using cmake directly, reenable doc | |
8 | # | |
9 | # Conditional build: | |
10 | %bcond_with bootstrap # disable features to able to build without installed qt5 | |
11 | # -- build targets | |
12 | %bcond_with doc # Documentation | |
13 | # -- features | |
14 | %bcond_with qtmultimedia # QtMultimedia support | |
15 | ||
16 | %if %{with bootstrap} | |
17 | %undefine with_doc | |
18 | %endif | |
19 | ||
20 | # it's not possible to build this with debuginfo on 32bit archs due to | |
21 | # memory constraints during linking | |
22 | %ifarch %{ix86} x32 | |
23 | %define _enable_debug_packages 0 | |
24 | %endif | |
25 | ||
26 | %define snap alpha2 | |
27 | ||
28 | %define orgname qtwebkit | |
29 | %define qtbase_ver 5.11 | |
30 | %define qtdeclarative_ver 5.11 | |
31 | %define qtlocation_ver 5.11 | |
32 | %define qtmultimedia_ver 5.11 | |
33 | %define qtsensors_ver 5.11 | |
34 | %define qttools_ver 5.11 | |
35 | Summary: The Qt5 WebKit libraries | |
36 | Summary(pl.UTF-8): Biblioteki Qt5 WebKit | |
37 | Name: qt5-%{orgname} | |
38 | Version: 5.212.0 | |
39 | Release: 0.%{snap}.2 | |
40 | License: LGPL v2+ | |
41 | Group: X11/Libraries | |
42 | Source0: https://github.com/annulen/webkit/archive/qtwebkit-%{version}-%{snap}.tar.gz | |
43 | # Source0-md5: 9216661f6626fe4224ac477adf8d4162 | |
44 | # from FC | |
45 | Patch100: qt5-qtwebkit-5.212.0-alpha2-fix-pagewidth.patch | |
46 | Patch101: qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference.patch | |
47 | Patch102: qtwebkit-5.212.0_cmake_cmp0071.patch | |
48 | Patch103: qtwebkit-5.212.0_fix_missing_sources.patch | |
49 | Patch104: 0016-cmake-Import-ECMEnableSanitizers.patch | |
50 | Patch105: 0031-Disable-ES6-Proxy-object.patch | |
51 | Patch106: 0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch | |
52 | Patch107: 0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch | |
53 | URL: https://github.com/annulen/webkit | |
54 | BuildRequires: OpenGL-devel | |
55 | BuildRequires: Qt5Core-devel >= %{qtbase_ver} | |
56 | BuildRequires: Qt5Gui-devel >= %{qtbase_ver} | |
57 | %{?with_qtmultimedia:BuildRequires: Qt5MultimediaWidgets-devel >= %{qtmultimedia_ver}} | |
58 | BuildRequires: Qt5Network-devel >= %{qtbase_ver} | |
59 | BuildRequires: Qt5OpenGL-devel >= %{qtbase_ver} | |
60 | BuildRequires: Qt5Positioning-devel >= %{qtlocation_ver} | |
61 | BuildRequires: Qt5PrintSupport-devel >= %{qtbase_ver} | |
62 | BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver} | |
63 | BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver} | |
64 | BuildRequires: Qt5Sensors-devel >= %{qtsensors_ver} | |
65 | BuildRequires: Qt5Sql-devel >= %{qtbase_ver} | |
66 | BuildRequires: Qt5Widgets-devel >= %{qtbase_ver} | |
67 | BuildRequires: Qt5WebChannel-devel >= %{qtbase_ver} | |
68 | BuildRequires: glib2-devel >= 2.0 | |
69 | BuildRequires: gperf | |
70 | BuildRequires: gstreamer-devel >= 1.0 | |
71 | BuildRequires: gstreamer-plugins-base-devel >= 1.0 | |
72 | BuildRequires: libicu-devel | |
73 | BuildRequires: libjpeg-devel | |
74 | BuildRequires: libpng-devel | |
75 | BuildRequires: libwebp-devel | |
76 | BuildRequires: libxml2-devel >= 2.0 | |
77 | BuildRequires: libxslt-devel | |
78 | BuildRequires: pkgconfig | |
79 | BuildRequires: rpmbuild(macros) >= 1.654 | |
80 | %if %{with doc} | |
81 | BuildRequires: qt5-assistant >= %{qttools_ver} | |
82 | %endif | |
83 | BuildRequires: qt5-build >= %{qtbase_ver} | |
84 | BuildRequires: qt5-qmake >= %{qtbase_ver} | |
85 | BuildRequires: rpmbuild(macros) >= 1.654 | |
86 | BuildRequires: sqlite3-devel >= 3 | |
87 | BuildRequires: tar >= 1:1.22 | |
88 | BuildRequires: xorg-lib-libX11-devel | |
89 | BuildRequires: xorg-lib-libXcomposite-devel | |
90 | BuildRequires: xorg-lib-libXrender-devel | |
91 | BuildRequires: xz | |
92 | BuildRequires: zlib-devel | |
93 | BuildConflicts: leveldb-devel | |
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 WebKit libraries. | |
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 biblioteki Qt5 WebKit. | |
113 | ||
114 | %package -n Qt5WebKit | |
115 | Summary: The Qt5 WebKit libraries | |
116 | Summary(pl.UTF-8): Biblioteki Qt5 WebKit | |
117 | Group: X11/Libraries | |
118 | Requires: Qt5Core >= %{qtbase_ver} | |
119 | Requires: Qt5Gui >= %{qtbase_ver} | |
120 | %{?with_qtmultimedia:Requires: Qt5MultimediaWidgets >= %{qtmultimedia_ver}} | |
121 | Requires: Qt5Network >= %{qtbase_ver} | |
122 | Requires: Qt5OpenGL >= %{qtbase_ver} | |
123 | Requires: Qt5Positioning >= %{qtlocation_ver} | |
124 | Requires: Qt5PrintSupport >= %{qtbase_ver} | |
125 | Requires: Qt5Qml >= %{qtdeclarative_ver} | |
126 | Requires: Qt5Quick >= %{qtdeclarative_ver} | |
127 | Requires: Qt5Sensors >= %{qtsensors_ver} | |
128 | Requires: Qt5Sql >= %{qtbase_ver} | |
129 | Requires: Qt5Widgets >= %{qtbase_ver} | |
130 | ||
131 | %description -n Qt5WebKit | |
132 | Qt5 WebKit libraries provide a web browser engine as well as C++ | |
133 | classes to render and interact with web content. | |
134 | ||
135 | %description -n Qt5WebKit -l pl.UTF-8 | |
136 | Biblioteki Qt5 WebKit dostarczają silnik przeglądarki WWW, a także | |
137 | klasy C++ do renderowania i interakcji z treścią WWW. | |
138 | ||
139 | %package -n Qt5WebKit-devel | |
140 | Summary: Qt5 WebKit libraries - development files | |
141 | Summary(pl.UTF-8): Biblioteki Qt5 WebKit - pliki programistyczne | |
142 | Group: X11/Development/Libraries | |
143 | Requires: Qt5Core-devel >= %{qtbase_ver} | |
144 | Requires: Qt5Gui-devel >= %{qtbase_ver} | |
145 | %{?with_qtmultimedia:Requires: Qt5MultimediaWidgets-devel >= %{qtmultimedia_ver}} | |
146 | Requires: Qt5Network-devel >= %{qtbase_ver} | |
147 | Requires: Qt5OpenGL-devel >= %{qtbase_ver} | |
148 | Requires: Qt5Positioning-devel >= %{qtlocation_ver} | |
149 | Requires: Qt5PrintSupport-devel >= %{qtbase_ver} | |
150 | Requires: Qt5Quick-devel >= %{qtbase_ver} | |
151 | Requires: Qt5Sensors-devel >= %{qtsensors_ver} | |
152 | Requires: Qt5WebKit = %{version}-%{release} | |
153 | Requires: Qt5Widgets-devel >= %{qtbase_ver} | |
154 | ||
155 | %description -n Qt5WebKit-devel | |
156 | Qt5 WebKit libraries - development files. | |
157 | ||
158 | %description -n Qt5WebKit-devel -l pl.UTF-8 | |
159 | Biblioteki Qt5 WebKit - pliki programistyczne. | |
160 | ||
161 | %package doc | |
162 | Summary: Qt5 WebKit documentation in HTML format | |
163 | Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 WebKit w formacie HTML | |
164 | Group: Documentation | |
165 | Requires: qt5-doc-common >= %{qtbase_ver} | |
166 | %if "%{_rpmversion}" >= "5" | |
167 | BuildArch: noarch | |
168 | %endif | |
169 | ||
170 | %description doc | |
171 | Qt5 WebKit documentation in HTML format. | |
172 | ||
173 | %description doc -l pl.UTF-8 | |
174 | Dokumentacja do bibliotek Qt5 WebKit w formacie HTML. | |
175 | ||
176 | %package doc-qch | |
177 | Summary: Qt5 WebKit documentation in QCH format | |
178 | Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 WebKit w formacie QCH | |
179 | Group: Documentation | |
180 | Requires: qt5-doc-common >= %{qtbase_ver} | |
181 | %if "%{_rpmversion}" >= "5" | |
182 | BuildArch: noarch | |
183 | %endif | |
184 | ||
185 | %description doc-qch | |
186 | Qt5 WebKit documentation in QCH format. | |
187 | ||
188 | %description doc-qch -l pl.UTF-8 | |
189 | Dokumentacja do bibliotek Qt5 WebKit w formacie QCH. | |
190 | ||
191 | %prep | |
192 | %setup -q -n webkit-qtwebkit-%{version}-%{snap} | |
193 | %patch100 -p1 | |
194 | %patch101 -p1 | |
195 | %patch102 -p1 | |
196 | %patch103 -p1 | |
197 | %patch104 -p1 | |
198 | %patch105 -p1 | |
199 | %patch106 -p1 | |
200 | %patch107 -p1 | |
201 | ||
202 | %build | |
203 | CXXFLAGS="%{rpmcxxflags} -fpermissive"; export CXXFLAGS | |
204 | qmake-qt5 \ | |
205 | %{?with_qtmultimedia:WEBKIT_CONFIG+=use_qtmultimedia} | |
206 | ||
207 | %{__make} | |
208 | %{?with_doc:%{__make} docs} | |
209 | ||
210 | %install | |
211 | rm -rf $RPM_BUILD_ROOT | |
212 | %{__make} install \ | |
213 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
214 | ||
215 | %if %{with doc} | |
216 | %{__make} install_docs \ | |
217 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
218 | %endif | |
219 | ||
220 | # kill unnecessary -L%{_libdir} from *.pc | |
221 | %{__sed} -i -e "s,-L%{_libdir} \?,,g" \ | |
222 | $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc | |
223 | # kill unwanted Libs.private (containing many bogus entries) from *.pc files | |
224 | %{__sed} -i -e '/^Libs\.private/d' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc | |
225 | ||
226 | %clean | |
227 | rm -rf $RPM_BUILD_ROOT | |
228 | ||
229 | %post -n Qt5WebKit -p /sbin/ldconfig | |
230 | %postun -n Qt5WebKit -p /sbin/ldconfig | |
231 | ||
232 | %files -n Qt5WebKit | |
233 | %defattr(644,root,root,755) | |
234 | %attr(755,root,root) %{_libdir}/libQt5WebKit.so.*.*.* | |
235 | %attr(755,root,root) %ghost %{_libdir}/libQt5WebKit.so.5 | |
236 | %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so.*.*.* | |
237 | %attr(755,root,root) %ghost %{_libdir}/libQt5WebKitWidgets.so.5 | |
238 | %dir %{_libdir}/qt5/qml/QtWebKit | |
239 | %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/libqmlwebkitplugin.so | |
240 | %{_libdir}/qt5/qml/QtWebKit/plugins.qmltypes | |
241 | %{_libdir}/qt5/qml/QtWebKit/qmldir | |
242 | %dir %{_libdir}/qt5/qml/QtWebKit/experimental | |
243 | %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/experimental/libqmlwebkitexperimentalplugin.so | |
244 | %{_libdir}/qt5/qml/QtWebKit/experimental/qmldir | |
245 | %dir %{_libdir}/qt5/libexec | |
246 | %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebProcess | |
247 | %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebDatabaseProcess | |
248 | %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebNetworkProcess | |
249 | ||
250 | %files -n Qt5WebKit-devel | |
251 | %defattr(644,root,root,755) | |
252 | %attr(755,root,root) %{_libdir}/libQt5WebKit.so | |
253 | %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so | |
254 | %{_includedir}/qt5/QtWebKit | |
255 | %{_includedir}/qt5/QtWebKitWidgets | |
256 | %{_pkgconfigdir}/Qt5WebKit.pc | |
257 | %{_pkgconfigdir}/Qt5WebKitWidgets.pc | |
258 | %{_libdir}/cmake/Qt5WebKit | |
259 | %{_libdir}/cmake/Qt5WebKitWidgets | |
260 | %{qt5dir}/mkspecs/modules/qt_lib_webkit.pri | |
261 | %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets.pri | |
262 | ||
263 | %if %{with doc} | |
264 | %files doc | |
265 | %defattr(644,root,root,755) | |
266 | %{_docdir}/qt5-doc/qtwebkit | |
267 | ||
268 | %files doc-qch | |
269 | %defattr(644,root,root,755) | |
270 | %{_docdir}/qt5-doc/qtwebkit.qch | |
271 | %endif |