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