File gnome-shell.spec of Package gnome-shell.openSUSE_Leap_42.3_Update

#
# 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 https://bugs.opensuse.org/
#


Name:           gnome-shell
Version:        3.20.4
Release:        0
Summary:        GNOME Shell
License:        GPL-2.0-or-later
Group:          System/GUI/GNOME
Url:            http://live.gnome.org/GnomeShell
Source:         http://download.gnome.org/sources/gnome-shell/3.20/%{name}-%{version}.tar.xz
# SOURCE-FEATURE-SLE SLE-Classic specific core extension file, see bnc#862615
Source1:        SLEClassicExt.js
# 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-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-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.
Patch3:         gnome-shell-gdm-login-applet.patch
# PATCH-FEATURE-SLE gnome-shell-domain.patch fate#307773 dliang@suse.com -- Active Directory Integration
Patch4:         gnome-shell-domain.patch
# PATCH-FIX-UPSTREAM gnome-shell-878951-hide-list-with-no-user.patch bnc#878951 bgo#731320 dliang@suse.com -- hide use list when there is not user
Patch5:         gnome-shell-878951-hide-list-with-no-user.patch
# PATCH-FIX-SLE gnome-shell-screen-disappear.patch bnc#870217 dliang@suse.com -- screen disapper.
Patch6:         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
Patch7:         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.
Patch8:         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.
Patch9:         gnome-shell-lock-bg-on-primary.patch
# PATCH-FIX-SLE gnome-shell-970480-authprompt-wrapping-message.patch bnc#970480 tyang@suse.com -- fix wrapping message issue when password change operation fails.
Patch10:        gnome-shell-970480-authprompt-wrapping-message.patch
# PATCH-FIX-SLE gs-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login.
Patch11:        gs-fate318433-prevent-same-account-multi-logins.patch
# PATCH-FIX-UPSTREAM gnome-shell-fix-missing-return.patch zaitor@opensuse.org -- Fix a missing return, patch from upstream stable git.
Patch12:        gnome-shell-fix-missing-return.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.
Patch13:        gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch
# PATCH-FIX-UPSTREAM gnome-shell-774381-app-window-overlay-app-list.patch xwang@suse.com -- Fix app windows overlay app list in overview screen.
Patch14:        gnome-shell-774381-app-window-overlay-app-list.patch
# PATCH-FIX-UPSTREAM gnome-shell-login-fix-session-button-can-be-clicked.patch bsc#1034584 bsc#1034827 bgo#781482 xwang@suse.com -- Disable session selection button function when it does not display.
Patch15:        gnome-shell-login-fix-session-button-can-be-clicked.patch
# PATCH-FIX-UPSTREAM gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch bsc#1036494 bgo#781728 alarrosa@suse.com -- Handle errors consistently
Patch16:        gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch
# PATCH-FIX-UPSTREAM gnome-shell-1036494-Catch-import-errors.patch bsc#1036494 bgo#781728 alarrosa@suse.com -- Catch import errors
Patch17:        gnome-shell-1036494-Catch-import-errors.patch
# PATCH-FIX-UPSTREAM gnome-shell-1036494-Consistently-handle-initExtension-errors.patch bsc#1036494 bgo#781728 alarrosa@suse.com -- Handle errors consistently
Patch18:        gnome-shell-1036494-Consistently-handle-initExtension-errors.patch
# PATCH-FIX-UPSTREAM gnome-shell-portalhelper-Fix-auth-URI-not-being-passed-to-window.patch bgo#783286 zaitor@opensuse.org -- Portalhelper fix from upstream git
Patch19:        gnome-shell-portalhelper-Fix-auth-URI-not-being-passed-to-window.patch
# PATCH-FIX-UPSTREAM gnome-shell-st-texture-cache-Plug-some-pixbuf-refcount-leaks-on-.patch bsc#1017412 bgo#642652 vliaskovitis@suse.com -- Plug some pixbuf refcount leaks on async operations
Patch20:        gnome-shell-st-texture-cache-Plug-some-pixbuf-refcount-leaks-on-.patch
# PATCH-FIX-UPSTREAM gnome-shell-hide-authentication-dialogs-while-locked.patch bsc#1102648 glgo#GNOME/gnome-shell#166 xwang@suse.com -- Hide authentication dialogs while locked
Patch21:        gnome-shell-hide-authentication-dialogs-while-locked.patch
# PATCH-FIX-UPSTREAM gnome-shell-fix-menutrackeritem-leak.patch bsc#1093541 hpj@suse.com -- Fix a small memory leak
Patch22:        gnome-shell-fix-menutrackeritem-leak.patch

## NOTE: Keep SLE Classic pathes at bottom.
# PATCH-FEATURE-SLE gs-sle-classic-ext.patch bnc#862615 cxiong@suse.com -- add SLE Classic support
Patch1000:      gs-sle-classic-ext.patch

