File gnome-shell.spec of Package gnome-shell.705

#
# spec file for package gnome-shell
#
# Copyright (c) 2015 SUSE LINUX Products 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/
#


Name:           gnome-shell
Version:        3.10.4
Release:        0
Summary:        GNOME Shell
License:        GPL-2.0+
Group:          System/GUI/GNOME
Url:            http://live.gnome.org/GnomeShell
Source:         http://download.gnome.org/sources/gnome-shell/3.10/%{name}-%{version}.tar.xz
# SOURCE-FEATURE-SLE SLE Classic-specific core extension file, see bnc#862615
Source1:        SLEClassicExt.js
# SOURCE-FEATURE-SLE The SLE theme, with icons/background/gnome-shell.css, works with gnome-shell-sle-theme.patch
Source2:        SLE-theme.tar.gz
# 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
Patch2:         gnome-shell-gdm-login-applet.patch
Patch3:         gnome-shell-domain.patch
Patch4:         gnome-shell-864872-unlock-by-mouse-motion.patch
# PATCH-FIX-UPSTREAM use environment variable instead of command line to specify mode so that the session saving can work as expected. See #bnc863709 and #bgo720894
Patch5:         gnome-shell-use-env-var-for-mode.patch
# PATCH-FIX-UPSTREAM defer loading the user list until needed. See #bnc869127 and #bgo725905
Patch6:         gnome-shell-defer-loading-userlist.patch
# PATCH-FEATURE-SLE SLE Classic-specific core extension patch, changes that are not feasible in extension file, see bnc#862615
Patch7:         sle-classic-ext.patch
# PATCH-FEATURE-SLE SLE backport wired connection status in GNOME 3.12 with other tweaks, see bnc#862615 comment#42
Patch8:         wired-connection-status.patch
# PATCH-FIX-UPSTREAM show the right background when resolution is changed.
Patch9:         gnome-shell-right-bg-with-resolution-change.patch
Patch10:        gnome-shell-prompt-twice.patch
Patch11:        gnome-shell-login-focus-lost.patch
# PATCH-FIX-SLED gnome-shell-874712-use-upower-directly.patch bnc#874712 mgorse@suse.com -- fix updating of power status icon. From upstream.
Patch12:        gnome-shell-874712-use-upower-directly.patch
# PATCH-FIX-SLED gnome-shell-878951-hide-list-with-no-user.patch bnc#878951 dliang@suse.com -- hide use list when there is not user
Patch13:        gnome-shell-878951-hide-list-with-no-user.patch
# PATCH-FIX-SLED gnome-shell-sle-theme.patch dliang@suse.com. -  Use sle theme , avatar
Patch14:        gnome-shell-sle-theme.patch
# PATCH-FIX-SLED gnome-shell-screen-disappear.patch bnc#870217 dliang@suse.com -- screen disapper.
Patch15:        gnome-shell-screen-disappear.patch
# PATCH-FIX-SLE login-prompt-preserve-session-choice.patch bnc#870560 cxiong@suse.com -- don't reset session choice during one verification session
Patch16:        login-prompt-preserve-session-choice.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
Patch17:        endSession-dialog-update-time-label-every-sec.patch
# PATCH-FIX-SLE add-some-indicating-text-to-logout-menu.patch bnc#886569 cxiong@suse -- add some indicating text to logout menu.
Patch18:        add-some-indicating-text-to-logout-menu.patch
# PATCH-FIX-SLED gnome-shell-background-image-change.patch bnc#879178 dliang@suse.com -- resolution change cause bg changes.
Patch19:        gnome-shell-background-image-change.patch
# PATCH-FIX-SLED gnome-shell-hostname-refresh.patch bnc#888806 dliang@suse.com -- keep tracking of the hostname change
Patch20:        gnome-shell-hostname-refresh.patch
# PATCH-FIX-SLED vpn-indicator-and-menu-general-fix.patch bnc#890855 cxiong@suse.com -- fix multiple issues with VPN indicator
Patch21:        vpn-indicator-and-menu-general-fix.patch
# PATCH-FIX-SLE gnome-shell-sle-multiple-fixes.patch bnc#894048, bnc#891560 cxiong@suse.com -- xsettings.overrides restoring and  message tray positioning fix
Patch22:        gnome-shell-sle-multiple-fixes.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.
Patch23:        gnome-shell-lock-bg-on-primary.patch
# PATCH-FIX-UPSTREAM gnome-shell-calendar-fix-week-number.patch boo#736722 bsc#918046 bgo#916534 fcrozat@suse.com -- Fix week number computation in calendar
Patch24:        gnome-shell-calendar-fix-week-number.patch
# PATCH-FIX-UPSTREAM gnome-shell-917489-only-set-scaling-factor-if-present.patch bsc#917489 hpj@suse.com -- Fix jumbled UI elements
Patch25:        gnome-shell-917489-only-set-scaling-factor-if-present.patch
# PATCH-FIX-UPSTREAM dont-start-searchprovider-at-login.patch bnc#897153 bgo#708830 cxiong@suse.com -- inhibit autostarting search providers at login to have correct process hierarchy for nautilus
Patch26:        dont-start-searchprovider-at-login.patch
# PATCH-FIX-SLE background-image-caching-fix.patch bnc#926800 cxiong@suse.com -- fix background image caching bug.
Patch27:        background-image-caching-fix.patch
# PATCH-FIX-SLE gnome-shell-933768-fix-leaked-signals-in-login-screen.patch bnc#933768 fezhang@suse.com -- fix leaked signals in login screen.
Patch28:        gnome-shell-933768-fix-leaked-signals-in-login-screen.patch
# PATCH-FIX-SLE 898359-fix-clutter-modal-dialog-integration-with-screenshield.patch cxiong@suse.com -- fix bugs related with Clutter modal dialog.
Patch29:        898359-fix-clutter-modal-dialog-integration-with-screenshield.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  docbook-xsl-stylesheets
BuildRequires:  gnome-common
BuildRequires:  gnome-patch-translation
BuildRequires:  intltool
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  xsltproc
# needed for directory ownership
BuildRequires:  dbus-1
BuildRequires:  pkgconfig(atk-bridge-2.0)
BuildRequires:  pkgconfig(caribou-1.0) >= 0.4.8
BuildRequires:  pkgconfig(clutter-1.0) >= 1.13.4
BuildRequires:  pkgconfig(gcr-base-3) >= 3.7.5
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gio-2.0) >= 2.37.0
BuildRequires:  pkgconfig(gjs-1.0) >= 1.38.1
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) >= 0.10.1
BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= 3.7.4
BuildRequires:  pkgconfig(gstreamer-1.0) >= 0.11.92
BuildRequires:  pkgconfig(gstreamer-base-1.0)
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.3.9
BuildRequires:  pkgconfig(json-glib-1.0) >= 0.13.2
BuildRequires:  pkgconfig(libcanberra)
BuildRequires:  pkgconfig(libcanberra-gtk)
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.10.4
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-daemon)
BuildRequires:  pkgconfig(libsystemd-login)
BuildRequires:  pkgconfig(mutter-plugins)
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-icon-theme-symbolic
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
# Wanda makes use of this.
Recommends:     fortune
# 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
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
gnome-patch-translation-prepare
%patch1 -p1
%patch2 -p1
%patch3 -p1
# g-p-t is deliberately here. No SUSE-specific strings are in patches lower.
gnome-patch-translation-update
# Place here only patches with no or backported stings:
%patch4 -p1
%patch5
%patch6 -p1
%patch7
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
# Patch12 adds a string, but from upstream, so t-u-u should catch it
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16
%patch17
# Patch18 adds a string, but from upstream, so t-u-u should catch it
%patch18
%patch19 -p1
%patch20 -p1
%patch21
%patch22
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
# t-u-u is deliberately here. patch12 imports strings from upstream
# unique string in patch3 will be updated, and guess cannot be provided
translation-update-upstream

%build
#needed by patch3
autoreconf
export BROWSER_PLUGIN_DIR=%{_libdir}/browser-plugins
%configure \
        --disable-static \
        --libexecdir=%{_libexecdir}/%{name} \
        --with-nmlibexecdir=%{_libexecdir} \
        --disable-schemas-install \
        --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
# Install SLE Classic-specific core extension file
install -m0644 %{SOURCE1} %{buildroot}%{_datadir}/gnome-shell/js/ui/
# Install SLE theme
tar xzvf %{SOURCE2}
cp -r SLE-theme/icons  %{buildroot}%{_datadir}/
cp SLE-theme/theme/*  %{buildroot}%{_datadir}/gnome-shell/theme

%find_lang %{name} %{?no_lang_C}
%suse_update_desktop_file %{name}
%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/gnome-shell.desktop
%{_datadir}/applications/gnome-shell-extension-prefs.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}/glib-2.0/schemas/org.gnome.shell.gschema.xml
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
%{_datadir}/gnome-shell/
%{_datadir}/icons/
%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