]>
Commit | Line | Data |
---|---|---|
91c1decc | 1 | # TODO: review configure options: |
5e4ace1a | 2 | # - FTL_JIT on !x86_64? |
7e29230d | 3 | # - WEB_RTC+MEDIA_STREAM (BR: openwebrtc) |
4c404dc2 JB |
4 | # - AVIF? (BR: libavif-devel >= 0.9.0) |
5 | # - THUNDER? (BR: Thunder + ThunderClientLibraries) | |
6 | # - libsoup3 for HTTP/2 (drop USE_SOUP2=ON)? (BR: libsoup3-devel >= 2.99.9; changes abi tag from -4.0 to -4.1; doc tag remains -4.0) | |
7 | # - gtk4 variant as gtk-webkit5 (-DUSE_GTK4=ON), (needs libsoup3, BR: gtk4-devel >= 3.98.5; changes abi and doc tags to -5.0) | |
f8e56294 AF |
8 | # |
9 | # Conditional build: | |
24bb4de1 | 10 | %bcond_without introspection # GObject introspection |
5e4ace1a | 11 | %bcond_with cairogl # accelerated 2D canvas using cairo-gl |
5e4ace1a | 12 | %bcond_without wayland # Wayland target (requires GTK+ wayland target) |
f8e56294 | 13 | # |
4bb10dff JR |
14 | # it's not possible to build this with debuginfo on 32bit archs due to |
15 | # memory constraints during linking | |
16 | %ifarch %{ix86} x32 | |
17 | %define _enable_debug_packages 0 | |
18 | %endif | |
97c9d259 JB |
19 | Summary: Port of WebKit embeddable web component to GTK+ 3 |
20 | Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do GTK+ 3 | |
e761a49a | 21 | Name: gtk-webkit4 |
4c404dc2 | 22 | # NOTE: 2.34.x is stable, 2.35.x devel |
9f7b969b JP |
23 | Version: 2.34.3 |
24 | Release: 1 | |
f8e56294 AF |
25 | License: BSD-like |
26 | Group: X11/Libraries | |
0fe5cc0d | 27 | Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz |
9f7b969b | 28 | # Source0-md5: de30c41fb57b2b024417669c22914752 |
72628bc4 | 29 | Patch0: x32.patch |
9a072c00 | 30 | Patch1: %{name}-icu59.patch |
27c9a1ed | 31 | Patch2: %{name}-gir.patch |
846fa469 | 32 | Patch3: %{name}-npapi-remnants.patch |
0fe5cc0d | 33 | URL: https://webkitgtk.org/ |
8f69f015 | 34 | BuildRequires: /usr/bin/ld.gold |
e3d059d0 JB |
35 | BuildRequires: EGL-devel |
36 | BuildRequires: OpenGL-GLX-devel | |
c66682f9 JB |
37 | BuildRequires: OpenGLESv2-devel |
38 | BuildRequires: at-spi2-core-devel >= 2.5.3 | |
39 | BuildRequires: atk-devel >= 1:2.16.0 | |
215513aa | 40 | BuildRequires: bubblewrap >= 0.3.1 |
7e29230d | 41 | BuildRequires: cairo-devel >= 1.16.0 |
4c404dc2 | 42 | BuildRequires: cmake >= 3.12 |
0df10670 | 43 | BuildRequires: docbook-dtd412-xml |
7e29230d | 44 | BuildRequires: enchant2-devel >= 2 |
7e29230d JB |
45 | BuildRequires: fontconfig-devel >= 2.13.0 |
46 | BuildRequires: freetype-devel >= 1:2.9.0 | |
356167c2 | 47 | BuildRequires: gcc-c++ >= 6:7.3.0 |
e761a49a | 48 | BuildRequires: gettext-devel |
b36c2ff8 | 49 | BuildRequires: gettext-tools |
846fa469 | 50 | BuildRequires: glib2-devel >= 1:2.67.1 |
f8e56294 | 51 | BuildRequires: glibc-misc |
bbd2fab2 | 52 | %{?with_introspection:BuildRequires: gobject-introspection-devel >= 1.32.0} |
e761a49a | 53 | BuildRequires: gperf >= 3.0.1 |
7e29230d | 54 | BuildRequires: gstreamer-devel >= 1.14 |
c66682f9 JB |
55 | BuildRequires: gstreamer-gl-devel >= 1.10.0 |
56 | # codecparsers,mpegts with -DUSE_GSTREAMER_MPEGTS=ON | |
57 | #BuildRequires: gstreamer-plugins-bad-devel >= 1.10.0 | |
7e29230d | 58 | # app,audio,fft,pbutils,tag,video |
c66682f9 | 59 | BuildRequires: gstreamer-plugins-base-devel >= 1.10.0 |
356167c2 | 60 | BuildRequires: gtk+3-devel >= 3.22.0 |
f8e56294 | 61 | BuildRequires: gtk-doc >= 1.10 |
7e29230d JB |
62 | BuildRequires: harfbuzz-devel >= 1.4.2 |
63 | BuildRequires: harfbuzz-icu-devel >= 1.4.2 | |
9a76c25d | 64 | BuildRequires: hyphen-devel |
7e29230d | 65 | BuildRequires: libgcrypt-devel >= 1.7.0 |
4c404dc2 | 66 | BuildRequires: libicu-devel >= 61.2 |
f8e56294 | 67 | BuildRequires: libjpeg-devel |
4c404dc2 | 68 | BuildRequires: libmanette-devel >= 0.2.4 |
ad56e591 | 69 | BuildRequires: libnotify-devel |
f8e56294 | 70 | BuildRequires: libpng-devel |
b36c2ff8 | 71 | BuildRequires: libseccomp-devel |
bbd2fab2 | 72 | BuildRequires: libsecret-devel |
356167c2 | 73 | BuildRequires: libsoup-devel >= 2.54 |
c66682f9 | 74 | BuildRequires: libstdc++-devel >= 6:7.3.0 |
7e29230d | 75 | BuildRequires: libtasn1-devel |
bbd2fab2 | 76 | BuildRequires: libwebp-devel |
356167c2 | 77 | BuildRequires: libwpe-devel >= 1.3.0 |
e761a49a | 78 | BuildRequires: libxml2-devel >= 1:2.8.0 |
f8e56294 | 79 | BuildRequires: libxslt-devel >= 1.1.7 |
7e29230d | 80 | BuildRequires: openjpeg2-devel >= 2.2.0 |
bbd2fab2 | 81 | BuildRequires: pango-devel >= 1:1.32.0 |
e761a49a | 82 | BuildRequires: perl-base >= 1:5.10.0 |
f8e56294 | 83 | BuildRequires: pkgconfig |
5e4ace1a | 84 | %if %{with cairogl} |
89acae26 JB |
85 | BuildRequires: pkgconfig(cairo-egl) >= 1.10.2 |
86 | BuildRequires: pkgconfig(cairo-gl) >= 1.10.2 | |
87 | BuildRequires: pkgconfig(cairo-glx) >= 1.10.2 | |
5e4ace1a | 88 | %endif |
ad56e591 | 89 | BuildRequires: python >= 1:2.7.0 |
24bb4de1 | 90 | BuildRequires: rpm-build >= 4.6 |
01e3a259 | 91 | BuildRequires: rpmbuild(macros) >= 1.699 |
0df10670 ER |
92 | BuildRequires: ruby >= 1:1.9 |
93 | BuildRequires: ruby-modules >= 1:1.9 | |
333087b6 | 94 | BuildRequires: sqlite3-devel >= 3 |
846fa469 | 95 | BuildRequires: systemd-devel |
09aa776b | 96 | BuildRequires: tar >= 1:1.22 |
c66682f9 JB |
97 | %if %{with wayland} |
98 | BuildRequires: wayland-devel | |
99 | BuildRequires: wayland-egl-devel | |
ab41d2aa | 100 | BuildRequires: wayland-protocols >= 1.12 |
c66682f9 | 101 | %endif |
4c404dc2 | 102 | BuildRequires: wpebackend-fdo-devel >= 1.6.0 |
7e29230d | 103 | BuildRequires: woff2-devel >= 1.0.2 |
215513aa | 104 | BuildRequires: xdg-dbus-proxy |
c66682f9 | 105 | BuildRequires: xorg-lib-libICE-devel |
e9e9ae8f | 106 | BuildRequires: xorg-lib-libXcomposite-devel |
e3d059d0 | 107 | BuildRequires: xorg-lib-libXdamage-devel |
c66682f9 | 108 | BuildRequires: xorg-lib-libXext-devel |
cf9395dc | 109 | BuildRequires: xorg-lib-libXrender-devel |
09ca9f01 | 110 | BuildRequires: xorg-lib-libXt-devel |
09aa776b | 111 | BuildRequires: xz |
09ca9f01 | 112 | BuildRequires: zlib-devel |
c66682f9 JB |
113 | Requires: at-spi2-core-libs >= 2.5.3 |
114 | Requires: atk >= 1:2.16.0 | |
7e29230d JB |
115 | Requires: cairo >= 1.16.0 |
116 | Requires: fontconfig-libs >= 2.13.0 | |
117 | Requires: freetype >= 1:2.9.0 | |
846fa469 | 118 | Requires: glib2 >= 1:2.67.1 |
6a5b6199 JB |
119 | Requires: gstreamer >= 1.2.3 |
120 | Requires: gstreamer-plugins-base >= 1.2.3 | |
c66682f9 | 121 | Requires: gtk+3 >= 3.22.0 |
7e29230d | 122 | Requires: harfbuzz >= 1.4.2 |
c66682f9 JB |
123 | Requires: libgcrypt >= 1.7.0 |
124 | Requires: libsoup >= 2.54 | |
e761a49a | 125 | Requires: libxml2 >= 1:2.8.0 |
f8e56294 | 126 | Requires: libxslt >= 1.1.7 |
7e29230d | 127 | Requires: openjpeg2 >= 2.2.0 |
bbd2fab2 | 128 | Requires: pango >= 1:1.32.0 |
7e29230d | 129 | Requires: woff2 >= 1.0.2 |
4c404dc2 | 130 | Requires: wpebackend-fdo >= 1.6.0 |
f8e56294 | 131 | %{?with_introspection:Conflicts: gir-repository < 0.6.5-7} |
5e4ace1a | 132 | # Source/JavaScriptCore/CMakeLists.txt /WTF_CPU_ |
82029cf4 | 133 | ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 hppa mips ppc ppc64 ppc64le s390 s390x sh4 |
f8e56294 AF |
134 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
135 | ||
b19bf66f | 136 | # __once_call, __once_called non-function symbols from libstdc++ |
3e7920f5 | 137 | %define skip_post_check_so lib.*gtk-4.0.* |
b19bf66f | 138 | |
f8e56294 | 139 | %description |
3e7920f5 | 140 | gtk-webkit4 is a port of the WebKit embeddable web component to GTK+ |
b19bf66f | 141 | 3. |
f8e56294 AF |
142 | |
143 | %description -l pl.UTF-8 | |
3e7920f5 | 144 | gtk-webkit4 to port osadzalnego komponentu WWW WebKit do GTK+ 3. |
f8e56294 AF |
145 | |
146 | %package devel | |
97c9d259 JB |
147 | Summary: Development files for WebKit for GTK+ 3 |
148 | Summary(pl.UTF-8): Pliki programistyczne komponentu WebKit dla GTK+ 3 | |
f8e56294 AF |
149 | Group: X11/Development/Libraries |
150 | Requires: %{name} = %{version}-%{release} | |
846fa469 | 151 | Requires: glib2-devel >= 1:2.67.1 |
c66682f9 JB |
152 | Requires: gtk+3-devel >= 3.22.0 |
153 | Requires: libsoup-devel >= 2.54 | |
154 | Requires: libstdc++-devel >= 6:7.3.0 | |
f8e56294 AF |
155 | |
156 | %description devel | |
97c9d259 | 157 | Development files for WebKit for GTK+ 3. |
f8e56294 AF |
158 | |
159 | %description devel -l pl.UTF-8 | |
97c9d259 | 160 | Pliki programistyczne komponentu WebKit dla GTK+ 3. |
f8e56294 | 161 | |
09ca9f01 MB |
162 | %package apidocs |
163 | Summary: WebKit API documentation | |
164 | Summary(pl.UTF-8): Dokumentacja API WebKita | |
165 | Group: Documentation | |
166 | Requires: gtk-doc-common | |
8f69f015 | 167 | BuildArch: noarch |
09ca9f01 MB |
168 | |
169 | %description apidocs | |
170 | WebKit API documentation. | |
171 | ||
172 | %description apidocs -l pl.UTF-8 | |
173 | Dokumentacja API WebKita. | |
174 | ||
f8e56294 | 175 | %prep |
9130be70 | 176 | %setup -q -n webkitgtk-%{version} |
72628bc4 | 177 | %patch0 -p1 |
9a072c00 | 178 | %patch1 -p1 |
27c9a1ed | 179 | %patch2 -p1 |
24bb4de1 | 180 | %patch3 -p1 |
97c9d259 | 181 | |
f8e56294 | 182 | %build |
e761a49a JB |
183 | install -d build |
184 | cd build | |
185 | %cmake .. \ | |
5e4ace1a | 186 | %{?with_cairogl:-DENABLE_ACCELERATED_2D_CANVAS=ON} \ |
e761a49a JB |
187 | -DENABLE_GEOLOCATION=ON \ |
188 | -DENABLE_GTKDOC=ON \ | |
816ef86e | 189 | %{!?with_introspection:-DENABLE_INTROSPECTION=OFF} \ |
89acae26 | 190 | -DENABLE_VIDEO=ON \ |
5e4ace1a | 191 | %{!?with_wayland:-DENABLE_WAYLAND_TARGET=OFF} \ |
89acae26 JB |
192 | -DENABLE_WEB_AUDIO=ON \ |
193 | -DENABLE_WEBGL=ON \ | |
72628bc4 | 194 | %ifarch x32 |
00cdc552 | 195 | -DENABLE_C_LOOP=ON \ |
72628bc4 | 196 | -DENABLE_JIT=OFF \ |
00cdc552 | 197 | -DENABLE_SAMPLING_PROFILER=OFF \ |
72628bc4 | 198 | %endif |
7e29230d JB |
199 | %ifarch %{ix86} %{x8664} x32 |
200 | -DHAVE_SSE2_EXTENSIONS=ON \ | |
201 | %endif | |
e761a49a | 202 | -DPORT=GTK \ |
4c404dc2 JB |
203 | -DSHOULD_INSTALL_JS_SHELL=ON \ |
204 | -DUSE_SOUP2=ON | |
e761a49a | 205 | |
e761a49a | 206 | %{__make} |
f8e56294 AF |
207 | |
208 | %install | |
209 | rm -rf $RPM_BUILD_ROOT | |
210 | ||
e761a49a | 211 | %{__make} -C build install \ |
f8e56294 AF |
212 | DESTDIR=$RPM_BUILD_ROOT |
213 | ||
3e7920f5 JB |
214 | %if "%{_gtkdocdir}" != "%{_datadir}/gtk-doc/html" |
215 | install -d $RPM_BUILD_ROOT%{_gtkdocdir} | |
216 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/* $RPM_BUILD_ROOT%{_gtkdocdir} | |
217 | %endif | |
218 | ||
219 | %find_lang WebKit2GTK-4.0 | |
f8e56294 AF |
220 | |
221 | %clean | |
222 | rm -rf $RPM_BUILD_ROOT | |
223 | ||
09aa776b JB |
224 | %post -p /sbin/ldconfig |
225 | %postun -p /sbin/ldconfig | |
f8e56294 | 226 | |
3e7920f5 | 227 | %files -f WebKit2GTK-4.0.lang |
f8e56294 | 228 | %defattr(644,root,root,755) |
e761a49a | 229 | %doc NEWS |
356167c2 | 230 | %attr(755,root,root) %{_bindir}/WebKitWebDriver |
e761a49a JB |
231 | %attr(755,root,root) %{_libdir}/libwebkit2gtk-4.0.so.*.*.* |
232 | %attr(755,root,root) %ghost %{_libdir}/libwebkit2gtk-4.0.so.37 | |
233 | %attr(755,root,root) %{_libdir}/libjavascriptcoregtk-4.0.so.*.*.* | |
234 | %attr(755,root,root) %ghost %{_libdir}/libjavascriptcoregtk-4.0.so.18 | |
f8e56294 | 235 | %if %{with introspection} |
e761a49a JB |
236 | %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib |
237 | %{_libdir}/girepository-1.0/WebKit2-4.0.typelib | |
238 | %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib | |
f8e56294 | 239 | %endif |
7e29230d | 240 | %if "%{_libexecdir}" != "%{_libdir}" |
4ae8fac8 | 241 | %dir %{_libexecdir}/webkit2gtk-4.0 |
7e29230d | 242 | %endif |
4ae8fac8 | 243 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitNetworkProcess |
4ae8fac8 MB |
244 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitWebProcess |
245 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/jsc | |
176cc4e5 | 246 | %dir %{_libdir}/webkit2gtk-4.0 |
e761a49a JB |
247 | %dir %{_libdir}/webkit2gtk-4.0/injected-bundle |
248 | %attr(755,root,root) %{_libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so | |
f8e56294 AF |
249 | |
250 | %files devel | |
251 | %defattr(644,root,root,755) | |
e761a49a JB |
252 | %attr(755,root,root) %{_libdir}/libwebkit2gtk-4.0.so |
253 | %attr(755,root,root) %{_libdir}/libjavascriptcoregtk-4.0.so | |
f8e56294 | 254 | %if %{with introspection} |
e761a49a JB |
255 | %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir |
256 | %{_datadir}/gir-1.0/WebKit2-4.0.gir | |
257 | %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir | |
f8e56294 | 258 | %endif |
e761a49a JB |
259 | %{_includedir}/webkitgtk-4.0 |
260 | %{_pkgconfigdir}/javascriptcoregtk-4.0.pc | |
261 | %{_pkgconfigdir}/webkit2gtk-4.0.pc | |
262 | %{_pkgconfigdir}/webkit2gtk-web-extension-4.0.pc | |
09ca9f01 MB |
263 | |
264 | %files apidocs | |
265 | %defattr(644,root,root,755) | |
7e29230d | 266 | %{_gtkdocdir}/jsc-glib-4.0 |
e761a49a JB |
267 | %{_gtkdocdir}/webkit2gtk-4.0 |
268 | %{_gtkdocdir}/webkitdomgtk-4.0 |