Blob Blame History Raw
%global commit e102c0c6
%global checkout 20111001git%{commit}
%global pkg_prefix gnome-shell-extension

Name:           gnome-shell-extensions
Version:        3.1.91
Release:        3.%{checkout}%{?dist}
# Release:        3%{?dist}
Summary:        Modify and extend GNOME Shell functionality and behavior
Group:          User Interface/Desktops
License:        GPLv2+
URL:            http://live.gnome.org/GnomeShell/Extensions
# Using git archive since upstream hasn't created tarballs. Picking up a
# snapshot from master for a couple of minor but relevant changes
# git clone git://git.gnome.org/gnome-shell-extensions.git
# (cd gnome-shell-extensions && git archive --format=tar \
# --prefix=gnome-shell-extensions/ git_commithash | xz > \
# gnome-shell-extensions-<git_commithash_abbr>.tar.xz )
Source0:        gnome-shell-extensions-%{commit}.tar.xz
# Source0:        http://ftp.gnome.org/pub/gnome/sources/gnome-shell-extensions/3.2/%{name}-%{version}.tar.xz
# Fix workspace indicator extension with GNOME Shell 3.2
Patch0:         %{name}-3.1.91-workspace_indicator.patch

# Since we build from a git checkout
BuildRequires:  gnome-common
BuildRequires:  intltool
BuildRequires:  glib2-devel
BuildRequires:  pkgconfig(gnome-desktop-3.0)
BuildRequires:  pkgconfig(libgtop-2.0)
Requires:       gnome-shell >= 3.2
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 >= 3.2
Provides:       %{name}-common = %{version}-%{release}
Obsoletes:      %{name}-common < %{version}-%{release}

%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+
Provides:       %{name}-alternate-tab = %{version}-%{release}
Obsoletes:      %{name}-alternate-tab < %{version}-%{release}
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+
Provides:       %{name}-alternative-status-menu = %{version}-%{release}
Obsoletes:      %{name}-alternative-status-menu < %{version}-%{release}
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+
Provides:       %{name}-auto-move-windows = %{version}-%{release}
Obsoletes:      %{name}-auto-move-windows < %{version}-%{release}
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+
Provides:       %{name}-dock = %{version}-%{release}
Obsoletes:      %{name}-dock < %{version}-%{release}
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+
Provides:       %{name}-drive-menu = %{version}-%{release}
Obsoletes:      %{name}-drive-menu < %{version}-%{release}
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+
Provides:       %{name}-native-window-placement = %{version}-%{release}
Obsoletes:      %{name}-native-window-placement < %{version}-%{release}
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+
Provides:       %{name}-places-menu = %{version}-%{release}
Obsoletes:      %{name}-places-menu < %{version}-%{release}
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+
Provides:       %{name}-user-theme = %{version}-%{release}
Obsoletes:      %{name}-user-theme < %{version}-%{release}
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+
Provides:       %{name}-windowsNavigator = %{version}-%{release}
Obsoletes:      %{name}-windowsNavigator < %{version}-%{release}
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 -n %{name}
%patch0 -p1 -b .workspace_indicator

# make g-s-e work with g-s 3.2
sed -i "s|3.1.91|3.2|g" configure.ac


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

%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
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%find_lang %{name}


%files -n %{pkg_prefix}-common -f %{name}.lang
%defattr(-,root,root,-)
%doc COPYING HACKING NEWS README
%dir %{_datadir}/gnome-shell/extensions/


%files -n %{pkg_prefix}-alternate-tab
%defattr(-,root,root,-)
%{_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
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/alternative-status-menu*


%files -n %{pkg_prefix}-apps-menu
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/apps-menu*


%files -n %{pkg_prefix}-auto-move-windows
%defattr(-,root,root,-)
%{_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
%defattr(-,root,root,-)
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.dock.gschema.xml
%{_datadir}/gnome-shell/extensions/dock*


%files -n %{pkg_prefix}-drive-menu
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/drive-menu*


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


%files -n %{pkg_prefix}-native-window-placement
%defattr(-,root,root,-)
%{_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
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/places-menu*


%files -n %{pkg_prefix}-systemMonitor
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/systemMonitor*


%files -n %{pkg_prefix}-user-theme
%defattr(-,root,root,-)
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
%{_datadir}/gnome-shell/extensions/user-theme*


%files -n %{pkg_prefix}-windowsNavigator
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/windowsNavigator*


%files -n %{pkg_prefix}-workspace-indicator
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/workspace-indicator*


%files -n %{pkg_prefix}-xrandr-indicator
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/xrandr-indicator*


%posttrans -n %{pkg_prefix}-alternate-tab
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :

%postun -n %{pkg_prefix}-alternate-tab
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :


%posttrans -n %{pkg_prefix}-auto-move-windows
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :

%postun -n %{pkg_prefix}-auto-move-windows
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :


%posttrans -n %{pkg_prefix}-dock
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :

%postun -n %{pkg_prefix}-dock
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :


%posttrans -n %{pkg_prefix}-native-window-placement
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :

%postun -n %{pkg_prefix}-native-window-placement
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :


%posttrans -n %{pkg_prefix}-user-theme
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :

%postun -n %{pkg_prefix}-user-theme
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :


%changelog
* 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