# Conditional build:
%bcond_without introspection # disable introspection
#
-Summary: Port of WebKit embeddable web component to GTK+
-Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do GTK+
+# it's not possible to build this with debuginfo on 32bit archs due to
+# memory constraints during linking
+%ifarch %{ix86} x32
+%define _enable_debug_packages 0
+%endif
+Summary: Port of WebKit embeddable web component to GTK+ 2
+Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do GTK+ 2
Name: gtk-webkit
-Version: 2.4.3
-Release: 1
+# note: 2.4.x is the last series with webkitgtk-1 API and GTK+ 2.x support
+Version: 2.4.11
+Release: 14
License: BSD-like
Group: X11/Libraries
Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
-# Source0-md5: c5861552d9ecd6d7854a4d462ff25924
+# Source0-md5: 24a25ccc30a7914ae50922aedf24b7bc
+Patch0: x32.patch
+Patch1: abs.patch
+Patch2: %{name}-icu59.patch
+Patch3: %{name}-icu65.patch
+Patch4: glib2.68.patch
+Patch5: icu68.patch
+Patch6: grammar.patch
+Patch7: volatile.patch
URL: http://webkitgtk.org/
BuildRequires: /usr/bin/ld.gold
BuildRequires: EGL-devel
BuildRequires: freetype-devel >= 1:2.1.8
BuildRequires: gcc-c++ >= 6:4.7
BuildRequires: geoclue2-devel >= 2.1.5
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 1:2.36.0
BuildRequires: glibc-misc
%{?with_introspection:BuildRequires: gobject-introspection-devel >= 1.32.0}
BuildRequires: gtk-doc >= 1.10
BuildRequires: harfbuzz-devel >= 0.9.7
BuildRequires: harfbuzz-icu-devel >= 0.9.7
-BuildRequires: libicu-devel >= 4.2.1
+BuildRequires: libicu-devel >= 59
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libsecret-devel
# __once_call, __once_called non-function symbols from libstdc++
%define skip_post_check_so lib.*gtk-1.0.*
+# JSStringRef uses "!this" comparisons (UB)
+%define specflags -fno-delete-null-pointer-checks
+
%description
-gtk-webkit is a port of the WebKit embeddable web component to GTK+.
+gtk-webkit is a port of the WebKit embeddable web component to GTK+ 2.
%description -l pl.UTF-8
-gtk-webkit to port osadzalnego komponentu WWW WebKit do GTK+.
+gtk-webkit to port osadzalnego komponentu WWW WebKit do GTK+ 2.
%package devel
Summary: Development files for WebKit for GTK+ 2
%prep
%setup -q -n webkitgtk-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%build
%{__libtoolize}
%{__autoconf}
%{__autoheader}
%{__automake}
+%if "%{cxx_version}" >= "4.9"
+CXXFLAGS="%{rpmcxxflags} -fno-delete-null-pointer-checks"
+%endif
%configure \
+%ifarch %{x8664}
LDFLAGS="%{rpmldflags} -fuse-ld=gold" \
+%else
+ LDFLAGS="%{rpmldflags} -fuse-ld=bfd -Wl,--no-keep-memory" \
+%endif
--disable-gtk-doc \
--disable-silent-rules \
--disable-webkit2 \