]>
Commit | Line | Data |
---|---|---|
91c1decc | 1 | # TODO: review configure options: |
e761a49a | 2 | # - BATTERY_STATUS (BR: upower-devel) |
5e4ace1a | 3 | # - FTL_JIT on !x86_64? |
9a76c25d | 4 | # - MEDIA_STREAM (BR: openwebrtc) |
f8e56294 AF |
5 | # |
6 | # Conditional build: | |
816ef86e | 7 | %bcond_without gtk2 # WebKitPluginProcess2 to load GTK+ 2.x based plugins |
f8e56294 | 8 | %bcond_without introspection # disable introspection |
5e4ace1a | 9 | %bcond_with cairogl # accelerated 2D canvas using cairo-gl |
e761a49a | 10 | %bcond_with seccomp # seccomp filters (broken as of 2.6.5) |
5e4ace1a | 11 | %bcond_without wayland # Wayland target (requires GTK+ wayland target) |
f8e56294 | 12 | # |
4bb10dff JR |
13 | # it's not possible to build this with debuginfo on 32bit archs due to |
14 | # memory constraints during linking | |
15 | %ifarch %{ix86} x32 | |
16 | %define _enable_debug_packages 0 | |
17 | %endif | |
97c9d259 JB |
18 | Summary: Port of WebKit embeddable web component to GTK+ 3 |
19 | Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do GTK+ 3 | |
e761a49a | 20 | Name: gtk-webkit4 |
4ae8fac8 | 21 | Version: 2.18.4 |
0e4ef760 | 22 | Release: 3 |
f8e56294 AF |
23 | License: BSD-like |
24 | Group: X11/Libraries | |
0fe5cc0d | 25 | Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz |
4ae8fac8 | 26 | # Source0-md5: c4686971eac2760bab685e21ac8849be |
72628bc4 | 27 | Patch0: x32.patch |
9a072c00 | 28 | Patch1: %{name}-icu59.patch |
0fe5cc0d | 29 | URL: https://webkitgtk.org/ |
8f69f015 | 30 | BuildRequires: /usr/bin/ld.gold |
e3d059d0 JB |
31 | BuildRequires: EGL-devel |
32 | BuildRequires: OpenGL-GLX-devel | |
0df10670 | 33 | BuildRequires: OpenGLESv2-devel |
bbd2fab2 | 34 | BuildRequires: at-spi2-core-devel >= 2.6.0 |
e761a49a JB |
35 | BuildRequires: atk-devel |
36 | BuildRequires: bison >= 2.3 | |
37 | BuildRequires: cairo-devel >= 1.10.2 | |
9a76c25d | 38 | BuildRequires: cmake >= 2.8.12 |
0df10670 | 39 | BuildRequires: docbook-dtd412-xml |
f8e56294 | 40 | BuildRequires: enchant-devel >= 0.22 |
e761a49a JB |
41 | BuildRequires: flex >= 2.5.34 |
42 | BuildRequires: fontconfig-devel >= 2.8.0 | |
43 | BuildRequires: freetype-devel >= 1:2.4.2 | |
9a76c25d | 44 | BuildRequires: gcc-c++ >= 6:4.9 |
b19bf66f | 45 | BuildRequires: geoclue2-devel >= 2.1.5 |
e761a49a | 46 | BuildRequires: gettext-devel |
bbd2fab2 | 47 | BuildRequires: glib2-devel >= 1:2.36.0 |
f8e56294 | 48 | BuildRequires: glibc-misc |
bbd2fab2 | 49 | %{?with_introspection:BuildRequires: gobject-introspection-devel >= 1.32.0} |
e761a49a | 50 | BuildRequires: gperf >= 3.0.1 |
6a5b6199 | 51 | BuildRequires: gstreamer-devel >= 1.2.3 |
0df10670 | 52 | BuildRequires: gstreamer-plugins-bad-devel >= 1.6.0 |
6a5b6199 | 53 | BuildRequires: gstreamer-plugins-base-devel >= 1.2.3 |
816ef86e | 54 | %{?with_gtk2:BuildRequires: gtk+2-devel >= 2:2.24.10} |
e761a49a | 55 | BuildRequires: gtk+3-devel >= 3.12.0 |
f8e56294 | 56 | BuildRequires: gtk-doc >= 1.10 |
bbd2fab2 | 57 | BuildRequires: harfbuzz-devel >= 0.9.7 |
333087b6 | 58 | BuildRequires: harfbuzz-icu-devel >= 0.9.7 |
9a76c25d | 59 | BuildRequires: hyphen-devel |
9a072c00 | 60 | BuildRequires: libicu-devel >= 59 |
f8e56294 | 61 | BuildRequires: libjpeg-devel |
ad56e591 | 62 | BuildRequires: libnotify-devel |
f8e56294 | 63 | BuildRequires: libpng-devel |
bbd2fab2 MB |
64 | BuildRequires: libsecret-devel |
65 | BuildRequires: libsoup-devel >= 2.42.0 | |
9a76c25d | 66 | BuildRequires: libstdc++-devel >= 6:4.9 |
bbd2fab2 | 67 | BuildRequires: libwebp-devel |
e761a49a | 68 | BuildRequires: libxml2-devel >= 1:2.8.0 |
f8e56294 | 69 | BuildRequires: libxslt-devel >= 1.1.7 |
bbd2fab2 | 70 | BuildRequires: pango-devel >= 1:1.32.0 |
e761a49a | 71 | BuildRequires: perl-base >= 1:5.10.0 |
f8e56294 | 72 | BuildRequires: pkgconfig |
5e4ace1a JB |
73 | %if %{with cairogl} |
74 | BuildRequires: pkgconfig(cairo-egl) | |
75 | BuildRequires: pkgconfig(cairo-gl) | |
76 | BuildRequires: pkgconfig(cairo-glx) | |
77 | %endif | |
ad56e591 | 78 | BuildRequires: python >= 1:2.7.0 |
01e3a259 | 79 | BuildRequires: rpmbuild(macros) >= 1.699 |
0df10670 ER |
80 | BuildRequires: ruby >= 1:1.9 |
81 | BuildRequires: ruby-modules >= 1:1.9 | |
333087b6 | 82 | BuildRequires: sqlite3-devel >= 3 |
09aa776b | 83 | BuildRequires: tar >= 1:1.22 |
e9e9ae8f | 84 | BuildRequires: xorg-lib-libXcomposite-devel |
e3d059d0 | 85 | BuildRequires: xorg-lib-libXdamage-devel |
cf9395dc | 86 | BuildRequires: xorg-lib-libXrender-devel |
09ca9f01 | 87 | BuildRequires: xorg-lib-libXt-devel |
09aa776b | 88 | BuildRequires: xz |
09ca9f01 | 89 | BuildRequires: zlib-devel |
e761a49a | 90 | Requires: cairo >= 1.10.2 |
f8e56294 | 91 | Requires: enchant >= 0.22 |
e761a49a JB |
92 | Requires: fontconfig-libs >= 2.8.0 |
93 | Requires: freetype >= 1:2.4.2 | |
bbd2fab2 | 94 | Requires: glib2 >= 1:2.36.0 |
6a5b6199 JB |
95 | Requires: gstreamer >= 1.2.3 |
96 | Requires: gstreamer-plugins-base >= 1.2.3 | |
816ef86e | 97 | %{?with_gtk2:Requires: gtk+2 >= 2:2.24.10} |
e761a49a | 98 | Requires: gtk+3 >= 3.12.0 |
e3d059d0 | 99 | Requires: harfbuzz >= 0.9.7 |
bbd2fab2 | 100 | Requires: libsoup >= 2.42.0 |
e761a49a | 101 | Requires: libxml2 >= 1:2.8.0 |
f8e56294 | 102 | Requires: libxslt >= 1.1.7 |
bbd2fab2 | 103 | Requires: pango >= 1:1.32.0 |
f8e56294 | 104 | %{?with_introspection:Conflicts: gir-repository < 0.6.5-7} |
5e4ace1a | 105 | # Source/JavaScriptCore/CMakeLists.txt /WTF_CPU_ |
82029cf4 | 106 | ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 hppa mips ppc ppc64 ppc64le s390 s390x sh4 |
f8e56294 AF |
107 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
108 | ||
b19bf66f | 109 | # __once_call, __once_called non-function symbols from libstdc++ |
3e7920f5 | 110 | %define skip_post_check_so lib.*gtk-4.0.* |
b19bf66f | 111 | |
f8e56294 | 112 | %description |
3e7920f5 | 113 | gtk-webkit4 is a port of the WebKit embeddable web component to GTK+ |
b19bf66f | 114 | 3. |
f8e56294 AF |
115 | |
116 | %description -l pl.UTF-8 | |
3e7920f5 | 117 | gtk-webkit4 to port osadzalnego komponentu WWW WebKit do GTK+ 3. |
f8e56294 AF |
118 | |
119 | %package devel | |
97c9d259 JB |
120 | Summary: Development files for WebKit for GTK+ 3 |
121 | Summary(pl.UTF-8): Pliki programistyczne komponentu WebKit dla GTK+ 3 | |
f8e56294 AF |
122 | Group: X11/Development/Libraries |
123 | Requires: %{name} = %{version}-%{release} | |
bbd2fab2 | 124 | Requires: glib2-devel >= 1:2.36.0 |
e761a49a | 125 | Requires: gtk+3-devel >= 3.12.0 |
bbd2fab2 | 126 | Requires: libsoup-devel >= 2.42.0 |
9a76c25d | 127 | Requires: libstdc++-devel >= 6:4.9 |
f8e56294 AF |
128 | |
129 | %description devel | |
97c9d259 | 130 | Development files for WebKit for GTK+ 3. |
f8e56294 AF |
131 | |
132 | %description devel -l pl.UTF-8 | |
97c9d259 | 133 | Pliki programistyczne komponentu WebKit dla GTK+ 3. |
f8e56294 | 134 | |
09ca9f01 MB |
135 | %package apidocs |
136 | Summary: WebKit API documentation | |
137 | Summary(pl.UTF-8): Dokumentacja API WebKita | |
138 | Group: Documentation | |
139 | Requires: gtk-doc-common | |
8f69f015 ER |
140 | %if "%{_rpmversion}" >= "5" |
141 | BuildArch: noarch | |
142 | %endif | |
09ca9f01 MB |
143 | |
144 | %description apidocs | |
145 | WebKit API documentation. | |
146 | ||
147 | %description apidocs -l pl.UTF-8 | |
148 | Dokumentacja API WebKita. | |
149 | ||
f8e56294 | 150 | %prep |
9130be70 | 151 | %setup -q -n webkitgtk-%{version} |
72628bc4 | 152 | %patch0 -p1 |
9a072c00 | 153 | %patch1 -p1 |
97c9d259 | 154 | |
f8e56294 | 155 | %build |
e761a49a JB |
156 | install -d build |
157 | cd build | |
158 | %cmake .. \ | |
5e4ace1a | 159 | %{?with_cairogl:-DENABLE_ACCELERATED_2D_CANVAS=ON} \ |
e761a49a JB |
160 | -DENABLE_CREDENTIAL_STORAGE=ON \ |
161 | -DENABLE_GEOLOCATION=ON \ | |
162 | -DENABLE_GTKDOC=ON \ | |
816ef86e JB |
163 | %{!?with_introspection:-DENABLE_INTROSPECTION=OFF} \ |
164 | %{!?with_gtk2:-DENABLE_PLUGIN_PROCESS_GTK2=OFF} \ | |
e761a49a | 165 | %{?with_seccomp:-DENABLE_SECCOMP_FILTERS=ON} \ |
5e4ace1a | 166 | %{!?with_wayland:-DENABLE_WAYLAND_TARGET=OFF} \ |
72628bc4 JR |
167 | %ifarch x32 |
168 | -DENABLE_JIT=OFF \ | |
169 | %endif | |
e761a49a JB |
170 | -DENABLE_VIDEO=ON \ |
171 | -DENABLE_WEB_AUDIO=ON \ | |
172 | -DENABLE_WEBGL=ON \ | |
173 | -DPORT=GTK \ | |
174 | -DSHOULD_INSTALL_JS_SHELL=ON | |
175 | ||
e761a49a | 176 | %{__make} |
f8e56294 AF |
177 | |
178 | %install | |
179 | rm -rf $RPM_BUILD_ROOT | |
180 | ||
e761a49a | 181 | %{__make} -C build install \ |
f8e56294 AF |
182 | DESTDIR=$RPM_BUILD_ROOT |
183 | ||
3e7920f5 JB |
184 | %if "%{_gtkdocdir}" != "%{_datadir}/gtk-doc/html" |
185 | install -d $RPM_BUILD_ROOT%{_gtkdocdir} | |
186 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/* $RPM_BUILD_ROOT%{_gtkdocdir} | |
187 | %endif | |
188 | ||
189 | %find_lang WebKit2GTK-4.0 | |
f8e56294 AF |
190 | |
191 | %clean | |
192 | rm -rf $RPM_BUILD_ROOT | |
193 | ||
09aa776b JB |
194 | %post -p /sbin/ldconfig |
195 | %postun -p /sbin/ldconfig | |
f8e56294 | 196 | |
3e7920f5 | 197 | %files -f WebKit2GTK-4.0.lang |
f8e56294 | 198 | %defattr(644,root,root,755) |
e761a49a | 199 | %doc NEWS |
7ef7d1a1 | 200 | %attr(755,root,root) %{_bindir}/WebKitWebDriver |
e761a49a JB |
201 | %attr(755,root,root) %{_libdir}/libwebkit2gtk-4.0.so.*.*.* |
202 | %attr(755,root,root) %ghost %{_libdir}/libwebkit2gtk-4.0.so.37 | |
203 | %attr(755,root,root) %{_libdir}/libjavascriptcoregtk-4.0.so.*.*.* | |
204 | %attr(755,root,root) %ghost %{_libdir}/libjavascriptcoregtk-4.0.so.18 | |
f8e56294 | 205 | %if %{with introspection} |
e761a49a JB |
206 | %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib |
207 | %{_libdir}/girepository-1.0/WebKit2-4.0.typelib | |
208 | %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib | |
f8e56294 | 209 | %endif |
4ae8fac8 MB |
210 | %dir %{_libexecdir}/webkit2gtk-4.0 |
211 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitNetworkProcess | |
212 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess | |
213 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 | |
214 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitStorageProcess | |
215 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitWebProcess | |
216 | %attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/jsc | |
176cc4e5 | 217 | %dir %{_libdir}/webkit2gtk-4.0 |
e761a49a JB |
218 | %dir %{_libdir}/webkit2gtk-4.0/injected-bundle |
219 | %attr(755,root,root) %{_libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so | |
f8e56294 AF |
220 | |
221 | %files devel | |
222 | %defattr(644,root,root,755) | |
e761a49a JB |
223 | %attr(755,root,root) %{_libdir}/libwebkit2gtk-4.0.so |
224 | %attr(755,root,root) %{_libdir}/libjavascriptcoregtk-4.0.so | |
f8e56294 | 225 | %if %{with introspection} |
e761a49a JB |
226 | %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir |
227 | %{_datadir}/gir-1.0/WebKit2-4.0.gir | |
228 | %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir | |
f8e56294 | 229 | %endif |
e761a49a JB |
230 | %{_includedir}/webkitgtk-4.0 |
231 | %{_pkgconfigdir}/javascriptcoregtk-4.0.pc | |
232 | %{_pkgconfigdir}/webkit2gtk-4.0.pc | |
233 | %{_pkgconfigdir}/webkit2gtk-web-extension-4.0.pc | |
09ca9f01 MB |
234 | |
235 | %files apidocs | |
236 | %defattr(644,root,root,755) | |
e761a49a JB |
237 | %{_gtkdocdir}/webkit2gtk-4.0 |
238 | %{_gtkdocdir}/webkitdomgtk-4.0 |