]>
Commit | Line | Data |
---|---|---|
8dd13544 | 1 | # TODO: review configure options: |
106993d1 JB |
2 | # - ENABLE_WEBXR (experimental; BR: OpenXR >= 1.0.9, openxr.pc)? |
3 | # - ENABLE_ENCRYPTED_MEDIA, ENABLE_THUNDER (experimental; https://github.com/rdkcentral/Thunder)? | |
8dd13544 | 4 | # - FTL_JIT on !x86_64? |
106993d1 JB |
5 | # - MEDIA_RECORDER (experimental; BR: gstreamer-transcoder-devel >= 1.20) |
6 | # - WEB_RTC (experimental; BR: gstreamer-plugins-bad-devel (webrtc component) >= 1.20, openssl-devel) | |
8dd13544 | 7 | # - WEB_RTC+MEDIA_STREAM (BR: openwebrtc) |
106993d1 JB |
8 | # - USE_AVIF? (experimental; BR: libavif-devel >= 0.9.0) |
9 | # - USE_JPEGXL? (experimental; BR: libjxl-devel) | |
f470cff3 | 10 | # - libsoup3 for HTTP/2 (drop USE_SOUP2=ON)? (BR: libsoup3-devel >= 3.0.0; changes abi tag from -1.0 to -1.1; doc tag remains -1.0) |
8dd13544 | 11 | # |
19d9948d JB |
12 | # Conditional build: |
13 | %bcond_without libsoup2 # libWPEWebKit-1.0 (libsoup2 based) variant | |
14 | %bcond_without libsoup3 # libWPEWebKit-1.1 (libsoup3 based) variant (HTTP/2 support) | |
15 | # | |
8dd13544 JB |
16 | # it's not possible to build this with debuginfo on 32bit archs due to |
17 | # memory constraints during linking | |
18 | %ifarch %{ix86} x32 | |
19 | %define _enable_debug_packages 0 | |
20 | %endif | |
21 | Summary: Port of WebKit embeddable web component to WPE | |
22 | Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do WPE | |
23 | Name: wpe-webkit | |
106993d1 JB |
24 | # NOTE: 2.38.x is stable, 2.39.x devel |
25 | Version: 2.38.6 | |
26 | Release: 1 | |
8dd13544 JB |
27 | License: BSD-like |
28 | Group: X11/Libraries | |
29 | Source0: https://wpewebkit.org/releases/wpewebkit-%{version}.tar.xz | |
106993d1 | 30 | # Source0-md5: eb44d3132208218f3752170cae3220b8 |
8dd13544 | 31 | Patch0: %{name}-x32.patch |
106993d1 | 32 | Patch1: %{name}-gcc13.patch |
19d9948d | 33 | Patch2: %{name}-driver-version-suffix.patch |
8dd13544 JB |
34 | URL: https://wpewebkit.org/ |
35 | BuildRequires: /usr/bin/ld.gold | |
36 | BuildRequires: EGL-devel | |
37 | BuildRequires: OpenGLESv2-devel | |
38 | BuildRequires: at-spi2-atk-devel >= 2.5.3 | |
39 | BuildRequires: atk-devel >= 1:2.16.0 | |
40 | BuildRequires: bubblewrap >= 0.3.1 | |
41 | BuildRequires: cairo-devel >= 1.16.0 | |
106993d1 | 42 | BuildRequires: cmake >= 3.20 |
8dd13544 JB |
43 | BuildRequires: docbook-dtd412-xml |
44 | BuildRequires: fontconfig-devel >= 2.13.0 | |
45 | BuildRequires: freetype-devel >= 1:2.9.0 | |
46 | BuildRequires: gcc-c++ >= 6:7.3.0 | |
106993d1 | 47 | BuildRequires: gi-docgen |
71af4dc4 | 48 | BuildRequires: glib2-devel >= 1:2.67.1 |
8dd13544 JB |
49 | BuildRequires: glibc-misc |
50 | BuildRequires: gperf >= 3.0.1 | |
f470cff3 JB |
51 | BuildRequires: gstreamer-devel >= 1.14.0 |
52 | BuildRequires: gstreamer-gl-devel >= 1.14.0 | |
106993d1 JB |
53 | # codecparsers,mpegts |
54 | BuildRequires: gstreamer-plugins-bad-devel >= 1.14.0 | |
8dd13544 | 55 | # app,audio,fft,pbutils,tag,video |
f470cff3 | 56 | BuildRequires: gstreamer-plugins-base-devel >= 1.14.0 |
8dd13544 JB |
57 | BuildRequires: gtk-doc >= 1.10 |
58 | BuildRequires: harfbuzz-devel >= 1.4.2 | |
59 | BuildRequires: harfbuzz-icu-devel >= 1.4.2 | |
f470cff3 | 60 | BuildRequires: lcms2-devel >= 2 |
8dd13544 JB |
61 | BuildRequires: libepoxy-devel >= 1.4.0 |
62 | BuildRequires: libgcrypt-devel >= 1.7.0 | |
f470cff3 | 63 | BuildRequires: libicu-devel >= 61.2 |
8dd13544 JB |
64 | BuildRequires: libjpeg-devel |
65 | BuildRequires: libpng-devel | |
66 | BuildRequires: libseccomp-devel | |
19d9948d JB |
67 | %{?with_libsoup2:BuildRequires: libsoup-devel >= 2.54} |
68 | %{?with_libsoup3:BuildRequires: libsoup3-devel >= 3.0} | |
69 | # -std=c++2a | |
106993d1 | 70 | BuildRequires: libstdc++-devel >= 6:8.3 |
8dd13544 JB |
71 | BuildRequires: libtasn1-devel |
72 | BuildRequires: libwebp-devel | |
106993d1 | 73 | BuildRequires: libwpe-devel >= 1.14.0 |
8dd13544 JB |
74 | BuildRequires: libxml2-devel >= 1:2.8.0 |
75 | BuildRequires: libxslt-devel >= 1.1.7 | |
76 | BuildRequires: openjpeg2-devel >= 2.2.0 | |
77 | BuildRequires: perl-base >= 1:5.10.0 | |
78 | BuildRequires: pkgconfig | |
8dd13544 | 79 | BuildRequires: python >= 1:2.7.0 |
a525c447 | 80 | BuildRequires: rpm-build >= 4.6 |
8dd13544 JB |
81 | BuildRequires: rpmbuild(macros) >= 1.699 |
82 | BuildRequires: ruby >= 1:1.9 | |
83 | BuildRequires: ruby-modules >= 1:1.9 | |
84 | BuildRequires: sqlite3-devel >= 3 | |
71af4dc4 | 85 | BuildRequires: systemd-devel |
8dd13544 JB |
86 | BuildRequires: tar >= 1:1.22 |
87 | BuildRequires: wayland-devel | |
88 | BuildRequires: wayland-egl-devel | |
106993d1 | 89 | BuildRequires: wpebackend-fdo-devel >= 1.9.0 |
8dd13544 JB |
90 | BuildRequires: woff2-devel >= 1.0.2 |
91 | BuildRequires: xdg-dbus-proxy | |
92 | BuildRequires: xorg-lib-libICE-devel | |
93 | BuildRequires: xorg-lib-libXcomposite-devel | |
94 | BuildRequires: xorg-lib-libXdamage-devel | |
95 | BuildRequires: xorg-lib-libXext-devel | |
96 | BuildRequires: xorg-lib-libXrender-devel | |
97 | BuildRequires: xorg-lib-libXt-devel | |
98 | BuildRequires: xz | |
99 | BuildRequires: zlib-devel | |
100 | Requires: at-spi2-atk-libs >= 2.5.3 | |
101 | Requires: atk >= 1:2.16.0 | |
102 | Requires: cairo >= 1.16.0 | |
103 | Requires: fontconfig-libs >= 2.13.0 | |
104 | Requires: freetype >= 1:2.9.0 | |
71af4dc4 | 105 | Requires: glib2 >= 1:2.67.1 |
8dd13544 JB |
106 | Requires: gstreamer >= 1.2.3 |
107 | Requires: gstreamer-plugins-base >= 1.2.3 | |
108 | Requires: harfbuzz >= 1.4.2 | |
109 | Requires: libepoxy >= 1.4.0 | |
110 | Requires: libgcrypt >= 1.7.0 | |
111 | Requires: libsoup >= 2.54.0 | |
106993d1 | 112 | Requires: libwpe >= 1.14.0 |
8dd13544 JB |
113 | Requires: libxml2 >= 1:2.8.0 |
114 | Requires: libxslt >= 1.1.7 | |
115 | Requires: openjpeg2 >= 2.2.0 | |
116 | Requires: woff2 >= 1.0.2 | |
106993d1 | 117 | Requires: wpebackend-fdo >= 1.9.0 |
8dd13544 JB |
118 | # Source/JavaScriptCore/CMakeLists.txt /WTF_CPU_ |
119 | ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 hppa mips ppc ppc64 ppc64le s390 s390x sh4 | |
120 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
121 | ||
d08b385a JR |
122 | %define _enable_debug_packages 0 |
123 | ||
8dd13544 JB |
124 | %description |
125 | wpe-webkit is a port of the WebKit embeddable web component to WPE. | |
126 | ||
127 | WPE (Webkit Port for Embedded) is the reference WebKit port for | |
128 | embedded and low-consumption computer devices. | |
129 | ||
130 | %description -l pl.UTF-8 | |
131 | wpe-webkit to port osadzalnego komponentu WWW WebKit do WPE. | |
132 | ||
133 | WPE (Webkit Port for Embedded) to wzorcowy port biblioteki WebKit dla | |
134 | urządzeń komputerowych wbudowanych oraz o niskim poborze energii. | |
135 | ||
136 | %package devel | |
137 | Summary: Development files for WebKit for WPE | |
138 | Summary(pl.UTF-8): Pliki programistyczne komponentu WebKit dla WPE | |
139 | Group: X11/Development/Libraries | |
140 | Requires: %{name} = %{version}-%{release} | |
71af4dc4 | 141 | Requires: glib2-devel >= 1:2.67.1 |
8dd13544 | 142 | Requires: libsoup-devel >= 2.54.0 |
106993d1 JB |
143 | Requires: libstdc++-devel >= 6:8.3 |
144 | Requires: libwpe-devel >= 1.14.0 | |
8dd13544 JB |
145 | |
146 | %description devel | |
147 | Development files for WebKit for WPE. | |
148 | ||
149 | %description devel -l pl.UTF-8 | |
150 | Pliki programistyczne komponentu WebKit dla WPE. | |
151 | ||
152 | %package apidocs | |
19d9948d JB |
153 | Summary: API documentation for WebKit WPE port |
154 | Summary(pl.UTF-8): Dokumentacja API portu WebKitu do WPE | |
8dd13544 JB |
155 | Group: Documentation |
156 | Requires: gtk-doc-common | |
8dd13544 | 157 | BuildArch: noarch |
8dd13544 JB |
158 | |
159 | %description apidocs | |
19d9948d | 160 | API documentation for WebKit WPE port. |
8dd13544 JB |
161 | |
162 | %description apidocs -l pl.UTF-8 | |
19d9948d JB |
163 | Dokumentacja API portu WebKitu do WPE. |
164 | ||
165 | %package -n wpe-webkit1.1 | |
166 | Summary: Port of WebKit embeddable web component to WPE with HTTP/2 support | |
167 | Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do WPE z obsługą HTTP/2 | |
168 | Group: X11/Libraries | |
169 | Requires: at-spi2-atk-libs >= 2.5.3 | |
170 | Requires: atk >= 1:2.16.0 | |
171 | Requires: cairo >= 1.16.0 | |
172 | Requires: fontconfig-libs >= 2.13.0 | |
173 | Requires: freetype >= 1:2.9.0 | |
174 | Requires: glib2 >= 1:2.67.1 | |
175 | Requires: gstreamer >= 1.2.3 | |
176 | Requires: gstreamer-plugins-base >= 1.2.3 | |
177 | Requires: harfbuzz >= 1.4.2 | |
178 | Requires: libepoxy >= 1.4.0 | |
179 | Requires: libgcrypt >= 1.7.0 | |
180 | Requires: libsoup3 >= 3.0.0 | |
181 | Requires: libwpe >= 1.14.0 | |
182 | Requires: libxml2 >= 1:2.8.0 | |
183 | Requires: libxslt >= 1.1.7 | |
184 | Requires: openjpeg2 >= 2.2.0 | |
185 | Requires: woff2 >= 1.0.2 | |
186 | Requires: wpebackend-fdo >= 1.9.0 | |
187 | ||
188 | %description -n wpe-webkit1.1 | |
189 | wpe-webkit1.1 is a port of the WebKit embeddable web component to WPE | |
190 | with HTTP/2 (libsoup 3) support. | |
191 | ||
192 | WPE (Webkit Port for Embedded) is the reference WebKit port for | |
193 | embedded and low-consumption computer devices. | |
194 | ||
195 | %description -n wpe-webkit1.1 -l pl.UTF-8 | |
196 | wpe-webkit1.1 to port osadzalnego komponentu WWW WebKit do WPE z | |
197 | obsługą HTTP/2 (libsoup 3). | |
198 | ||
199 | WPE (Webkit Port for Embedded) to wzorcowy port biblioteki WebKit dla | |
200 | urządzeń komputerowych wbudowanych oraz o niskim poborze energii. | |
201 | ||
202 | %package -n wpe-webkit1.1-devel | |
203 | Summary: Development files for WebKit for WPE with HTTP/2 support | |
204 | Summary(pl.UTF-8): Pliki programistyczne komponentu WebKit dla WPE z obsługą HTTP/2 | |
205 | Group: X11/Development/Libraries | |
206 | Requires: %{name} = %{version}-%{release} | |
207 | Requires: glib2-devel >= 1:2.67.1 | |
208 | Requires: libsoup3-devel >= 3.0.0 | |
209 | Requires: libstdc++-devel >= 6:8.3 | |
210 | Requires: libwpe-devel >= 1.14.0 | |
211 | ||
212 | %description -n wpe-webkit1.1-devel | |
213 | Development files for WebKit for WPE with HTTP/2 support. | |
214 | ||
215 | %description -n wpe-webkit1.1-devel -l pl.UTF-8 | |
216 | Pliki programistyczne komponentu WebKit dla WPE z obsługą HTTP/2. | |
217 | ||
218 | %package -n wpe-webkit1.1-apidocs | |
219 | Summary: API documentation for WebKit WPE port with HTTP/2 support | |
220 | Summary(pl.UTF-8): Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2 | |
221 | Group: Documentation | |
222 | Requires: gtk-doc-common | |
223 | BuildArch: noarch | |
224 | ||
225 | %description -n wpe-webkit1.1-apidocs | |
226 | API documentation for WebKit WPE port with HTTP/2 support. | |
227 | ||
228 | %description -n wpe-webkit1.1-apidocs -l pl.UTF-8 | |
229 | Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2. | |
8dd13544 JB |
230 | |
231 | %prep | |
232 | %setup -q -n wpewebkit-%{version} | |
233 | %patch0 -p1 | |
106993d1 | 234 | %patch1 -p1 |
19d9948d | 235 | %patch2 -p1 |
8dd13544 JB |
236 | |
237 | %build | |
19d9948d JB |
238 | for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do |
239 | %cmake -B build-${kind} \ | |
8dd13544 JB |
240 | -DENABLE_GEOLOCATION=ON \ |
241 | -DENABLE_GTKDOC=ON \ | |
242 | %ifarch x32 | |
243 | -DENABLE_C_LOOP=ON \ | |
244 | -DENABLE_JIT=OFF \ | |
245 | -DENABLE_SAMPLING_PROFILER=OFF \ | |
246 | %endif | |
247 | -DENABLE_VIDEO=ON \ | |
248 | -DENABLE_WEB_AUDIO=ON \ | |
249 | -DENABLE_WEBGL=ON \ | |
250 | %ifarch %{ix86} %{x8664} x32 | |
251 | -DHAVE_SSE2_EXTENSIONS=ON \ | |
252 | %endif | |
253 | -DPORT=WPE \ | |
f470cff3 | 254 | -DSHOULD_INSTALL_JS_SHELL=ON \ |
19d9948d | 255 | $([ "$kind" = "soup2" ] && echo -DUSE_SOUP2=ON) |
8dd13544 | 256 | |
19d9948d JB |
257 | %{__make} -C build-${kind} |
258 | done | |
8dd13544 JB |
259 | |
260 | %install | |
261 | rm -rf $RPM_BUILD_ROOT | |
262 | ||
19d9948d JB |
263 | for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do |
264 | %{__make} -C build-${kind} install \ | |
8dd13544 | 265 | DESTDIR=$RPM_BUILD_ROOT |
19d9948d | 266 | done |
8dd13544 JB |
267 | |
268 | %if "%{_gtkdocdir}" != "%{_datadir}/gtk-doc/html" | |
269 | install -d $RPM_BUILD_ROOT%{_gtkdocdir} | |
270 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/* $RPM_BUILD_ROOT%{_gtkdocdir} | |
271 | %endif | |
272 | ||
273 | %clean | |
274 | rm -rf $RPM_BUILD_ROOT | |
275 | ||
276 | %post -p /sbin/ldconfig | |
277 | %postun -p /sbin/ldconfig | |
278 | ||
19d9948d JB |
279 | %post -n wpe-webkit1.1 -p /sbin/ldconfig |
280 | %postun -n wpe-webkit1.1 -p /sbin/ldconfig | |
281 | ||
282 | %if %{with libsoup2} | |
8dd13544 JB |
283 | %files |
284 | %defattr(644,root,root,755) | |
285 | %doc NEWS | |
19d9948d | 286 | %attr(755,root,root) %{_bindir}/WPEWebDriver-1.0 |
8dd13544 | 287 | %attr(755,root,root) %{_libdir}/libWPEWebKit-1.0.so.*.*.* |
b272e763 | 288 | %attr(755,root,root) %ghost %{_libdir}/libWPEWebKit-1.0.so.3 |
106993d1 JB |
289 | %{_libdir}/girepository-1.0/WPEJavaScriptCore-1.0.typelib |
290 | %{_libdir}/girepository-1.0/WPEWebExtension-1.0.typelib | |
291 | %{_libdir}/girepository-1.0/WPEWebKit-1.0.typelib | |
8dd13544 JB |
292 | %if "%{_libexecdir}" != "%{_libdir}" |
293 | %dir %{_libexecdir}/wpe-webkit-1.0 | |
294 | %endif | |
295 | %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.0/WPENetworkProcess | |
296 | %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.0/WPEWebProcess | |
297 | %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.0/jsc | |
298 | %dir %{_libdir}/wpe-webkit-1.0 | |
299 | %attr(755,root,root) %{_libdir}/wpe-webkit-1.0/libWPEWebInspectorResources.so | |
300 | %dir %{_libdir}/wpe-webkit-1.0/injected-bundle | |
301 | %attr(755,root,root) %{_libdir}/wpe-webkit-1.0/injected-bundle/libWPEInjectedBundle.so | |
302 | ||
303 | %files devel | |
304 | %defattr(644,root,root,755) | |
305 | %attr(755,root,root) %{_libdir}/libWPEWebKit-1.0.so | |
306 | %{_includedir}/wpe-webkit-1.0 | |
106993d1 JB |
307 | %{_datadir}/gir-1.0/WPEJavaScriptCore-1.0.gir |
308 | %{_datadir}/gir-1.0/WPEWebExtension-1.0.gir | |
309 | %{_datadir}/gir-1.0/WPEWebKit-1.0.gir | |
8dd13544 JB |
310 | %{_pkgconfigdir}/wpe-web-extension-1.0.pc |
311 | %{_pkgconfigdir}/wpe-webkit-1.0.pc | |
312 | ||
313 | %files apidocs | |
314 | %defattr(644,root,root,755) | |
106993d1 JB |
315 | %{_gtkdocdir}/wpe-javascriptcore-1.0 |
316 | %{_gtkdocdir}/wpe-web-extension-1.0 | |
317 | %{_gtkdocdir}/wpe-webkit-1.0 | |
19d9948d JB |
318 | %endif |
319 | ||
320 | %if %{with libsoup3} | |
321 | %files -n wpe-webkit1.1 | |
322 | %defattr(644,root,root,755) | |
323 | %doc NEWS | |
324 | %attr(755,root,root) %{_bindir}/WPEWebDriver-1.1 | |
325 | %attr(755,root,root) %{_libdir}/libWPEWebKit-1.1.so.*.*.* | |
326 | %attr(755,root,root) %ghost %{_libdir}/libWPEWebKit-1.1.so.0 | |
327 | %{_libdir}/girepository-1.0/WPEJavaScriptCore-1.1.typelib | |
328 | %{_libdir}/girepository-1.0/WPEWebExtension-1.1.typelib | |
329 | %{_libdir}/girepository-1.0/WPEWebKit-1.1.typelib | |
330 | %if "%{_libexecdir}" != "%{_libdir}" | |
331 | %dir %{_libexecdir}/wpe-webkit-1.1 | |
332 | %endif | |
333 | %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.1/WPENetworkProcess | |
334 | %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.1/WPEWebProcess | |
335 | %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.1/jsc | |
336 | %dir %{_libdir}/wpe-webkit-1.1 | |
337 | %attr(755,root,root) %{_libdir}/wpe-webkit-1.1/libWPEWebInspectorResources.so | |
338 | %dir %{_libdir}/wpe-webkit-1.1/injected-bundle | |
339 | %attr(755,root,root) %{_libdir}/wpe-webkit-1.1/injected-bundle/libWPEInjectedBundle.so | |
340 | ||
341 | %files -n wpe-webkit1.1-devel | |
342 | %defattr(644,root,root,755) | |
343 | %attr(755,root,root) %{_libdir}/libWPEWebKit-1.1.so | |
344 | %{_includedir}/wpe-webkit-1.1 | |
345 | %{_datadir}/gir-1.0/WPEJavaScriptCore-1.1.gir | |
346 | %{_datadir}/gir-1.0/WPEWebExtension-1.1.gir | |
347 | %{_datadir}/gir-1.0/WPEWebKit-1.1.gir | |
348 | %{_pkgconfigdir}/wpe-web-extension-1.1.pc | |
349 | %{_pkgconfigdir}/wpe-webkit-1.1.pc | |
350 | ||
351 | %files -n wpe-webkit1.1-apidocs | |
352 | %defattr(644,root,root,755) | |
353 | %{_gtkdocdir}/wpe-javascriptcore-1.1 | |
354 | %{_gtkdocdir}/wpe-web-extension-1.1 | |
355 | %{_gtkdocdir}/wpe-webkit-1.1 | |
356 | %endif |