Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:Update
webkit2gtk3.9953
webkit2gtk3.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File webkit2gtk3.spec of Package webkit2gtk3.9953
# # spec file for package webkit2gtk3 # # Copyright (c) 2019 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 https://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 # gold linker not available on old s390/s390x %define _gold_linker 1 %if 0%{?suse_version} < 1320 %ifarch s390 s390x %define _gold_linker 0 %endif %else %ifarch ppc s390 %define _gold_linker 0 %endif %endif %if 0%{?suse_version} >= 1500 %bcond_without python3 %else %bcond_with python3 %endif Name: webkit2gtk3 Version: 2.22.6 Release: 0 Summary: Library for rendering web content, GTK+ Port License: LGPL-2.0-or-later AND BSD-3-Clause Group: Development/Libraries/C and C++ URL: https://webkitgtk.org/ Source0: http://webkitgtk.org/releases/%{_name}-%{version}.tar.xz Source1: http://webkitgtk.org/releases/%{_name}-%{version}.tar.xz.asc Source98: baselibs.conf Source99: webkit2gtk3.keyring # PATCH-FIX-UPSTREAM webkit2gtk3-python3.patch bsc#1079812 mgorse@suse.com -- port to Python 3. Patch0: webkit2gtk3-python3.patch # PATCh-FIX-UPSTREAM webkit2gtk3-boo1088932-a11y-state-set.patch boo#1088932 webkit#184366 mgorse@suse.com -- fix crash when atk_object_ref_state_set is called on an AtkObject that's being destroyed. Patch1: webkit2gtk3-boo1088932-a11y-state-set.patch BuildRequires: Mesa-libEGL-devel BuildRequires: Mesa-libGL-devel BuildRequires: Mesa-libGLESv1_CM-devel BuildRequires: Mesa-libGLESv2-devel BuildRequires: Mesa-libGLESv3-devel BuildRequires: bison >= 2.3 BuildRequires: cmake BuildRequires: enchant-devel %if 0%{?suse_version} == 1315 BuildRequires: gcc7-c++ %else BuildRequires: gcc-c++ >= 4.9 %endif BuildRequires: gobject-introspection-devel BuildRequires: gperf >= 3.0.1 BuildRequires: hyphen-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: ninja BuildRequires: perl >= 5.10.0 BuildRequires: pkgconfig BuildRequires: ruby >= 1.8.7 BuildRequires: pkgconfig(atk) BuildRequires: pkgconfig(atspi-2) >= 2.5.3 BuildRequires: pkgconfig(cairo) >= 1.10.2 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-app-1.0) BuildRequires: pkgconfig(gstreamer-audio-1.0) BuildRequires: pkgconfig(gstreamer-codecparsers-1.0) BuildRequires: pkgconfig(gstreamer-fft-1.0) BuildRequires: pkgconfig(gstreamer-gl-1.0) BuildRequires: pkgconfig(gstreamer-mpegts-1.0) BuildRequires: pkgconfig(gstreamer-pbutils-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gstreamer-tag-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.12.0 BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(harfbuzz) >= 0.9.2 BuildRequires: pkgconfig(libbrotlidec) >= 1.0.1 BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libsoup-2.4) >= 2.61.90 BuildRequires: pkgconfig(libwebp) %if 0%{?suse_version} > 1500 BuildRequires: pkgconfig(libwoff2dec) %endif BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0 BuildRequires: pkgconfig(libxslt) >= 1.1.7 BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(upower-glib) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(zlib) %if %{with python3} BuildRequires: python3 %else BuildRequires: python >= 2.6.0 BuildRequires: python2-xml %endif %if %{_gold_linker} BuildRequires: binutils-gold %endif %if 0%{?is_opensuse} # We require gtk2 for the Gtk2 plugin wrapper BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.10 %endif %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 # Require the injected bundles. The bundles are dlopen()ed Group: System/Libraries Requires: webkit2gtk-4_0-injected-bundles Recommends: %{_pkgname_no_slpp}-lang Provides: %{_pkgname_no_slpp} = %{version} %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. %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 %package -n webkit2gtk-4_0-injected-bundles Summary: Injected bundles for %{name} 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: Introspection bindings for %{name} 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: Introspection bindings for %{name} 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: Introspection bindings for the GTK+ port of the JavaScript Core Engine 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: Development files for %{name} Group: Development/Libraries/C and C++ Requires: libjavascriptcoregtk%{_sover} = %{version} Requires: libwebkit2gtk%{_wk2sover} = %{version} Requires: typelib-1_0-JavaScriptCore-%{_sonameverpkg} Requires: typelib-1_0-WebKit2-%{_sonameverpkg} Requires: typelib-1_0-WebKit2WebExtension-%{_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: JavaScript command line from WebKit Group: Development/Tools/Other %description -n webkit-jsc-%{_jscver} jsc is a command-line utility that allows you to run JavaScript programs outside of the context of a web browser. It is primarily used as part of the test harness for validating the JavaScript portions of WebKit, but can also be used as a scripting tool. jsc can be run in an interactive mode to test out JavaScript expressions, or it can be passed one or more files to run similar to invoking a Perl or Python script. %package minibrowser Summary: MiniBrowser from WebKit Group: Development/Tools/Other %description minibrowser A small test browswer from webkit, useful for testing features. %lang_package -n %{_pkgname_no_slpp} %prep %setup -q -n webkitgtk-%{version} %if %{with python3} %patch0 -p1 %endif %patch1 -p1 %build # Here we must muzzle our dog so it doesn't eat all the memory max_link_jobs="%{?jobs:%{jobs}}" max_compile_jobs="%{?jobs:%{jobs}}" echo "Available memory:" cat /proc/meminfo echo "System limits:" ulimit -a if test -n "$max_link_jobs" -a "$max_link_jobs" -gt 1 ; then mem_per_process=1300000 max_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) max_jobs="$(($max_mem / $mem_per_process))" test "$max_link_jobs" -gt "$max_jobs" && max_link_jobs="$max_jobs" && echo "Warning: Reducing number of link jobs to $max_jobs because of memory limits" test "$max_link_jobs" -le 0 && max_link_jobs=1 && echo "Warning: Not linking in parallel at all becuse of memory limits" fi %if %{with python3} export PYTHON=%{_bindir}/python3 %endif # Use linker flags to reduce memory consumption %if %{_gold_linker} %global optflags %(echo %{optflags} -Wl,--no-keep-memory | sed 's/-g /-g1 /') %else %global optflags %(echo %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads | sed 's/-g /-g1 /') %endif %cmake \ -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libwebkit2gtk%{_wk2sover} \ -DPORT=GTK \ %if 0%{?suse_version} == 1315 -DCMAKE_C_COMPILER=gcc-7 \ -DCMAKE_CXX_COMPILER=g++-7 \ -DENABLE_WEB_CRYPTO=OFF \ -DUSE_GSTREAMER_GL=false \ %endif %if 0%{?suse_version} <= 1500 -DUSE_WOFF2=false \ -DENABLE_MEDIA_SOURCE=OFF \ %endif -DENABLE_MINIBROWSER=ON \ -DENABLE_ACCELERATED_2D_CANVAS=ON \ %if %{with python3} -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ %endif %if !0%{?is_opensuse} -DENABLE_PLUGIN_PROCESS_GTK2=OFF \ %endif %ifarch armv6hl ppc ppc64 ppc64le riscv64 s390 s390x -DENABLE_JIT=OFF \ %endif -DUSE_SYSTEM_MALLOC=ON \ -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" %ninja_build -j $max_link_jobs %install %ninja_install -C build %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} %if 0%{?is_opensuse} # Exclude Gtk2 plugin support from this package. That goes into plugin-process-gtk2. %exclude %{_libexecdir}/libwebkit2gtk%{_wk2sover}/WebKitPluginProcess2 %endif # Exclude jsc and MiniBrowser - we package them on their own %exclude %{_libexecdir}/libwebkit2gtk%{_wk2sover}/jsc %exclude %{_libexecdir}/libwebkit2gtk%{_wk2sover}/MiniBrowser %{_libexecdir}/libwebkit2gtk%{_wk2sover}/ %{_libdir}/libwebkit2gtk-4.0.so.* %{_bindir}/WebKitWebDriver %if 0%{?is_opensuse} %files plugin-process-gtk2 %{_libexecdir}/libwebkit2gtk%{_wk2sover}/WebKitPluginProcess2 %endif %files -n webkit2gtk-4_0-injected-bundles %dir %{_libdir}/webkit2gtk-4.0 %dir %{_libdir}/webkit2gtk-4.0/injected-bundle %{_libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so %files -n libjavascriptcoregtk%{_sover} %license Source/JavaScriptCore/COPYING.LIB %{_libdir}/libjavascriptcoregtk-4.0.so.* %files -n typelib-1_0-WebKit2-%{_sonameverpkg} %{_libdir}/girepository-1.0/WebKit2-%{_sonamever}.typelib %files -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg} %{_libdir}/girepository-1.0/WebKit2WebExtension-%{_sonamever}.typelib %files -n typelib-1_0-JavaScriptCore-%{_sonameverpkg} %{_libdir}/girepository-1.0/JavaScriptCore-%{_sonamever}.typelib %files devel %{_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} %{_libexecdir}/libwebkit2gtk%{_wk2sover}/jsc %files minibrowser %{_libexecdir}/libwebkit2gtk%{_wk2sover}/MiniBrowser %files -n %{_pkgname_no_slpp}-lang -f WebKit2GTK-4.0.lang %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor