# # spec file for package gnome-shell # # Copyright (c) 2017 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.0 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.26/%{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-OPENSUSE gnome-shell-meson.patch dimstar@opensuse.org -- Fix rpath statement for gvc (needs validation, upstream fix) Patch0: gnome-shell-meson.patch # PATCH-NEEDS-REBASE gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized Was PATCH-FIX-UPSTREAM 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-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 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-FEATURE-SLE gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme. Patch15: gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch # PATCH-FIX-UPSTREAM gnome-shell-app-workaround-pkexec.patch bgo#763531 zaitor@opensuse.org -- app: Work around pkexec restriction when launching Patch16: gnome-shell-app-workaround-pkexec.patch # PATCH-FIX-UPSTREAM gnome-shell-dateMenu-fixes.patch bgo#787423 bgo#766368 zaitor@opensuse.org -- Fix gnome-weather and notification icon Patch17: gnome-shell-dateMenu-fixes.patch # PATCH-FIX-UPSTREAM gnome-shell-fix-crash-hint-actor-NULL.patch bgo#787580 zaitor@opensuse.org -- StEntry: fix crash when hint actor is NULL Patch18: gnome-shell-fix-crash-hint-actor-NULL.patch # PATCH-FIX-UPSTREAM gnome-shell-only-listen-window-created-events-once.patch bgo#787361 zaitor@opensuse.org -- gtk-embed: ensure we only listen for window-created events once Patch19: gnome-shell-only-listen-window-created-events-once.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 Patch20: gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch ## NOTE: Keep SLE Classic patches 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 # needed for directory ownership BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc-c++ BuildRequires: meson BuildRequires: pkgconfig BuildRequires: update-desktop-files 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.25.91 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 Requires: 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 Recommends: gnome-shell-search-provider-documents #merged into gnome-shell in 3.19 Obsoletes: gnome-shell-wayland # gnome-shell implements the dbus interface org.freedesktop.Notifications directly Provides: dbus(org.freedesktop.Notifications) %glib2_gsettings_schema_requires %if !0%{?is_opensuse} BuildRequires: translation-update-upstream %endif # 11.4 doesn't have typelib dependency %if 0%{?suse_version} < 1210 Requires: libaccountsservice0 Requires: libcaribou0 Requires: libgdmgreeter1 %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: 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}: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 # Needs rebase #patch1 -p1 %patch2 -p1 %patch20 -p1 %if !0%{?is_opensuse} %patch3 -p1 %patch4 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch11 -p1 %patch15 -p1 %endif %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %if !0%{?is_opensuse} %patch1000 -p1 translation-update-upstream %endif cp %{SOURCE1} js/ui/ %if !0%{?is_opensuse} cp %{SOURCE2} js/ui/ cp %{SOURCE3} data/theme/ %endif %build export BROWSER_PLUGIN_DIR=%{_libdir}/browser-plugins %meson \ --libexecdir=%{_libexecdir}/%{name} %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} %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 %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.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 %{_datadir}/gnome-shell/ %{_mandir}/man?/gnome-shell.* %dir %{_datadir}/xdg-desktop-portal %dir %{_datadir}/xdg-desktop-portal/portals %{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal %files devel %defattr(-,root,root) %{_bindir}/gnome-shell-extension-tool %{_bindir}/gnome-shell-perf-tool #dir %%{_datadir}/gtk-doc/html #dir %%{_datadir}/gtk-doc/html/st #dir %%{_datadir}/gtk-doc/html/shell #{_datadir}/gtk-doc/html/st/ #{_datadir}/gtk-doc/html/shell/ %files browser-plugin %defattr(-,root,root) %doc browser-plugin/README #%{_libdir}/browser-plugins/libgnome-shell-browser-plugin.* %dir %{_libdir}/mozilla/plugins/ %dir %{_libdir}/mozilla %{_libdir}/mozilla/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