BuildRequires:  docbook-xsl-stylesheets
BuildRequires:  gcc-c++
BuildRequires:  intltool
%if !0%{?is_opensuse}
BuildRequires:  translation-update-upstream
%endif
BuildRequires:  update-desktop-files
BuildRequires:  xsltproc
BuildRequires:  python(abi) >= 3
# needed for directory ownership
BuildRequires:  dbus-1
BuildRequires:  pkgconfig(atk-bridge-2.0)
BuildRequires:  pkgconfig(clutter-1.0) >= 1.21.5
BuildRequires:  pkgconfig(gcr-base-3) >= 3.7.5
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gio-2.0) >= 2.45.3
BuildRequires:  pkgconfig(gjs-1.0) >= 1.39.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.45.4
BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= 3.19.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.5.3
BuildRequires:  pkgconfig(libgnome-menu-3.0) >= 3.5.3
BuildRequires:  pkgconfig(libmutter) >= 3.20.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(polkit-agent-1) >= 0.100
BuildRequires:  pkgconfig(telepathy-glib) >= 0.17.5
BuildRequires:  pkgconfig(telepathy-logger-0.2) >= 0.2.4
BuildRequires:  pkgconfig(xtst)
Requires:       gdk-pixbuf-loader-rsvg
Requires:       gnome-session
# For a GSettings schema and power system icon
Requires:       gnome-settings-daemon
Requires:       gsettings-desktop-schemas
## Finally, dependencies for session services that are needed for system icons and the user menu
# bluetooth system icon
Requires:       gnome-bluetooth
# "System settings" menu item
Requires:       gnome-control-center
# "High Contrast" in accessibility status icon
Requires:       gnome-themes-accessibility
# 11.4 doesn't have typelib dependency
%if 0%{?suse_version} < 1210
Requires:       libaccountsservice0
Requires:       libcaribou0
Requires:       libgdmgreeter1
%endif
Recommends:     %{name}-browser-plugin
Recommends:     %{name}-calendar
Recommends:     %{name}-lang
# The dateTime applet in the panel launches gnome-clocks upon user request
Recommends:     gnome-clocks
Recommends:     gnome-shell-search-provider-documents
# network system icon
Recommends:     NetworkManager-gnome
#merged into gnome-shell in 3.19
Obsoletes:      gnome-shell-wayland

BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%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:        GNOME Shell -- Development Files
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}:MozillaFirefox)

%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
%patch1 -p1
%patch2 -p1
%if !0%{?is_opensuse}
%patch3 -p1
%patch4 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch13 -p1
%endif
%patch5 -p1
%patch12 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%if %suse_version == 1315
%patch1000 -p1
cp %{S:1} js/ui/
%endif
%if !0%{?is_opensuse}
translation-update-upstream
cp %{S:2} js/ui/
cp %{S:3} data/theme/
%endif

%build
export BROWSER_PLUGIN_DIR=%{_libdir}/browser-plugins
%configure \
        --disable-static \
        --libexecdir=%{_libexecdir}/%{name} \
        --enable-compile-warnings=no
%__make %{?_smp_mflags} V=1

%install
%makeinstall
find %{buildroot} -type f -name "*.la" -delete -print
# 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}
%suse_update_desktop_file org.gnome.Shell
%suse_update_desktop_file gnome-shell-extension-prefs
# Work around race, as reported in bnc#844891 & bgo#709313.
install -d %{buildroot}%{_datadir}/gnome-shell/modes

%clean
rm -rf %{buildroot}

%post
%glib2_gsettings_schema_post
%desktop_database_post

%postun
%glib2_gsettings_schema_postun
%desktop_database_postun

%files
%defattr(-,root,root)
%doc COPYING README NEWS
%{_bindir}/gnome-shell
%{_bindir}/gnome-shell-extension-prefs
%exclude %{_libexecdir}/gnome-shell/gnome-shell-calendar-server
%{_libexecdir}/gnome-shell/
%if "%{_libdir}" != "%{_libexecdir}"
%{_libdir}/gnome-shell/
%endif
%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.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
%{_datadir}/gnome-shell/
%doc %{_mandir}/man?/gnome-shell.*

%files devel
%defattr(-,root,root)
%{_bindir}/gnome-shell-extension-tool
%{_bindir}/gnome-shell-perf-tool
%doc %{_datadir}/gtk-doc/html/st/
%doc %{_datadir}/gtk-doc/html/shell/

%files browser-plugin
%defattr(-,root,root)
%doc browser-plugin/README
%{_libdir}/browser-plugins/libgnome-shell-browser-plugin.*

%files calendar
%defattr(-,root,root)
%{_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
openSUSE Build Service is sponsored by