File gnome-shell.spec of Package gnome-shell.11201
#
# spec file for package gnome-shell
#
# Copyright (c) 2018 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/
#
%global __requires_exclude typelib\\(Meta\\)
Name: gnome-shell
Version: 3.26.2+20180130.0d9c74212
Release: 0
Summary: GNOME Shell
License: GPL-2.0+
Group: System/GUI/GNOME
Url: https://wiki.gnome.org/Projects/GnomeShell
#Source0: https://download.gnome.org/sources/gnome-shell/3.26/%%{name}-%%{version}.tar.xz
Source: %{name}-%{version}.tar.xz
# SOURCE-FEATURE-SLE aboutMenu fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname.
Source2: aboutMenu.js
# SOURCE-FEATURE-SLE sle-background bsc#1007468 xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme
Source3: sle-background.png
# PATCH-FIX-OPENSUSE gnome-shell-meson.patch dimstar@opensuse.org -- Fix rpath statement for gvc (needs validation, upstream fix)
Patch0: gnome-shell-meson.patch
# PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized
Patch1: gnome-shell-private-connection.patch
# PATCH-FIX-OPENSUSE gnome-shell-disable-ibus-when-not-installed.patch bsc#987360 qzhao@suse.com -- disable ibus start when outof Chinese, Japanese, Korean area.
Patch2: gnome-shell-disable-ibus-when-not-installed.patch
# PATCH-FIX-UPSTREAM gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch bsc#1058521 bgo#788169 xwang@suse.com -- Avoid login dialog grabs focus when screen locked
Patch3: gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch
# PATCH-FIX-UPSTREAM gnome-shell-osk-dont-popup-when-not-needed.patch bgo#788188 badshah400@gmail.com -- Stop the on-screen keyboard from showing up when touchscreen use doesn't activate a text field; patch taken from upstream bug report
Patch4: gnome-shell-osk-dont-popup-when-not-needed.patch
# PATCH-FIX-UPSTREAM gnome-shell-private-Avoid-unnecessary-conversions-in-shadow-comp.patch bgo#788627 bsc#1084341 xwang@suse.com -- Avoid unnecessary conversions in shadow computation
Patch5: gnome-shell-private-Avoid-unnecessary-conversions-in-shadow-comp.patch
# PATCH-FIX-UPSTREAM gnome-shell-st-Do-not-force-allocation-updates-during-shadow-creation.patch bgo#788908 bsc#1084341 xwang@suse.com -- Do not force allocation updates during shadow creation
Patch6: gnome-shell-st-Do-not-force-allocation-updates-during-shadow-creation.patch
# PATCH-FEATURE-OPENSUSE gnome-shell-fate324570-Make-GDM-background-image-configurable.patch fate#324570, glgo#GNOME/gnome-shell#680, bsc#1120178 qkzhu@suse.com -- Make GDM background image configurable
Patch7: gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
# PATCH-FIX-UPSTREAM gnome-shell-fix-menutrackeritem-leak.patch glgo#GNOME/gnome-shell!50, bsc#1093541 hpj@suse.com -- Fix a small memory leak
Patch8: gnome-shell-fix-menutrackeritem-leak.patch
# PATCH-FIX-UPSTREAM gnome-shell-1127231-workspace-JS-invalid-access.patch glgo#GNOME/gnome-shell!143, bgo#791233, bsc#1127231 qkzhu@suse.com -- fixes for some JS warnings of workspace
Patch9: gnome-shell-1127231-workspace-JS-invalid-access.patch
# PATCH-FIX-UPSTREAM gnome-shell-1127231-fixesof4-JS-invalid-access.patch glgo#GNOME/gnome-shell!209, bgo#791233, bsc#1127231 qkzhu@suse.com -- 4 Javascript invalid access fixes
Patch10: gnome-shell-1127231-fixesof4-JS-invalid-access.patch
# PATCH-FIX-UPSTREAM gnome-shell-screenShield-Handle-signal-StatusChanged.patch bsc#1118286 glgo#GNOME/gnome-shell#900 xwang@suse.com -- Enable dimming screen when screen is locked
Patch11: gnome-shell-screenShield-Handle-signal-StatusChanged.patch
# PATCH-FIX-UPSTREAM gnome-shell-partial-screenlock-bypass-CVE-2019-3820.patch bsc#1124493, glgo#GNOME/gnome-shell#851, CVE-2019-3820 qkzhu@suse.com -- Partial screenlock bypass fix
Patch12: gnome-shell-partial-screenlock-bypass-CVE-2019-3820.patch
## NOTE: Keep SLE-only patches at bottom (starting on 1000).
# PATCH-FEATURE-SLE gnome-shell-gdm-login-applet.patch fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname.
Patch1001: gnome-shell-gdm-login-applet.patch
# PATCH-FEATURE-SLE gnome-shell-domain.patch fate#307773 dliang@suse.com -- Active Directory Integration
Patch1002: gnome-shell-domain.patch
# PATCH-FIX-SLE gnome-shell-screen-disappear.patch bnc#870217 dliang@suse.com -- screen disapper.
Patch1003: gnome-shell-screen-disappear.patch
# PATCH-FIX-SLE endSession-dialog-update-time-label-every-sec.patch bnc#886132 cxiong@suse.com -- update time label every second in end session dialog
Patch1004: endSession-dialog-update-time-label-every-sec.patch
# PATCH-FEATURE-SLE gnome-shell-864872-unlock-by-mouse-motion.patch bnc#864872 dliang@suse.com -- 10px mouse motion to lift screen shield.
Patch1005: gnome-shell-864872-unlock-by-mouse-motion.patch
# PATCH-FIX-SLE gnome-shell-lock-bg-on-primay.patch bnc#894050 dliang@suse.com -- display background of lock dialog on the primary screen.
Patch1006: gnome-shell-lock-bg-on-primary.patch
# PATCH-FIX-SLE gs-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login.
Patch1007: gs-fate318433-prevent-same-account-multi-logins.patch
# PATCH-FEATURE-SLE gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme.
Patch1008: gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch
# needed for directory ownership
BuildRequires: dbus-1
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gtk-doc
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: xsltproc
BuildRequires: pkgconfig(atk-bridge-2.0)
BuildRequires: pkgconfig(gcr-base-3) >= 3.7.5
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gio-2.0) >= 2.53.0
BuildRequires: pkgconfig(gjs-1.0) >= 1.47.0
BuildRequires: pkgconfig(gnome-bluetooth-1.0) >= 3.9.0
BuildRequires: pkgconfig(gnome-desktop-3.0) >= 3.7.90
BuildRequires: pkgconfig(gnome-keybindings)
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.49.1
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.21.2
BuildRequires: pkgconfig(gstreamer-1.0) >= 0.11.92
BuildRequires: pkgconfig(gstreamer-base-1.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.15.0
BuildRequires: pkgconfig(json-glib-1.0) >= 0.13.2
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcanberra-gtk3)
BuildRequires: pkgconfig(libcroco-0.6) >= 0.6.8
BuildRequires: pkgconfig(libedataserver-1.2) >= 3.17.2
BuildRequires: pkgconfig(libgnome-menu-3.0) >= 3.5.3
BuildRequires: pkgconfig(libmutter-1) >= 3.26.1
BuildRequires: pkgconfig(libnm-glib)
BuildRequires: pkgconfig(libnm-gtk) >= 0.9.8
BuildRequires: pkgconfig(libnm-util) >= 0.9.8
BuildRequires: pkgconfig(libpulse) >= 2.0
BuildRequires: pkgconfig(libpulse-mainloop-glib)
BuildRequires: pkgconfig(libsecret-unstable)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.11
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(mutter-clutter-1) >= 3.26.0
BuildRequires: pkgconfig(mutter-cogl-pango-1) >= 3.25.2
BuildRequires: pkgconfig(polkit-agent-1) >= 0.100
BuildRequires: pkgconfig(xtst)
BuildRequires: python(abi) >= 3
Requires: gdk-pixbuf-loader-rsvg
## Finally, dependencies for session services that are needed for system icons and the user menu
# bluetooth system icon
# (lowered to recommends due to bsc#1067603, some setups without bluetooth might want to avoid this dependency)
Recommends: gnome-bluetooth
# "System settings" menu item
Requires: gnome-control-center
Requires: gnome-session
# For a GSettings schema and power system icon
Requires: gnome-settings-daemon
# "High Contrast" in accessibility status icon
Requires: gnome-themes-accessibility
Requires: gsettings-desktop-schemas
# Due to now private typelib(Meta)
Requires: mutter
Recommends: %{name}-calendar
Recommends: %{name}-lang
# network system icon
Recommends: NetworkManager-gnome
# The dateTime applet in the panel launches gnome-clocks upon user request
Recommends: gnome-clocks
# gnome-shell implements the dbus interface org.freedesktop.Notifications directly
Provides: dbus(org.freedesktop.Notifications)
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
%description
The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications, accessing
documents, and organizing open windows in GNOME.
%package devel
Summary: Development files for GNOME Shell
Group: Development/Libraries/GNOME
Requires: %{name} = %{version}
%description devel
The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications, accessing
documents, and organizing open windows in GNOME.
%package browser-plugin
Summary: GNOME Shell Browser Plugin for the Extensions Repository
Group: System/GUI/GNOME
Requires: %{name} = %{version}
Supplements: packageand(%{name}:epiphany)
%description browser-plugin
The GNOME Shell Browser Plugin provides integration with gnome-shell
and the corresponding extensions repository. The plugin allows the
extensions repository to provide good integration, letting the website
know which extensions are enabled and disabled, and allowing the website
to enable, disable and install them.
%package calendar
Summary: Evolution Calendar support for GNOME Shell
Group: System/GUI/GNOME
Requires: %{name} = %{version}
# The clock / calendar applet in the panel requires e-d-s (bnc#795793).
Requires: evolution-data-server
Supplements: packageand(%{name}:evolution-data-server)
%description calendar
This package adds support for Evolution Calendar, such as appointments
into GNOME Shell calendar.
%lang_package
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%if !0%{?is_opensuse}
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
%patch1007 -p1
%patch1008 -p1
translation-update-upstream
%endif
%if !0%{?is_opensuse}
cp %{SOURCE2} js/ui/
cp %{SOURCE3} data/theme/
%endif
%build
%meson \
--libexecdir=%{_libexecdir}/%{name} \
-D enable-browser-plugin=true \
-D enable-documentation=true \
-D enable-man=true \
-D enable-networkmanager=yes \
-D enable-systemd=yes \
%{nil}
%meson_build
%install
%meson_install
# This is the directory where extensions get installed
install -d %{buildroot}%{_datadir}/gnome-shell/extensions
# This is the directory where search providers get installed
install -d %{buildroot}%{_datadir}/gnome-shell/search-providers
%find_lang %{name} %{?no_lang_C}
# Work around race, as reported in bnc#844891 & bgo#709313.
install -d %{buildroot}%{_datadir}/gnome-shell/modes
%fdupes %{buildroot}%{_prefix}
%files
%license COPYING
%doc README NEWS
%{_bindir}/gnome-shell
%{_bindir}/gnome-shell-extension-prefs
%dir %{_libdir}/gnome-shell
%dir %{_libexecdir}/gnome-shell
%exclude %{_libexecdir}/gnome-shell/gnome-shell-calendar-server
%{_libexecdir}/gnome-shell/gnome-shell-hotplug-sniffer
%{_libexecdir}/gnome-shell/gnome-shell-perf-helper
%{_libexecdir}/gnome-shell/gnome-shell-portal-helper
%{_libdir}/gnome-shell/Gvc-1.0.typelib
%{_libdir}/gnome-shell/Shell-0.1.typelib
%{_libdir}/gnome-shell/ShellMenu-0.1.typelib
%{_libdir}/gnome-shell/St-1.0.typelib
%{_libdir}/gnome-shell/libgnome-shell-menu.so
%{_libdir}/gnome-shell/libgnome-shell.so
%{_libdir}/gnome-shell/libgvc.so
%{_libdir}/gnome-shell/libst-1.0.so
%dir %{_datadir}/GConf
%dir %{_datadir}/GConf/gsettings
%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
%{_datadir}/applications/org.gnome.Shell.desktop
%{_datadir}/applications/gnome-shell-extension-prefs.desktop
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
%{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.xml
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
# Own these dirs for extensions, search-providers and work around a race condition
%dir %{_datadir}/gnome-shell/extensions
%dir %{_datadir}/gnome-shell/search-providers
%dir %{_datadir}/gnome-shell/modes
%{_datadir}/gnome-shell/gnome-shell-theme.gresource
%{_datadir}/gnome-shell/perf-background.xml
%{_mandir}/man?/gnome-shell.?%{ext_man}
%dir %{_datadir}/xdg-desktop-portal
%dir %{_datadir}/xdg-desktop-portal/portals
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
%files devel
%doc %{_datadir}/gtk-doc/html
%{_bindir}/gnome-shell-extension-tool
%{_bindir}/gnome-shell-perf-tool
%{_datadir}/gnome-shell/*.gir
%files browser-plugin
%doc browser-plugin/README
%dir %{_libdir}/mozilla/plugins/
%dir %{_libdir}/mozilla
%{_libdir}/mozilla/plugins/libgnome-shell-browser-plugin.*
%files calendar
%{_datadir}/applications/evolution-calendar.desktop
%{_libexecdir}/gnome-shell/gnome-shell-calendar-server
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
%files lang -f %{name}.lang
%changelog