gnome-shell-extensions/gnome-shell-extensions.spec
2011-05-29 16:05:34 +02:00

305 lines
10 KiB
RPMSpec

%global commit g63dd27c
Name: gnome-shell-extensions
Version: 3.0.2
Release: 1.%{commit}git%{?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 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
# since we build from a git checkout
BuildRequires: gnome-common
BuildRequires: intltool
BuildRequires: glib2-devel
# TODO: uncomment when enabling systemMonitor
#BuildRequires: pkgconfig(libgtop-2.0)
Requires: gnome-shell >= 3.0.1
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
* dock
* windowsNavigator
* user-theme
* auto-move-windows
* drive-menu
* places-menu
* native-window-placement
# TODO: uncomment when enabling systemMonitor
# * systemMonitor
%package common
Summary: Files common to GNOME Shell Extensions
Group: User Interface/Desktops
License: GPLv2+
%description 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 alternate-tab
Summary: Classic Alt+Tab behavior. Window based instead of app based
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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 alternative-status-menu
Summary: For those who want a power off item visible at all the time
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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 dock
Summary: Shows a dock-style task switcher permanently
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description dock
Shows a dock-style task switcher on the right side of the screen permanently.
%package windowsNavigator
Summary: Keyboard selection of windows and work-spaces in overlay mode
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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 user-theme
Summary: Lets the user select a custom theme for the shell
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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 auto-move-windows
Summary: Assign specific workspaces to applications
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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 drive-menu
Summary: Disk device manager in the system status area
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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.
%package places-menu
Summary: Places menu indicator in the system status area
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description places-menu
Adds a menu in the system status area that resembles the Places menu from
GNOME 2.x
%package native-window-placement
Summary: Arrange windows in overview in a more native way
Group: User Interface/Desktops
License: GPLv2+
Requires: %{name}-common = %{version}-%{release}
%description 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.
# TODO: uncomment when enabling systemMonitor
#%package systemMonitor
#Summary: Monitor your system status
#Group: User Interface/Desktops
#License: GPLv2+
#Requires: %{name}-common = %{version}-%{release}
#
#%description systemMonitor
#Monitor your system status
%prep
%setup -q -n gnome-shell-extensions
# Main.panel._userMenu renamed to Main.panel._statusmenu in GS 3.0.1; fix sent
# to the alternative-status-menu extension author
sed -i "s|Main\.panel\._userMenu|Main.panel._statusmenu|g" extensions/alternative-status-menu/extension.js
# The configure.ac still thinks that 3.0.1 is the newest version; changing it to 3.0 will make it work
# with any 3.0.x release
sed -i "s|3.0.1|3.0|g" configure.ac
%build
# since we build from a git checkout
[ -x autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
# TODO: once libgtop2 >= 2.28.4 is available, enable systemMonitor extension
# TODO: once gjs >= 0.7.15 is available, enable xrand-indicator extension
%configure --enable-extensions="alternate-tab alternative-status-menu dock windowsNavigator user-theme auto-move-windows drive-menu places-menu native-window-placement"
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang %{name}
%files common -f %{name}.lang
%defattr(-,root,root,-)
%doc README
%dir %{_datadir}/gnome-shell/extensions/
%files alternate-tab
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/alternate-tab*
%files alternative-status-menu
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/alternative-status-menu*
%files dock
%defattr(-,root,root,-)
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.dock.gschema.xml
%{_datadir}/gnome-shell/extensions/dock*
%files windowsNavigator
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/windowsNavigator*
%files 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 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 drive-menu
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/drive-menu*
%files places-menu
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/places-menu*
%files places-menu
%defattr(-,root,root,-)
%{_datadir}/gnome-shell/extensions/places-menu*
%files 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 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*
# TODO: uncomment when enabling systemMonitor
#%files systemMonitor
#%defattr(-,root,root,-)
#%{_datadir}/gnome-shell/extensions/systemMonitor*
%posttrans user-theme
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :
%postun user-theme
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%posttrans auto-move-windows
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :
%postun auto-move-windows
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%posttrans native-window-placement
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :
%postun native-window-placement
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%posttrans dock
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas || :
%postun dock
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%changelog
* 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