%global major_version %%(cut -d "." -f 1-2 <<<%{version}) # Minimum GNOME Shell version supported %global min_gs_version %%(cut -d "." -f 1-3 <<<%{version}) %global pkg_prefix gnome-shell-extension Name: gnome-shell-extensions Version: 3.8.4 Release: 2%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior Group: User Interface/Desktops # The entire source code is GPLv2+ except lib/convenience.js which is BSD License: GPLv2+ and BSD URL: http://live.gnome.org/GnomeShell/Extensions Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{major_version}/%{name}-%{version}.tar.xz # upstream fix Patch0: places-volume.patch # RFE 3.10 backports Patch1: 0001-window-list-Add-context-menu.patch Patch2: 0002-apps-menu-Respect-user-s-favorite-apps-order.patch BuildRequires: desktop-file-utils # BuildRequires: gnome-common BuildRequires: intltool BuildRequires: pkgconfig(gnome-desktop-3.0) BuildRequires: pkgconfig(libgtop-2.0) Requires: gnome-shell >= %{min_gs_version} BuildArch: noarch %description GNOME Shell Extensions is a collection of extensions providing additional and optional functionality to GNOME Shell. Enabled extensions: * alternate-tab * alternative-status-menu * apps-menu * auto-move-windows * drive-menu * launch-new-instance * native-window-placement * places-menu * systemMonitor * user-theme * window-list * windowsNavigator * workspace-indicator * xrandr-indicator %package -n %{pkg_prefix}-common Summary: Files common to GNOME Shell Extensions Group: User Interface/Desktops License: GPLv2+ Requires: gnome-shell >= %{min_gs_version} # Dock extension no longer provides by GNOME Shell extensions >= 3.7.1 Obsoletes: %{pkg_prefix}-dock < 3.7.1 %description -n %{pkg_prefix}-common GNOME Shell Extensions is a collection of extensions providing additional and optional functionality to GNOME Shell. Common files and directories needed by extensions are provided here. %package -n gnome-classic-session Summary: GNOME "classic" mode session Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-alternate-tab = %{version}-%{release} Requires: %{pkg_prefix}-apps-menu = %{version}-%{release} Requires: %{pkg_prefix}-launch-new-instance = %{version}-%{release} Requires: %{pkg_prefix}-places-menu = %{version}-%{release} Requires: %{pkg_prefix}-window-list = %{version}-%{release} # Obsolete fallback mode components Obsoletes: gnome-applets < 1:3.5.92-5 %global gnome_applet_sensors_obsolete_ver 3.0.0-6 Obsoletes: gnome-applet-sensors < %{gnome_applet_sensors_obsolete_ver} Obsoletes: gnome-applet-sensors-devel < %{gnome_applet_sensors_obsolete_ver} %global gnome_panel_obsolete_ver 3.6.2-7 Obsoletes: gnome-panel < %{gnome_panel_obsolete_ver} Obsoletes: gnome-panel-devel < %{gnome_panel_obsolete_ver} Obsoletes: gnome-panel-libs < %{gnome_panel_obsolete_ver} # Obsoletes mini-extensions dropped in 3.8.3 Obsoletes: %{pkg_prefix}-default-min-max < 3.8.3 Obsoletes: %{pkg_prefix}-static-workspaces < 3.8.3 %description -n gnome-classic-session This package contains the required components for the GNOME Shell "classic" mode, which aims to provide a GNOME 2-like user interface. %package -n %{pkg_prefix}-alternate-tab Summary: Classic Alt+Tab behavior for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-alternate-tab This GNOME Shell extension changes Alt+Tab to be window-based instead of app-based. %package -n %{pkg_prefix}-alternative-status-menu Summary: Power Off Item in GNOME Shell status menu Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-alternative-status-menu This GNOME Shell extension adds a power off item in the status menu, and provides the ability to hibernate. %package -n %{pkg_prefix}-apps-menu Summary: Application menu for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-apps-menu This GNOME Shell extension adds a GNOME 2.x style menu for applications. %package -n %{pkg_prefix}-auto-move-windows Summary: Assign specific workspaces to applications in GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-auto-move-windows This GNOME Shell extension enables easy workspace management. A specific workspace can be assigned to each application as soon as it creates a window, in a manner configurable with a GSettings key. %package -n %{pkg_prefix}-drive-menu Summary: Drive status menu for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-drive-menu This GNOME Shell extension provides a panel status menu for accessing and unmounting removable devices. %package -n %{pkg_prefix}-launch-new-instance Summary: Always launch a new application instance for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-launch-new-instance This GNOME Shell extension modifies the behavior of clicking in the dash and app launcher to always launch a new application instance. %package -n %{pkg_prefix}-native-window-placement Summary: Native window placement for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-native-window-placement This GNOME Shell extension provides additional configurability for the window layout in the overview, including a mechanism similar to KDE4. %package -n %{pkg_prefix}-places-menu Summary: Places status menu for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-places-menu This GNOME Shell extension add a system status menu for quickly navigating places in the system. %package -n %{pkg_prefix}-systemMonitor Summary: System Monitor for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} # Should be pulled in by control-center, but in case someone tries for a # minimalist gnome-shell installation Requires: libgtop2 %description -n %{pkg_prefix}-systemMonitor This GNOME Shell extension is a message tray indicator for CPU and memory usage. %package -n %{pkg_prefix}-user-theme Summary: Support for custom themes in GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-user-theme This GNOME Shell extension enables loading a GNOME Shell theme from ~/.themes//gnome-shell/. %package -n %{pkg_prefix}-window-list Summary: Display a window list at the bottom of the screen in GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-window-list This GNOME Shell extension displays a window list at the bottom of the screen. %package -n %{pkg_prefix}-windowsNavigator Summary: Support for keyboard selection of windows and workspaces in GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-windowsNavigator This GNOME Shell extension enables keyboard selection of windows and workspaces in overlay mode, by pressing the Alt and Ctrl key respectively. %package -n %{pkg_prefix}-workspace-indicator Summary: Workspace indicator for GNOME Shell Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-workspace-indicator This GNOME Shell extension add a system status menu for quickly changing workspaces. %package -n %{pkg_prefix}-xrandr-indicator Summary: GNOME Shell status menu for rotating monitors Group: User Interface/Desktops License: GPLv2+ Requires: %{pkg_prefix}-common = %{version}-%{release} %description -n %{pkg_prefix}-xrandr-indicator This GNOME Shell extension adds a status menu to let rotate the laptop monitor and open display preferences quickly. %prep %setup -q %patch1 -p1 -b .window-list-context-menu %patch2 -p1 -b .app-menu-favorites %build # In case we build from a Git checkout [ -x autogen.sh ] && NOCONFIGURE=1 ./autogen.sh %configure --enable-extensions="all" make %{?_smp_mflags} %install make install DESTDIR=$RPM_BUILD_ROOT # Drop useless example extension rm -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*/ rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/gnome-shell-classic.desktop %find_lang %{name} %files -n %{pkg_prefix}-common -f %{name}.lang %doc COPYING NEWS README %dir %{_datadir}/gnome-shell/extensions/ %files -n gnome-classic-session %{_datadir}/applications/gnome-shell-classic.desktop %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml %{_datadir}/gnome-session/sessions/gnome-classic.session %{_datadir}/gnome-shell/modes/classic.json %{_datadir}/gnome-shell/theme/*.svg %{_datadir}/gnome-shell/theme/gnome-classic.css %{_datadir}/xsessions/gnome-classic.desktop %files -n %{pkg_prefix}-alternate-tab %{_datadir}/gnome-shell/extensions/alternate-tab*/ %files -n %{pkg_prefix}-alternative-status-menu %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.alternative-status-menu.gschema.xml %{_datadir}/gnome-shell/extensions/alternative-status-menu*/ %files -n %{pkg_prefix}-apps-menu %{_datadir}/gnome-shell/extensions/apps-menu*/ %files -n %{pkg_prefix}-auto-move-windows %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml %{_datadir}/gnome-shell/extensions/auto-move-windows*/ %files -n %{pkg_prefix}-drive-menu %{_datadir}/gnome-shell/extensions/drive-menu*/ %files -n %{pkg_prefix}-launch-new-instance %{_datadir}/gnome-shell/extensions/launch-new-instance*/ %files -n %{pkg_prefix}-native-window-placement %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml %{_datadir}/gnome-shell/extensions/native-window-placement*/ %files -n %{pkg_prefix}-places-menu %{_datadir}/gnome-shell/extensions/places-menu*/ %files -n %{pkg_prefix}-systemMonitor %{_datadir}/gnome-shell/extensions/systemMonitor*/ %files -n %{pkg_prefix}-user-theme %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml %{_datadir}/gnome-shell/extensions/user-theme*/ %files -n %{pkg_prefix}-window-list %{_datadir}/gnome-shell/extensions/window-list*/ %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml %files -n %{pkg_prefix}-windowsNavigator %{_datadir}/gnome-shell/extensions/windowsNavigator*/ %files -n %{pkg_prefix}-workspace-indicator %{_datadir}/gnome-shell/extensions/workspace-indicator*/ %files -n %{pkg_prefix}-xrandr-indicator %{_datadir}/gnome-shell/extensions/xrandr-indicator*/ %postun -n gnome-classic-session if [ $1 -eq 0 ]; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : fi %posttrans -n gnome-classic-session /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : %postun -n %{pkg_prefix}-alternative-status-menu if [ $1 -eq 0 ]; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : fi %posttrans -n %{pkg_prefix}-alternative-status-menu /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : %postun -n %{pkg_prefix}-auto-move-windows if [ $1 -eq 0 ]; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : fi %posttrans -n %{pkg_prefix}-auto-move-windows /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : %postun -n %{pkg_prefix}-native-window-placement if [ $1 -eq 0 ]; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : fi %posttrans -n %{pkg_prefix}-native-window-placement /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : %postun -n %{pkg_prefix}-user-theme if [ $1 -eq 0 ]; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : fi %posttrans -n %{pkg_prefix}-user-theme /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : %postun -n %{pkg_prefix}-window-list if [ $1 -eq 0 ]; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : fi %posttrans -n %{pkg_prefix}-window-list /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || : %changelog * Thu Oct 24 2013 Florian Müllner - 3.8.4-2 - Backport some classic-mode improvements from 3.10 cycle: - context menu in window list (close, minimize, maximize) - use same order for favorites in applications menu as in dash * Thu Sep 12 2013 Debarshi Ray - 3.8.4-1 - Update to 3.8.4 * Sun Aug 04 2013 Mohamed El Morabity - 3.8.3.1-1 - Update to 3.8.3.1 - Drop places-volume.patch patch, merged upstream * Mon Jun 17 2013 Matthias Clasen - 3.8.3-2 - Fix a problem notices in updates-testing with the places extension * Sun Jun 09 2013 Mohamed El Morabity - 3.8.3-1 - Update to 3.8.3 - Drop mini-extensions default-min-max and static-workspaces, no longer available (see https://bugzilla.gnome.org/show_bug.cgi?id=701717) * Tue May 14 2013 Mohamed El Morabity - 3.8.2-1 - Update to 3.8.2 - Drop useless dependency on libgtop for static-workspaces subpackage * Fri May 10 2013 Kalev Lember - 3.8.1-3 - Obsolete gnome-applet-sensors * Wed May 01 2013 Kalev Lember - 3.8.1-2 - Obsolete a few more fallback mode packages - Remove gnome-panel provides * Tue Apr 16 2013 Matthias Clasen - 3.8.1-1 - Update to 3.8.1 * Tue Mar 26 2013 Mohamed El Morabity - 3.8.0-1 - Update to 3.8.0 * Tue Mar 19 2013 Ray Strode 3.7.92-1 - Update to 3.7.92 * Tue Mar 05 2013 Mohamed El Morabity - 3.7.91-1 - Update to 3.7.91 * Sat Mar 02 2013 Adel Gadllah - 3.7.90-2 - Obsolete gnome-panel * Fri Feb 22 2013 Kalev Lember - 3.7.90-1 - Update to 3.7.90 * Thu Feb 07 2013 Kalev Lember - 3.7.5.1-2 - Depend on gnome-shell 3.7.5, there's no 3.7.5.1 * Thu Feb 07 2013 Mohamed El Morabity - 3.7.5.1-1 - Update to 3.7.5 - Enable new launch-new-instance and window-list extensions, and add them in the classic-mode extension set - Re-add places-menu in the classic-mode extension set * Wed Jan 16 2013 Mohamed El Morabity - 3.7.4-1 - Update to 3.7.4 - places-menu extension no longer part of the classic-mode extension set * Tue Jan 01 2013 Mohamed El Morabity - 3.7.3-1 - Update to 3.7.3 - Enable new default-min-max and static-workspaces extensions - Provide new subpackage gnome-classic-session - Revamp summaries and descriptions * Tue Oct 30 2012 Mohamed El Morabity - 3.7.1-1 - Update to 3.7.1 - Drop dock and gajim extensions, no longer provided * Tue Oct 30 2012 Mohamed El Morabity - 3.6.1-1 - Update to 3.6.1 * Tue Oct 02 2012 Mohamed El Morabity - 3.6.0-1 - Update to 3.6.0 * Thu Sep 06 2012 Mohamed El Morabity - 3.5.91-1 - Update to 3.5.91 * Wed Aug 29 2012 Mohamed El Morabity - 3.5.90-1 - Update to 3.5.90 * Sat Aug 11 2012 Mohamed El Morabity - 3.5.5-1 - Update to 3.5.5 * Sun Jul 22 2012 Mohamed El Morabity - 3.5.4-1 - Update to 3.5.4 * Wed Jul 18 2012 Mohamed El Morabity - 3.5.2-1 - Update to 3.5.2 - Drop useless Provides/Obsoletes * Sat Mar 24 2012 Mohamed El Morabity - 3.4.0-1 - Update to 3.4.0 - Minor spec fixes * Sat Mar 24 2012 Mohamed El Morabity - 3.3.92-1 - Update to 3.3.92 * Tue Feb 28 2012 Mohamed El Morabity - 3.3.90-1 - Update to 3.3.90 * Thu Feb 16 2012 Mohamed El Morabity - 3.3.5-1 - Update to 3.3.5 - Spec cleanup * Fri Jan 13 2012 Fedora Release Engineering - 3.3.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Nov 30 2011 Mohamed El Morabity - 3.3.2-1 - Update to 3.3.2 * Wed Nov 30 2011 Mohamed El Morabity - 3.2.1-1 - Update to 3.2.1 - Fix alternative-status-menu extension crash when login * Wed Nov 09 2011 Mohamed El Morabity - 3.2.0-2 - Fix dock and alternate-tab extensions - Fix GNOME Shell version to work with GS 3.2.1 * Mon Oct 03 2011 Mohamed El Morabity - 3.2.0-1 - Update to 3.2.0 * Mon Sep 26 2011 Mohamed El Morabity - 3.1.91-3.20111001gite102c0c6 - Update to a newer git snapshot - Fix GNOME Shell version to work with GS 3.2.0 - Add Requires on GS 3.2.0 or above to gnome-shell-common * Wed Sep 14 2011 Mohamed El Morabity - 3.1.91-2 - Enable xrandr-indicator and workspace-indicator extensions * Mon Sep 12 2011 Michel Salim - 3.1.91-1 - Update to 3.1.91 - add more documentation * Thu Sep 1 2011 Michel Salim - 3.1.4-3.20110830git6b5e3a3e - Update to git snapshot, for gnome-shell 3.1.90 * Sun Aug 21 2011 Michel Salim - 3.1.4-2 - Enable apps-menu extension - Spec cleanup * Sun Aug 21 2011 Michel Salim - 3.1.4-1 - Update to 3.1.4 - Enable systemMonitor extension - Prepare xrandr-indicator, commenting out since it does not seem to work yet - Rename subpackages in line with new guidelines (# 715367) - Sort subpackages in alphabetical order * Sat May 28 2011 Timur Kristóf - 3.0.2-1.g63dd27cgit - Update to a newer git snapshot - Fix RHBZ bug #708230 - Enabled systemMonitor extension, but commented out since the requirements are not available * Fri May 13 2011 Mohamed El Morabity - 3.0.1-3.03660fgit - Update to a newer git snapshot - Enable native-window-placement extension * Fri May 06 2011 Rahul Sundaram - 3.0.1-2b20cbagit - Fix description * Thu May 5 2011 Elad Alfassa - 3.0.1-1.b20cbagit - Update to a newer git snapshot - Enabled the places-menu extension * Tue Apr 26 2011 Mohamed El Morabity - 3.0.1-1.f016b9git - Update to a newer git snapshot (post-3.0.1 release) - Enable drive-menu extension * Mon Apr 11 2011 Mohamed El Morabity - 3.0.0-5.6d56cfgit - Enable auto-move-windows extension * Sun Apr 10 2011 Rahul Sundaram - 3.0.0-4.6d56cfgit - Add glib2-devel as build requires * Sun Apr 10 2011 Rahul Sundaram - 3.0.0-3.6d56cfgit - Tweak description - Fix typo in configure * Sun Apr 10 2011 Rahul Sundaram - 3.0.0-2.6d56cfgit - Added the user-theme extension - Patch from Timur Kristóf * Fri Apr 08 2011 Rahul Sundaram - 3.0.0-1.6d56cfgit - Make sure configure doesn't get called twice * Fri Apr 08 2011 Rahul Sundaram - 3.0.0-0.6d56cfgit - Initial build