Blob Blame History Raw
%global pkg_prefix gnome-shell-extension
%global major_version %%(cut -d "." -f 1-2 <<<%{version})
# Minimum GNOME Shell version supported
%global min_gs_version %{version}


Name:           gnome-shell-extensions
Version:        3.6.2
Release:        1%{?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
# Using git archive since upstream doesn't publish tarballs on ftp.gnome.org
# anymore
# $ git clone git://git.gnome.org/gnome-shell-extensions/
# $ cd gnome-shell-extensions/
# $ git archive --format=tar --prefix=%{name}-%{version}/ %{version} | xz > ../%{name}-%{version}.tar.xz
Source0:        %{name}-%{version}.tar.xz

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
  * dock
  * drive-menu
  * native-window-placement
  * places-menu
  * systemMonitor
  * user-theme
  * windowsNavigator
  * workspace-indicator
  * xrandr-indicator
# TODO: uncomment when enabling gajim
#  * gajim


%package -n %{pkg_prefix}-common
Summary:        Files common to GNOME Shell Extensions
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       gnome-shell >= %{min_gs_version}

%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 %{pkg_prefix}-alternate-tab
Summary:        Classic Alt+Tab behavior. Window based instead of app based
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-alternate-tab
Lets you use classic Alt+Tab (window-based instead of app-based) in GNOME Shell.  
GNOME Shell groups multiple instances of the same application together. 
This extension disables grouping.  


%package -n %{pkg_prefix}-alternative-status-menu
Summary:        For those who want a power off item visible at all the time
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-alternative-status-menu
For those who want a power off item visible at all the time, replaces 
GNOME Shell status menu with one featuring separate Suspend and Power Off. 
Adds the ability to hibernate as well.


%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
Add a GNOME 2.x style menu for applications.


%package -n %{pkg_prefix}-auto-move-windows
Summary:        Assign specific workspaces to applications
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-auto-move-windows
Lets you manage your workspaces more easily, assigning a specific workspace to
each application as soon as it creates a window, in a manner configurable with a
GSettings key.


%package -n %{pkg_prefix}-dock
Summary:        Shows a dock-style task switcher permanently
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-dock
Shows a dock-style task switcher on the right side of the screen permanently.


%package -n %{pkg_prefix}-drive-menu
Summary:        Disk device manager in the system status area
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-drive-menu
Adds a menu in the system status area that tracks removable disk devices
attached and offers to browse them and eject/unmount them.


# TODO: uncomment when enabling gajim
# %package -n %{pkg_prefix}-gajim
# Summary:        Gajim IM integration
# Group:          User Interface/Desktops
# License:        GPLv2+
# Requires:       %{pkg_prefix}-common = %{version}-%{release}
# Requires:       gajim

# %description  -n %{pkg_prefix}-gajim
# Display Gajim incoming chats as notifications in the Shell message tray.


%package -n %{pkg_prefix}-native-window-placement
Summary:        Arrange windows in overview in a more native way
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description  -n %{pkg_prefix}-native-window-placement
This extension employs an algorithm (taken from KDE) for layouting the
thumbnails in the overview that more closely reflects the positions and relative
sizes of the actual windows, instead of using a fixed grid.


%package -n %{pkg_prefix}-places-menu
Summary:        Places menu indicator in the system status area
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-places-menu
Adds a menu in the system status area that resembles the Places menu from
GNOME 2.x


%package -n %{pkg_prefix}-systemMonitor
Summary:        Monitor your system status
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
Monitor your system status


%package -n %{pkg_prefix}-user-theme
Summary:        Lets the user select a custom theme for the shell
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-user-theme
Lets the user select a custom theme for the Gnome shell. It will allow you to 
apply a style from /.themes/[themeName]/gnome-shell/gnome-shell.css


%package -n %{pkg_prefix}-windowsNavigator
Summary:        Keyboard selection of windows and work-spaces in overlay mode
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-windowsNavigator
Allow keyboard selection of windows and work-spaces in overlay mode in 
GNOME Shell.  Switch to overview mode (press the windows or alt+f1 key) and 
press the alt key to show numbers over windows.  Press any number to switch
to the corresponding window.


%package -n %{pkg_prefix}-workspace-indicator
Summary:        Workspace Indicator
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description -n %{pkg_prefix}-workspace-indicator
Put an indicator on the panel signaling in which workspace you are, and give you
the possibility of switching to another one.


%package -n %{pkg_prefix}-xrandr-indicator
Summary:        Monitor status indicator
Group:          User Interface/Desktops
License:        GPLv2+
Requires:       %{pkg_prefix}-common = %{version}-%{release}

%description  -n %{pkg_prefix}-xrandr-indicator
This extension adds a systems status menu for rotating monitors
(overrides what is currently provided by gnome-settings-daemon.


%prep
%setup -q


%build
# since we build from a git checkout
[ -x autogen.sh ] && NOCONFIGURE=1 ./autogen.sh 

# TODO: add gajim to the list when enabling it
%configure  --enable-extensions="alternate-tab alternative-status-menu apps-menu auto-move-windows dock drive-menu native-window-placement places-menu systemMonitor user-theme windowsNavigator workspace-indicator xrandr-indicator"
make %{?_smp_mflags}


%install
make install DESTDIR=$RPM_BUILD_ROOT

%find_lang %{name}


%files -n %{pkg_prefix}-common -f %{name}.lang
%doc COPYING NEWS README
%dir %{_datadir}/gnome-shell/extensions/


%files -n %{pkg_prefix}-alternate-tab
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.alternate-tab.gschema.xml
%{_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}-dock
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.dock.gschema.xml
%{_datadir}/gnome-shell/extensions/dock*


%files -n %{pkg_prefix}-drive-menu
%{_datadir}/gnome-shell/extensions/drive-menu*


# TODO: uncomment when enabling gajim
# %files -n %{pkg_prefix}-gajim
# %{_datadir}/gnome-shell/extensions/gajim*


%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}-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 %{pkg_prefix}-alternate-tab
if [ $1 -eq 0 ]; then
  /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || :
fi

%posttrans -n %{pkg_prefix}-alternate-tab
/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}-dock
if [ $1 -eq 0 ]; then
  /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &>/dev/null || :
fi

%posttrans -n %{pkg_prefix}-dock
/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 || :


%changelog
* Sun Dec 30 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.6.2-1
- Update to 3.6.2

* Tue Oct 30 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.6.1-1
- Update to 3.6.1

* Tue Oct 02 2012 Mohamed El Morabity <melmorabity@fedorapeople.org> - 3.6.0-1
- Update to 3.6.0

* Thu Sep 06 2012 Mohamed El Morabity <melmorabity@fedorapeople.org> - 3.5.91-1
- Update to 3.5.91

* Wed Aug 29 2012 Mohamed El Morabity <melmorabity@fedorapeople.org> - 3.5.90-1
- Update to 3.5.90

* Sat Aug 11 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.5.5-1
- Update to 3.5.5

* Sun Jul 22 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.5.4-1
- Update to 3.5.4

* Wed Jul 18 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.5.2-1
- Update to 3.5.2
- Drop useless Provides/Obsoletes

* Sat Mar 24 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.4.0-1
- Update to 3.4.0
- Minor spec fixes

* Sat Mar 24 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.3.92-1
- Update to 3.3.92

* Tue Feb 28 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.3.90-1
- Update to 3.3.90

* Thu Feb 16 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.3.5-1
- Update to 3.3.5
- Spec cleanup

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Wed Nov 30 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.3.2-1
- Update to 3.3.2

* Wed Nov 30 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 3.2.1-1
- Update to 3.2.1
- Fix alternative-status-menu extension crash when login

* Wed Nov 09 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 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 <melmorabity@fedoraproject.org> - 3.2.0-1
- Update to 3.2.0

* Mon Sep 26 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 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 <melmorabity@fedorapeople.org> - 3.1.91-2
- Enable xrandr-indicator and workspace-indicator extensions

* Mon Sep 12 2011 Michel Salim <salimma@fedoraproject.org> - 3.1.91-1
- Update to 3.1.91
- add more documentation

* Thu Sep  1 2011 Michel Salim <salimma@fedoraproject.org> - 3.1.4-3.20110830git6b5e3a3e
- Update to git snapshot, for gnome-shell 3.1.90

* Sun Aug 21 2011 Michel Salim <salimma@fedoraproject.org> - 3.1.4-2
- Enable apps-menu extension
- Spec cleanup

* Sun Aug 21 2011 Michel Salim <salimma@fedoraproject.org> - 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 <venemo@fedoraproject.org> - 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 <melmorabity@fedoraproject.org> - 3.0.1-3.03660fgit
- Update to a newer git snapshot
- Enable native-window-placement extension

* Fri May 06 2011 Rahul Sundaram <sundaram@fedoraproject.org> - 3.0.1-2b20cbagit
- Fix description 

* Thu May 5 2011 Elad Alfassa <elad@fedoraproject.org> - 3.0.1-1.b20cbagit
- Update to a newer git snapshot
- Enabled the places-menu extension

* Tue Apr 26 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 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 <melmorabity@fedoraproject.org> - 3.0.0-5.6d56cfgit
- Enable auto-move-windows extension

* Sun Apr 11 2011 Rahul Sundaram <sundaram@fedoraproject.org>  - 3.0.0-4.6d56cfgit
- Add glib2-devel as build requires

* Sun Apr 11 2011 Rahul Sundaram <sundaram@fedoraproject.org>  - 3.0.0-3.6d56cfgit
- Tweak description
- Fix typo in configure

* Sun Apr 11 2011 Rahul Sundaram <sundaram@fedoraproject.org>  - 3.0.0-2.6d56cfgit
- Added the user-theme extension
- Patch from Timur Kristóf <venemo@msn.com>

* Fri Apr 08 2011 Rahul Sundaram <sundaram@fedoraproject.org> - 3.0.0-1.6d56cfgit
- Make sure configure doesn't get called twice

* Fri Apr 08 2011 Rahul Sundaram <sundaram@fedoraproject.org> - 3.0.0-0.6d56cfgit
- Initial build