2014-08-23 16:27:29 +02:00
#
# spec file for package webkit2gtk3
#
2017-02-10 17:19:31 +01:00
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
2014-08-23 16:27:29 +02:00
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define _pkgname_no_slpp libwebkit2gtk3
%define _sover -4_0-18
%define _wk2sover -4_0-37
%define _sonamever 4.0
%define _sonameverpkg 4_0
%define _gtkver 3.0
%define _jscver 4
%define _pkgconfig_suffix gtk-3.0
%define _name webkitgtk
Name : webkit2gtk3
2017-08-31 09:45:05 +02:00
Version : 2.17.91
2014-08-23 16:27:29 +02:00
Release : 0
Summary : Library for rendering web content, GTK+ Port
License : LGPL-2.0+ and BSD-3-Clause
Group : Development/Libraries/C and C++
Url : http://webkitgtk.org/
Source : http://webkitgtk.org/releases/%{_name}-%{version} .tar.xz
Source1 : baselibs.conf
# PATCH-FIX-OPENSUSE webkitgtk-typelib-sharelib-link.patch dimstar@opensuse.org -- Fixup the .gir file to contain the full library name for libjavascriptcore.
Patch0 : webkitgtk-typelib-sharelib-link.patch
2016-05-09 21:24:16 +02:00
%ifnarch s390 s390x
2015-11-26 18:49:51 +01:00
BuildRequires : binutils-gold
2016-02-19 16:05:00 +01:00
%endif
2014-08-23 16:27:29 +02:00
BuildRequires : bison >= 2.3
BuildRequires : cmake
2017-05-31 12:33:17 +02:00
%if 0%{?suse_version} == 1315
BuildRequires : gcc6-c++
#!BuildIgnore: libgcc_s1
2016-02-19 16:05:00 +01:00
%else
2017-05-31 12:33:17 +02:00
BuildRequires : gcc-c++ >= 4.9
2016-02-19 16:05:00 +01:00
%endif
2017-08-31 09:45:05 +02:00
BuildRequires : Mesa-libEGL-devel
BuildRequires : Mesa-libGL-devel
BuildRequires : Mesa-libGLESv1_CM-devel
BuildRequires : Mesa-libGLESv2-devel
BuildRequires : Mesa-libGLESv3-devel
2014-08-23 16:27:29 +02:00
BuildRequires : gobject-introspection-devel
BuildRequires : gperf >= 3.0.1
2015-09-04 13:33:08 +02:00
BuildRequires : hyphen-devel
2014-08-23 16:27:29 +02:00
BuildRequires : libicu-devel
BuildRequires : libjpeg-devel
BuildRequires : perl >= 5.10.0
BuildRequires : python >= 2.6.0
BuildRequires : ruby >= 1.8.7
BuildRequires : pkgconfig(atk)
BuildRequires : pkgconfig(atspi-2) >= 2.5.3
BuildRequires : pkgconfig(cairo) >= 1.10.2
BuildRequires : pkgconfig(enchant)
BuildRequires : pkgconfig(fontconfig) >= 2.8.0
BuildRequires : pkgconfig(freetype2) >= 2.4.2
BuildRequires : pkgconfig(geoclue-2.0) >= 2.1.5
2015-09-04 13:33:08 +02:00
BuildRequires : pkgconfig(glib-2.0) >= 2.36
2016-09-08 23:24:38 +02:00
BuildRequires : pkgconfig(gnutls) >= 3.0.0
2014-08-23 16:27:29 +02:00
BuildRequires : pkgconfig(gstreamer-1.0) >= 1.0.3
2017-08-31 09:45:05 +02:00
BuildRequires : pkgconfig(gstreamer-gl-1.0)
2014-08-23 16:27:29 +02:00
BuildRequires : pkgconfig(gstreamer-plugins-base-1.0)
2016-09-20 20:37:13 +02:00
%if 0%{?is_opensuse}
# We require gtk2 for the Gtk2 plugin wrapper
BuildRequires : pkgconfig(gtk+-2.0) >= 2.24.10
%endif
2014-08-23 16:27:29 +02:00
BuildRequires : pkgconfig(gtk+-3.0) >= 3.12.0
BuildRequires : pkgconfig(gudev-1.0)
BuildRequires : pkgconfig(harfbuzz) >= 0.9.2
2015-04-09 12:11:30 +02:00
BuildRequires : pkgconfig(libnotify)
2014-08-23 16:27:29 +02:00
BuildRequires : pkgconfig(libpng)
BuildRequires : pkgconfig(libsecret-1)
2015-08-10 16:30:10 +02:00
BuildRequires : pkgconfig(libsoup-2.4) >= 2.42.0
2014-08-23 16:27:29 +02:00
BuildRequires : pkgconfig(libwebp)
BuildRequires : pkgconfig(libxml-2.0) >= 2.8.0
BuildRequires : pkgconfig(libxslt) >= 1.1.7
BuildRequires : pkgconfig(sqlite3)
BuildRequires : pkgconfig(xt)
BuildRequires : pkgconfig(zlib)
BuildRoot : %{_tmppath} /%{name} -%{version} -build
%description
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n libwebkit2gtk%{_wk2sover}
Summary : Library for rendering web content, GTK+ Port
Group : System/Libraries
2014-09-17 16:58:54 +02:00
Provides : %{_pkgname_no_slpp} = %{version}
2016-11-11 14:38:03 +01:00
Recommends: %{_pkgname_no_slpp}-lang
2015-03-31 00:43:02 +02:00
# Require the injected bundles. The bundles are dlopen()ed
Requires : webkit2gtk-4_0-injected-bundles
2014-08-23 16:27:29 +02:00
%description -n libwebkit2gtk%{_wk2sover}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
2016-09-20 20:37:13 +02:00
%if 0%{?is_opensuse}
%package plugin-process-gtk2
Summary : GTK+ 2 based NPAPI plugins support for %{name}
Group : Development/Libraries/C and C++
Requires : libwebkit2gtk%{_wk2sover} = %{version}
%description plugin-process-gtk2
Support for GTK+ 2 based NPAPI plugins (such as Adobe Flash) for %{name} .
%endif
2014-08-23 16:27:29 +02:00
%package -n webkit2gtk-4_0-injected-bundles
Summary : Library for rendering web content -- Injected bundles
Group : System/Libraries
%description -n webkit2gtk-4_0-injected-bundles
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n libjavascriptcoregtk%{_sover}
Summary : JavaScript Core Engine, GTK+ Port
Group : System/Libraries
%description -n libjavascriptcoregtk%{_sover}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n typelib-1_0-WebKit2-%{_sonameverpkg}
Summary : Library for rendering web content, GTK+ Port -- Introspection bindings
Group : System/Libraries
%description -n typelib-1_0-WebKit2-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of WebKit2.
%package -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
Summary : Library for rendering web content, GTK+ Port -- Introspection bindings
Group : System/Libraries
%description -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of WebKit2.
%package -n typelib-1_0-JavaScriptCore-%{_sonameverpkg}
Summary : JavaScript Core Engine, GTK+ Port -- Introspection bindings
Group : System/Libraries
%description -n typelib-1_0-JavaScriptCore-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of the JavaScript Core engine.
%package devel
Summary : Library for rendering web content, GTK+ Port
Group : Development/Libraries/C and C++
Requires : libjavascriptcoregtk%{_sover} = %{version}
Requires : libwebkit2gtk%{_wk2sover} = %{version}
Requires : typelib-1_0-JavaScriptCore-%{_sonameverpkg}
%description devel
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n webkit-jsc-%{_jscver}
Summary : Library for rendering web content, GTK+ Port
Group : Development/Libraries/C and C++
%description -n webkit-jsc-%{_jscver}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
2014-09-17 17:47:28 +02:00
%lang_package -n %{_pkgname_no_slpp}
2014-08-23 16:27:29 +02:00
%prep
%setup -q -n webkitgtk-%{version}
%patch0 -p1
%build
# Use linker flags to reduce memory consumption
2016-05-09 21:24:16 +02:00
%ifarch s390 s390x
2016-02-19 16:05:00 +01:00
# binutils-gold doesn't exist on s390x
%global optflags %(echo %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads | sed 's/-g /-g1 /' )
%else
2015-11-26 18:49:51 +01:00
%global optflags %(echo %{optflags} -Wl,--no-keep-memory | sed 's/-g /-g1 /' )
2014-10-13 22:17:07 +02:00
%endif
2014-08-23 16:27:29 +02:00
%cmake \
2016-06-07 12:00:59 +02:00
%if 0%{?suse_version} == 1315
2017-05-31 12:33:17 +02:00
-DCMAKE_C_COMPILER=gcc-6 \
-DCMAKE_CXX_COMPILER=g++-6 \
2016-02-19 16:05:00 +01:00
%endif
2014-08-23 16:27:29 +02:00
-DCMAKE_BUILD_TYPE=Release \
-DLIBEXEC_INSTALL_DIR=%{_libexecdir} /libwebkit2gtk%{_wk2sover} \
2014-09-08 18:59:00 +02:00
-DPORT=GTK \
2016-09-20 20:37:13 +02:00
%if !0%{?is_opensuse}
2016-04-29 15:10:01 +02:00
-DENABLE_PLUGIN_PROCESS_GTK2=OFF \
2016-09-20 20:37:13 +02:00
%endif
2016-10-17 09:55:25 +02:00
%ifarch armv6hl ppc ppc64 ppc64le s390 s390x
2014-10-13 22:17:07 +02:00
-DENABLE_JIT=OFF \
2016-04-18 16:55:10 +02:00
-DUSE_SYSTEM_MALLOC=ON \
2014-10-13 22:17:07 +02:00
%endif
2015-03-19 15:35:36 +01:00
-DCMAKE_EXE_LINKER_FLAGS=" - W l , - - a s - n e e d e d - W l , - z , n o w - p t h r e a d " \
-DCMAKE_MODULE_LINKER_FLAGS=" - W l , - - a s - n e e d e d - W l , - z , n o w - p t h r e a d " \
-DCMAKE_SHARED_LINKER_FLAGS=" - W l , - - a s - n e e d e d - W l , - z , n o w - p t h r e a d "
2016-02-19 16:05:00 +01:00
2014-08-23 16:27:29 +02:00
make %{?_smp_mflags}
%install
%cmake_install
%find_lang WebKit2GTK-4.0
%post -n libwebkit2gtk%{_wk2sover} -p /sbin/ldconfig
%postun -n libwebkit2gtk%{_wk2sover} -p /sbin/ldconfig
%post -n libjavascriptcoregtk%{_sover} -p /sbin/ldconfig
%postun -n libjavascriptcoregtk%{_sover} -p /sbin/ldconfig
%files -n libwebkit2gtk%{_wk2sover}
%defattr (-,root,root)
2016-09-20 20:37:13 +02:00
%if 0%{?is_opensuse}
# Exclude Gtk2 plugin support from this package. That goes into plugin-process-gtk2.
%exclude %{_libexecdir} /libwebkit2gtk%{_wk2sover}/WebKitPluginProcess2
%endif
2016-10-14 21:29:08 +02:00
# Exclude jsc - we package that on its own
%exclude %{_libexecdir} /libwebkit2gtk%{_wk2sover}/jsc
2014-08-23 16:27:29 +02:00
%{_libexecdir} /libwebkit2gtk%{_wk2sover}/
%{_libdir} /libwebkit2gtk-4.0.so.*
2017-08-31 09:45:05 +02:00
%{_bindir} /WebKitWebDriver
2014-08-23 16:27:29 +02:00
2016-09-20 20:37:13 +02:00
%if 0%{?is_opensuse}
%files plugin-process-gtk2
%defattr (-,root,root)
%{_libexecdir} /libwebkit2gtk%{_wk2sover}/WebKitPluginProcess2
%endif
2014-08-23 16:27:29 +02:00
%files -n webkit2gtk-4_0-injected-bundles
%defattr (-,root,root)
%dir %{_libdir} /webkit2gtk-4.0
%dir %{_libdir} /webkit2gtk-4.0/injected-bundle
%{_libdir} /webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
%files -n libjavascriptcoregtk%{_sover}
%defattr (-, root, root)
%doc Source/JavaScriptCore/COPYING.LIB
%{_libdir} /libjavascriptcoregtk-4.0.so.*
%files -n typelib-1_0-WebKit2-%{_sonameverpkg}
%defattr (-,root,root)
%{_libdir} /girepository-1.0/WebKit2-%{_sonamever}.typelib
%files -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
%defattr (-,root,root)
%{_libdir} /girepository-1.0/WebKit2WebExtension-%{_sonamever}.typelib
%files -n typelib-1_0-JavaScriptCore-%{_sonameverpkg}
%defattr (-,root,root)
%{_libdir} /girepository-1.0/JavaScriptCore-%{_sonamever}.typelib
%files devel
%defattr (-,root,root)
%{_datadir} /gir-1.0/*.gir
%{_includedir} /webkitgtk-4.0/
%{_libdir} /libwebkit2gtk-4.0.so
%{_libdir} /libjavascriptcoregtk-4.0.so
%{_libdir} /pkgconfig/javascriptcoregtk-4.0.pc
%{_libdir} /pkgconfig/webkit2gtk-4.0.pc
%{_libdir} /pkgconfig/webkit2gtk-web-extension-4.0.pc
%files -n webkit-jsc-%{_jscver}
%defattr (-,root,root)
2016-10-14 21:29:08 +02:00
%{_libexecdir} /libwebkit2gtk%{_wk2sover}/jsc
2014-08-23 16:27:29 +02:00
%files -n %{_pkgname_no_slpp}-lang -f WebKit2GTK-4.0.lang
%defattr (-,root,root)
%changelog