]> git.pld-linux.org Git - packages/wpe-webkit.git/blob - wpe-webkit.spec
- added driver-version-suffix, package all variants of WPEWebDriver suffixed with...
[packages/wpe-webkit.git] / wpe-webkit.spec
1 # TODO: review configure options:
2 # - ENABLE_WEBXR (experimental; BR: OpenXR >= 1.0.9, openxr.pc)?
3 # - ENABLE_ENCRYPTED_MEDIA, ENABLE_THUNDER (experimental; https://github.com/rdkcentral/Thunder)?
4 # - FTL_JIT on !x86_64?
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)
7 # - WEB_RTC+MEDIA_STREAM (BR: openwebrtc)
8 # - USE_AVIF? (experimental; BR: libavif-devel >= 0.9.0)
9 # - USE_JPEGXL? (experimental; BR: libjxl-devel)
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)
11 #
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 #
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
24 # NOTE: 2.38.x is stable, 2.39.x devel
25 Version:        2.38.6
26 Release:        1
27 License:        BSD-like
28 Group:          X11/Libraries
29 Source0:        https://wpewebkit.org/releases/wpewebkit-%{version}.tar.xz
30 # Source0-md5:  eb44d3132208218f3752170cae3220b8
31 Patch0:         %{name}-x32.patch
32 Patch1:         %{name}-gcc13.patch
33 Patch2:         %{name}-driver-version-suffix.patch
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
42 BuildRequires:  cmake >= 3.20
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
47 BuildRequires:  gi-docgen
48 BuildRequires:  glib2-devel >= 1:2.67.1
49 BuildRequires:  glibc-misc
50 BuildRequires:  gperf >= 3.0.1
51 BuildRequires:  gstreamer-devel >= 1.14.0
52 BuildRequires:  gstreamer-gl-devel >= 1.14.0
53 # codecparsers,mpegts
54 BuildRequires:  gstreamer-plugins-bad-devel >= 1.14.0
55 # app,audio,fft,pbutils,tag,video
56 BuildRequires:  gstreamer-plugins-base-devel >= 1.14.0
57 BuildRequires:  gtk-doc >= 1.10
58 BuildRequires:  harfbuzz-devel >= 1.4.2
59 BuildRequires:  harfbuzz-icu-devel >= 1.4.2
60 BuildRequires:  lcms2-devel >= 2
61 BuildRequires:  libepoxy-devel >= 1.4.0
62 BuildRequires:  libgcrypt-devel >= 1.7.0
63 BuildRequires:  libicu-devel >= 61.2
64 BuildRequires:  libjpeg-devel
65 BuildRequires:  libpng-devel
66 BuildRequires:  libseccomp-devel
67 %{?with_libsoup2:BuildRequires: libsoup-devel >= 2.54}
68 %{?with_libsoup3:BuildRequires: libsoup3-devel >= 3.0}
69 # -std=c++2a
70 BuildRequires:  libstdc++-devel >= 6:8.3
71 BuildRequires:  libtasn1-devel
72 BuildRequires:  libwebp-devel
73 BuildRequires:  libwpe-devel >= 1.14.0
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
79 BuildRequires:  python >= 1:2.7.0
80 BuildRequires:  rpm-build >= 4.6
81 BuildRequires:  rpmbuild(macros) >= 1.699
82 BuildRequires:  ruby >= 1:1.9
83 BuildRequires:  ruby-modules >= 1:1.9
84 BuildRequires:  sqlite3-devel >= 3
85 BuildRequires:  systemd-devel
86 BuildRequires:  tar >= 1:1.22
87 BuildRequires:  wayland-devel
88 BuildRequires:  wayland-egl-devel
89 BuildRequires:  wpebackend-fdo-devel >= 1.9.0
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
105 Requires:       glib2 >= 1:2.67.1
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
112 Requires:       libwpe >= 1.14.0
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
117 Requires:       wpebackend-fdo >= 1.9.0
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
122 %define         _enable_debug_packages  0
123
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}
141 Requires:       glib2-devel >= 1:2.67.1
142 Requires:       libsoup-devel >= 2.54.0
143 Requires:       libstdc++-devel >= 6:8.3
144 Requires:       libwpe-devel >= 1.14.0
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
153 Summary:        API documentation for WebKit WPE port
154 Summary(pl.UTF-8):      Dokumentacja API portu WebKitu do WPE
155 Group:          Documentation
156 Requires:       gtk-doc-common
157 BuildArch:      noarch
158
159 %description apidocs
160 API documentation for WebKit WPE port.
161
162 %description apidocs -l pl.UTF-8
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.
230
231 %prep
232 %setup -q -n wpewebkit-%{version}
233 %patch0 -p1
234 %patch1 -p1
235 %patch2 -p1
236
237 %build
238 for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do
239 %cmake -B build-${kind} \
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 \
254         -DSHOULD_INSTALL_JS_SHELL=ON \
255         $([ "$kind" = "soup2" ] && echo -DUSE_SOUP2=ON)
256
257 %{__make} -C build-${kind}
258 done
259
260 %install
261 rm -rf $RPM_BUILD_ROOT
262
263 for kind in %{?with_libsoup2:soup2} %{?with_libsoup3:soup3} ; do
264 %{__make} -C build-${kind} install \
265         DESTDIR=$RPM_BUILD_ROOT
266 done
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
279 %post   -n wpe-webkit1.1 -p /sbin/ldconfig
280 %postun -n wpe-webkit1.1 -p /sbin/ldconfig
281
282 %if %{with libsoup2}
283 %files
284 %defattr(644,root,root,755)
285 %doc NEWS
286 %attr(755,root,root) %{_bindir}/WPEWebDriver-1.0
287 %attr(755,root,root) %{_libdir}/libWPEWebKit-1.0.so.*.*.*
288 %attr(755,root,root) %ghost %{_libdir}/libWPEWebKit-1.0.so.3
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
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
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
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)
315 %{_gtkdocdir}/wpe-javascriptcore-1.0
316 %{_gtkdocdir}/wpe-web-extension-1.0
317 %{_gtkdocdir}/wpe-webkit-1.0
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
This page took 0.097523 seconds and 3 git commands to generate.