# # spec file for package webkit2gtk3 # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 Version: 2.13.90 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 # PATCH-FIX-SLE webkitgtk-disable-gcc-version-checks.patch mcatanzaro@igalia.com -- Allow building with GCC 4.8, which is currently safe if IndexedDB is disabled. Patch1: webkitgtk-disable-gcc-version-checks.patch %ifnarch s390 s390x BuildRequires: binutils-gold %endif BuildRequires: bison >= 2.3 BuildRequires: cmake %if %{?suse_version} > 1315 BuildRequires: gcc-c++ >= 4.9 %else BuildRequires: gcc-c++ >= 4.8 BuildRequires: libedit-devel %endif BuildRequires: gobject-introspection-devel BuildRequires: gperf >= 3.0.1 BuildRequires: hyphen-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: ncurses-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 BuildRequires: pkgconfig(glib-2.0) >= 2.36 BuildRequires: pkgconfig(gnutls) >= 3.0.0 BuildRequires: pkgconfig(gstreamer-1.0) >= 1.0.3 BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.12.0 BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(harfbuzz) >= 0.9.2 BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libsoup-2.4) >= 2.42.0 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 Provides: %{_pkgname_no_slpp} = %{version} Recommends: %{_pkgname_no_slpp}-lang = %{version} # Require the injected bundles. The bundles are dlopen()ed Requires: webkit2gtk-4_0-injected-bundles %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. %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. %lang_package -n %{_pkgname_no_slpp} %prep %setup -q -n webkitgtk-%{version} %patch0 -p1 %if %{?suse_version} == 1315 %patch1 -p1 %endif %build # Use linker flags to reduce memory consumption %ifarch s390 s390x # binutils-gold doesn't exist on s390x %global optflags %(echo %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads | sed 's/-g /-g1 /') %else %global optflags %(echo %{optflags} -Wl,--no-keep-memory | sed 's/-g /-g1 /') %endif # IndexedDB support (including DB process) support requires GCC 4.9. # Use some hidden, not-really-supported build options to avoid this. # See webkit#98932. # Disable FTL JIT on SLE until we get llvm >= 3.7 or until # upstream switches from LLVM to B3 (requires gcc >= 4.9). %cmake \ %if 0%{?suse_version} == 1315 -DENABLE_DATABASE_PROCESS=OFF \ -DENABLE_INDEXED_DATABASE=OFF \ -DENABLE_FTL_JIT=OFF \ %endif -DCMAKE_BUILD_TYPE=Release \ -DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libwebkit2gtk%{_wk2sover} \ -DPORT=GTK \ -DENABLE_PLUGIN_PROCESS_GTK2=OFF \ %ifarch ppc ppc64 ppc64le s390 s390x -DENABLE_JIT=OFF \ -DUSE_SYSTEM_MALLOC=ON \ %endif -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" 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) %{_libexecdir}/libwebkit2gtk%{_wk2sover}/ %{_libdir}/libwebkit2gtk-4.0.so.* %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) %{_bindir}/jsc %files -n %{_pkgname_no_slpp}-lang -f WebKit2GTK-4.0.lang %defattr(-,root,root) %changelog