]> git.pld-linux.org Git - packages/gtk-webkit4.git/blame - gtk-webkit4.spec
icu rebuild
[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
JB
22# NOTE: 2.34.x is stable, 2.35.x devel
23Version: 2.34.0
c7351dca 24Release: 2
f8e56294
AF
25License: BSD-like
26Group: X11/Libraries
0fe5cc0d 27Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
4c404dc2 28# Source0-md5: 32334fddc48e3428044bbd9215d0636f
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
846fa469 49BuildRequires: glib2-devel >= 1:2.67.1
f8e56294 50BuildRequires: glibc-misc
bbd2fab2 51%{?with_introspection:BuildRequires: gobject-introspection-devel >= 1.32.0}
e761a49a 52BuildRequires: gperf >= 3.0.1
7e29230d 53BuildRequires: gstreamer-devel >= 1.14
c66682f9
JB
54BuildRequires: gstreamer-gl-devel >= 1.10.0
55# codecparsers,mpegts with -DUSE_GSTREAMER_MPEGTS=ON
56#BuildRequires: gstreamer-plugins-bad-devel >= 1.10.0
7e29230d 57# app,audio,fft,pbutils,tag,video
c66682f9 58BuildRequires: gstreamer-plugins-base-devel >= 1.10.0
356167c2 59BuildRequires: gtk+3-devel >= 3.22.0
f8e56294 60BuildRequires: gtk-doc >= 1.10
7e29230d
JB
61BuildRequires: harfbuzz-devel >= 1.4.2
62BuildRequires: harfbuzz-icu-devel >= 1.4.2
9a76c25d 63BuildRequires: hyphen-devel
7e29230d 64BuildRequires: libgcrypt-devel >= 1.7.0
4c404dc2 65BuildRequires: libicu-devel >= 61.2
f8e56294 66BuildRequires: libjpeg-devel
4c404dc2 67BuildRequires: libmanette-devel >= 0.2.4
ad56e591 68BuildRequires: libnotify-devel
f8e56294 69BuildRequires: libpng-devel
bbd2fab2 70BuildRequires: libsecret-devel
356167c2 71BuildRequires: libsoup-devel >= 2.54
c66682f9 72BuildRequires: libstdc++-devel >= 6:7.3.0
7e29230d 73BuildRequires: libtasn1-devel
bbd2fab2 74BuildRequires: libwebp-devel
356167c2 75BuildRequires: libwpe-devel >= 1.3.0
e761a49a 76BuildRequires: libxml2-devel >= 1:2.8.0
f8e56294 77BuildRequires: libxslt-devel >= 1.1.7
7e29230d 78BuildRequires: openjpeg2-devel >= 2.2.0
bbd2fab2 79BuildRequires: pango-devel >= 1:1.32.0
e761a49a 80BuildRequires: perl-base >= 1:5.10.0
f8e56294 81BuildRequires: pkgconfig
5e4ace1a 82%if %{with cairogl}
89acae26
JB
83BuildRequires: pkgconfig(cairo-egl) >= 1.10.2
84BuildRequires: pkgconfig(cairo-gl) >= 1.10.2
85BuildRequires: pkgconfig(cairo-glx) >= 1.10.2
5e4ace1a 86%endif
ad56e591 87BuildRequires: python >= 1:2.7.0
24bb4de1 88BuildRequires: rpm-build >= 4.6
01e3a259 89BuildRequires: rpmbuild(macros) >= 1.699
0df10670
ER
90BuildRequires: ruby >= 1:1.9
91BuildRequires: ruby-modules >= 1:1.9
333087b6 92BuildRequires: sqlite3-devel >= 3
846fa469 93BuildRequires: systemd-devel
09aa776b 94BuildRequires: tar >= 1:1.22
c66682f9
JB
95%if %{with wayland}
96BuildRequires: wayland-devel
97BuildRequires: wayland-egl-devel
ab41d2aa 98BuildRequires: wayland-protocols >= 1.12
c66682f9 99%endif
4c404dc2 100BuildRequires: wpebackend-fdo-devel >= 1.6.0
7e29230d 101BuildRequires: woff2-devel >= 1.0.2
215513aa 102BuildRequires: xdg-dbus-proxy
c66682f9 103BuildRequires: xorg-lib-libICE-devel
e9e9ae8f 104BuildRequires: xorg-lib-libXcomposite-devel
e3d059d0 105BuildRequires: xorg-lib-libXdamage-devel
c66682f9 106BuildRequires: xorg-lib-libXext-devel
cf9395dc 107BuildRequires: xorg-lib-libXrender-devel
09ca9f01 108BuildRequires: xorg-lib-libXt-devel
09aa776b 109BuildRequires: xz
09ca9f01 110BuildRequires: zlib-devel
c66682f9
JB
111Requires: at-spi2-core-libs >= 2.5.3
112Requires: atk >= 1:2.16.0
7e29230d
JB
113Requires: cairo >= 1.16.0
114Requires: fontconfig-libs >= 2.13.0
115Requires: freetype >= 1:2.9.0
846fa469 116Requires: glib2 >= 1:2.67.1
6a5b6199
JB
117Requires: gstreamer >= 1.2.3
118Requires: gstreamer-plugins-base >= 1.2.3
c66682f9 119Requires: gtk+3 >= 3.22.0
7e29230d 120Requires: harfbuzz >= 1.4.2
c66682f9
JB
121Requires: libgcrypt >= 1.7.0
122Requires: libsoup >= 2.54
e761a49a 123Requires: libxml2 >= 1:2.8.0
f8e56294 124Requires: libxslt >= 1.1.7
7e29230d 125Requires: openjpeg2 >= 2.2.0
bbd2fab2 126Requires: pango >= 1:1.32.0
7e29230d 127Requires: woff2 >= 1.0.2
4c404dc2 128Requires: wpebackend-fdo >= 1.6.0
f8e56294 129%{?with_introspection:Conflicts: gir-repository < 0.6.5-7}
5e4ace1a 130# Source/JavaScriptCore/CMakeLists.txt /WTF_CPU_
82029cf4 131ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 hppa mips ppc ppc64 ppc64le s390 s390x sh4
f8e56294
AF
132BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
133
b19bf66f 134# __once_call, __once_called non-function symbols from libstdc++
3e7920f5 135%define skip_post_check_so lib.*gtk-4.0.*
b19bf66f 136
f8e56294 137%description
3e7920f5 138gtk-webkit4 is a port of the WebKit embeddable web component to GTK+
b19bf66f 1393.
f8e56294
AF
140
141%description -l pl.UTF-8
3e7920f5 142gtk-webkit4 to port osadzalnego komponentu WWW WebKit do GTK+ 3.
f8e56294
AF
143
144%package devel
97c9d259
JB
145Summary: Development files for WebKit for GTK+ 3
146Summary(pl.UTF-8): Pliki programistyczne komponentu WebKit dla GTK+ 3
f8e56294
AF
147Group: X11/Development/Libraries
148Requires: %{name} = %{version}-%{release}
846fa469 149Requires: glib2-devel >= 1:2.67.1
c66682f9
JB
150Requires: gtk+3-devel >= 3.22.0
151Requires: libsoup-devel >= 2.54
152Requires: libstdc++-devel >= 6:7.3.0
f8e56294
AF
153
154%description devel
97c9d259 155Development files for WebKit for GTK+ 3.
f8e56294
AF
156
157%description devel -l pl.UTF-8
97c9d259 158Pliki programistyczne komponentu WebKit dla GTK+ 3.
f8e56294 159
09ca9f01
MB
160%package apidocs
161Summary: WebKit API documentation
162Summary(pl.UTF-8): Dokumentacja API WebKita
163Group: Documentation
164Requires: gtk-doc-common
8f69f015 165BuildArch: noarch
09ca9f01
MB
166
167%description apidocs
168WebKit API documentation.
169
170%description apidocs -l pl.UTF-8
171Dokumentacja API WebKita.
172
f8e56294 173%prep
9130be70 174%setup -q -n webkitgtk-%{version}
72628bc4 175%patch0 -p1
9a072c00 176%patch1 -p1
27c9a1ed 177%patch2 -p1
24bb4de1 178%patch3 -p1
97c9d259 179
f8e56294 180%build
e761a49a
JB
181install -d build
182cd build
183%cmake .. \
5e4ace1a 184 %{?with_cairogl:-DENABLE_ACCELERATED_2D_CANVAS=ON} \
e761a49a
JB
185 -DENABLE_GEOLOCATION=ON \
186 -DENABLE_GTKDOC=ON \
816ef86e 187 %{!?with_introspection:-DENABLE_INTROSPECTION=OFF} \
89acae26 188 -DENABLE_VIDEO=ON \
5e4ace1a 189 %{!?with_wayland:-DENABLE_WAYLAND_TARGET=OFF} \
89acae26
JB
190 -DENABLE_WEB_AUDIO=ON \
191 -DENABLE_WEBGL=ON \
72628bc4 192%ifarch x32
00cdc552 193 -DENABLE_C_LOOP=ON \
72628bc4 194 -DENABLE_JIT=OFF \
00cdc552 195 -DENABLE_SAMPLING_PROFILER=OFF \
72628bc4 196%endif
7e29230d
JB
197%ifarch %{ix86} %{x8664} x32
198 -DHAVE_SSE2_EXTENSIONS=ON \
199%endif
e761a49a 200 -DPORT=GTK \
4c404dc2
JB
201 -DSHOULD_INSTALL_JS_SHELL=ON \
202 -DUSE_SOUP2=ON
e761a49a 203
e761a49a 204%{__make}
f8e56294
AF
205
206%install
207rm -rf $RPM_BUILD_ROOT
208
e761a49a 209%{__make} -C build install \
f8e56294
AF
210 DESTDIR=$RPM_BUILD_ROOT
211
3e7920f5
JB
212%if "%{_gtkdocdir}" != "%{_datadir}/gtk-doc/html"
213install -d $RPM_BUILD_ROOT%{_gtkdocdir}
214%{__mv} $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/* $RPM_BUILD_ROOT%{_gtkdocdir}
215%endif
216
217%find_lang WebKit2GTK-4.0
f8e56294
AF
218
219%clean
220rm -rf $RPM_BUILD_ROOT
221
09aa776b
JB
222%post -p /sbin/ldconfig
223%postun -p /sbin/ldconfig
f8e56294 224
3e7920f5 225%files -f WebKit2GTK-4.0.lang
f8e56294 226%defattr(644,root,root,755)
e761a49a 227%doc NEWS
356167c2 228%attr(755,root,root) %{_bindir}/WebKitWebDriver
e761a49a
JB
229%attr(755,root,root) %{_libdir}/libwebkit2gtk-4.0.so.*.*.*
230%attr(755,root,root) %ghost %{_libdir}/libwebkit2gtk-4.0.so.37
231%attr(755,root,root) %{_libdir}/libjavascriptcoregtk-4.0.so.*.*.*
232%attr(755,root,root) %ghost %{_libdir}/libjavascriptcoregtk-4.0.so.18
f8e56294 233%if %{with introspection}
e761a49a
JB
234%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib
235%{_libdir}/girepository-1.0/WebKit2-4.0.typelib
236%{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib
f8e56294 237%endif
7e29230d 238%if "%{_libexecdir}" != "%{_libdir}"
4ae8fac8 239%dir %{_libexecdir}/webkit2gtk-4.0
7e29230d 240%endif
4ae8fac8 241%attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitNetworkProcess
4ae8fac8
MB
242%attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/WebKitWebProcess
243%attr(755,root,root) %{_libexecdir}/webkit2gtk-4.0/jsc
176cc4e5 244%dir %{_libdir}/webkit2gtk-4.0
e761a49a
JB
245%dir %{_libdir}/webkit2gtk-4.0/injected-bundle
246%attr(755,root,root) %{_libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
f8e56294
AF
247
248%files devel
249%defattr(644,root,root,755)
e761a49a
JB
250%attr(755,root,root) %{_libdir}/libwebkit2gtk-4.0.so
251%attr(755,root,root) %{_libdir}/libjavascriptcoregtk-4.0.so
f8e56294 252%if %{with introspection}
e761a49a
JB
253%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
254%{_datadir}/gir-1.0/WebKit2-4.0.gir
255%{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir
f8e56294 256%endif
e761a49a
JB
257%{_includedir}/webkitgtk-4.0
258%{_pkgconfigdir}/javascriptcoregtk-4.0.pc
259%{_pkgconfigdir}/webkit2gtk-4.0.pc
260%{_pkgconfigdir}/webkit2gtk-web-extension-4.0.pc
09ca9f01
MB
261
262%files apidocs
263%defattr(644,root,root,755)
7e29230d 264%{_gtkdocdir}/jsc-glib-4.0
e761a49a
JB
265%{_gtkdocdir}/webkit2gtk-4.0
266%{_gtkdocdir}/webkitdomgtk-4.0
This page took 0.110879 seconds and 4 git commands to generate.