]> git.pld-linux.org Git - packages/gtk-webkit4.git/blame - gtk-webkit4.spec
up to 2.34.3
[packages/gtk-webkit4.git] / gtk-webkit4.spec
CommitLineData
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
19Summary: Port of WebKit embeddable web component to GTK+ 3
20Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do GTK+ 3
e761a49a 21Name: gtk-webkit4
4c404dc2 22# NOTE: 2.34.x is stable, 2.35.x devel
9f7b969b
JP
23Version: 2.34.3
24Release: 1
f8e56294
AF
25License: BSD-like
26Group: X11/Libraries
0fe5cc0d 27Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
9f7b969b 28# Source0-md5: de30c41fb57b2b024417669c22914752
72628bc4 29Patch0: x32.patch
9a072c00 30Patch1: %{name}-icu59.patch
27c9a1ed 31Patch2: %{name}-gir.patch
846fa469 32Patch3: %{name}-npapi-remnants.patch
0fe5cc0d 33URL: https://webkitgtk.org/
8f69f015 34BuildRequires: /usr/bin/ld.gold
e3d059d0
JB
35BuildRequires: EGL-devel
36BuildRequires: OpenGL-GLX-devel
c66682f9
JB
37BuildRequires: OpenGLESv2-devel
38BuildRequires: at-spi2-core-devel >= 2.5.3
39BuildRequires: atk-devel >= 1:2.16.0
215513aa 40BuildRequires: bubblewrap >= 0.3.1
7e29230d 41BuildRequires: cairo-devel >= 1.16.0
4c404dc2 42BuildRequires: cmake >= 3.12
0df10670 43BuildRequires: docbook-dtd412-xml
7e29230d 44BuildRequires: enchant2-devel >= 2
7e29230d
JB
45BuildRequires: fontconfig-devel >= 2.13.0
46BuildRequires: freetype-devel >= 1:2.9.0
356167c2 47BuildRequires: gcc-c++ >= 6:7.3.0
e761a49a 48BuildRequires: gettext-devel
b36c2ff8 49BuildRequires: gettext-tools
846fa469 50BuildRequires: glib2-devel >= 1:2.67.1
f8e56294 51BuildRequires: glibc-misc
bbd2fab2 52%{?with_introspection:BuildRequires: gobject-introspection-devel >= 1.32.0}
e761a49a 53BuildRequires: gperf >= 3.0.1
7e29230d 54BuildRequires: gstreamer-devel >= 1.14
c66682f9
JB
55BuildRequires: 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 59BuildRequires: gstreamer-plugins-base-devel >= 1.10.0
356167c2 60BuildRequires: gtk+3-devel >= 3.22.0
f8e56294 61BuildRequires: gtk-doc >= 1.10
7e29230d
JB
62BuildRequires: harfbuzz-devel >= 1.4.2
63BuildRequires: harfbuzz-icu-devel >= 1.4.2
9a76c25d 64BuildRequires: hyphen-devel
7e29230d 65BuildRequires: libgcrypt-devel >= 1.7.0
4c404dc2 66BuildRequires: libicu-devel >= 61.2
f8e56294 67BuildRequires: libjpeg-devel
4c404dc2 68BuildRequires: libmanette-devel >= 0.2.4
ad56e591 69BuildRequires: libnotify-devel
f8e56294 70BuildRequires: libpng-devel
b36c2ff8 71BuildRequires: libseccomp-devel
bbd2fab2 72BuildRequires: libsecret-devel
356167c2 73BuildRequires: libsoup-devel >= 2.54
c66682f9 74BuildRequires: libstdc++-devel >= 6:7.3.0
7e29230d 75BuildRequires: libtasn1-devel
bbd2fab2 76BuildRequires: libwebp-devel
356167c2 77BuildRequires: libwpe-devel >= 1.3.0
e761a49a 78BuildRequires: libxml2-devel >= 1:2.8.0
f8e56294 79BuildRequires: libxslt-devel >= 1.1.7
7e29230d 80BuildRequires: openjpeg2-devel >= 2.2.0
bbd2fab2 81BuildRequires: pango-devel >= 1:1.32.0
e761a49a 82BuildRequires: perl-base >= 1:5.10.0
f8e56294 83BuildRequires: pkgconfig
5e4ace1a 84%if %{with cairogl}
89acae26
JB
85BuildRequires: pkgconfig(cairo-egl) >= 1.10.2
86BuildRequires: pkgconfig(cairo-gl) >= 1.10.2
87BuildRequires: pkgconfig(cairo-glx) >= 1.10.2
5e4ace1a 88%endif
ad56e591 89BuildRequires: python >= 1:2.7.0
24bb4de1 90BuildRequires: rpm-build >= 4.6
01e3a259 91BuildRequires: rpmbuild(macros) >= 1.699
0df10670
ER
92BuildRequires: ruby >= 1:1.9
93BuildRequires: ruby-modules >= 1:1.9
333087b6 94BuildRequires: sqlite3-devel >= 3
846fa469 95BuildRequires: systemd-devel
09aa776b 96BuildRequires: tar >= 1:1.22
c66682f9
JB
97%if %{with wayland}
98BuildRequires: wayland-devel
99BuildRequires: wayland-egl-devel
ab41d2aa 100BuildRequires: wayland-protocols >= 1.12
c66682f9 101%endif
4c404dc2 102BuildRequires: wpebackend-fdo-devel >= 1.6.0
7e29230d 103BuildRequires: woff2-devel >= 1.0.2
215513aa 104BuildRequires: xdg-dbus-proxy
c66682f9 105BuildRequires: xorg-lib-libICE-devel
e9e9ae8f 106BuildRequires: xorg-lib-libXcomposite-devel
e3d059d0 107BuildRequires: xorg-lib-libXdamage-devel
c66682f9 108BuildRequires: xorg-lib-libXext-devel
cf9395dc 109BuildRequires: xorg-lib-libXrender-devel
09ca9f01 110BuildRequires: xorg-lib-libXt-devel
09aa776b 111BuildRequires: xz
09ca9f01 112BuildRequires: zlib-devel
c66682f9
JB
113Requires: at-spi2-core-libs >= 2.5.3
114Requires: atk >= 1:2.16.0
7e29230d
JB
115Requires: cairo >= 1.16.0
116Requires: fontconfig-libs >= 2.13.0
117Requires: freetype >= 1:2.9.0
846fa469 118Requires: glib2 >= 1:2.67.1
6a5b6199
JB
119Requires: gstreamer >= 1.2.3
120Requires: gstreamer-plugins-base >= 1.2.3
c66682f9 121Requires: gtk+3 >= 3.22.0
7e29230d 122Requires: harfbuzz >= 1.4.2
c66682f9
JB
123Requires: libgcrypt >= 1.7.0
124Requires: libsoup >= 2.54
e761a49a 125Requires: libxml2 >= 1:2.8.0
f8e56294 126Requires: libxslt >= 1.1.7
7e29230d 127Requires: openjpeg2 >= 2.2.0
bbd2fab2 128Requires: pango >= 1:1.32.0
7e29230d 129Requires: woff2 >= 1.0.2
4c404dc2 130Requires: 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 133ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 hppa mips ppc ppc64 ppc64le s390 s390x sh4
f8e56294
AF
134BuildRoot: %{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 140gtk-webkit4 is a port of the WebKit embeddable web component to GTK+
b19bf66f 1413.
f8e56294
AF
142
143%description -l pl.UTF-8
3e7920f5 144gtk-webkit4 to port osadzalnego komponentu WWW WebKit do GTK+ 3.
f8e56294
AF
145
146%package devel
97c9d259
JB
147Summary: Development files for WebKit for GTK+ 3
148Summary(pl.UTF-8): Pliki programistyczne komponentu WebKit dla GTK+ 3
f8e56294
AF
149Group: X11/Development/Libraries
150Requires: %{name} = %{version}-%{release}
846fa469 151Requires: glib2-devel >= 1:2.67.1
c66682f9
JB
152Requires: gtk+3-devel >= 3.22.0
153Requires: libsoup-devel >= 2.54
154Requires: libstdc++-devel >= 6:7.3.0
f8e56294
AF
155
156%description devel
97c9d259 157Development files for WebKit for GTK+ 3.
f8e56294
AF
158
159%description devel -l pl.UTF-8
97c9d259 160Pliki programistyczne komponentu WebKit dla GTK+ 3.
f8e56294 161
09ca9f01
MB
162%package apidocs
163Summary: WebKit API documentation
164Summary(pl.UTF-8): Dokumentacja API WebKita
165Group: Documentation
166Requires: gtk-doc-common
8f69f015 167BuildArch: noarch
09ca9f01
MB
168
169%description apidocs
170WebKit API documentation.
171
172%description apidocs -l pl.UTF-8
173Dokumentacja 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
183install -d build
184cd 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
209rm -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"
215install -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
222rm -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
This page took 0.28504 seconds and 4 git commands to generate.