%global _internal_version 7959517 Name: cinnamon Version: 1.4.1 Release: 0.7.git%{_internal_version}%{?dist} Summary: Window management and application launching for GNOME Group: User Interface/Desktops License: GPLv2+ URL: http://cinnamon.linuxmint.com # To generate tarball # wget https://github.com/linuxmint/Cinnamon/tarball/%%{_internal_version} -O cinnamon-%%{version}.git%%{_internal_version}.tar.gz Source0: http://leigh123linux.fedorapeople.org/pub/cinnamon/source/cinnamon-%{version}.git%{_internal_version}.tar.gz Source1: cinnamon.desktop Source2: cinnamon.session Source3: cinnamon2d.desktop Source4: cinnamon2d.session Source5: menu.png # Fix menu structure Patch0: cinnamon-1.4.1_menu.patch # I have reported this issue # https://github.com/linuxmint/Cinnamon/issues/515 Patch1: cinnamon-1.4.1_settings.patch # Replace mint favorites with fedora gnome-shell defaults Patch2: cinnamon-1.4.1_f17_favourite-apps-firefox.patch # upstream patches and pending pulls # https://github.com/linuxmint/Cinnamon/pull/851 Patch10: cinnamon-1.4.1_systray.patch # https://github.com/linuxmint/Cinnamon/pull/929 Patch11: cinnamon-menu.patch %global clutter_version 1.7.5 %global gobject_introspection_version 0.10.1 %global muffin_version 1.0.4 %global eds_version 2.91.6 %global json_glib_version 0.13.2 BuildRequires: clutter-devel >= %{clutter_version} BuildRequires: dbus-glib-devel BuildRequires: desktop-file-utils BuildRequires: gjs-devel >= 0.7.14-6 BuildRequires: glib2-devel BuildRequires: GConf2-devel BuildRequires: gnome-menus-devel >= 3.1.5-2.fc16 BuildRequires: gnome-desktop3-devel BuildRequires: gobject-introspection >= %{gobject_introspection_version} BuildRequires: json-glib-devel >= %{json_glib_version} BuildRequires: upower-devel BuildRequires: NetworkManager-glib-devel BuildRequires: polkit-devel BuildRequires: telepathy-glib-devel BuildRequires: telepathy-logger-devel >= 0.2.6 BuildRequires: libgudev1-devel # for screencast recorder functionality BuildRequires: gstreamer-devel BuildRequires: gtk3-devel BuildRequires: intltool BuildRequires: libcanberra-devel BuildRequires: libcroco-devel BuildRequires: folks-devel # for barriers BuildRequires: libXfixes-devel >= 5.0 # used in unused BigThemeImage BuildRequires: librsvg2-devel BuildRequires: muffin-devel >= %{muffin_version} BuildRequires: pulseaudio-libs-devel %ifnarch s390 s390x BuildRequires: gnome-bluetooth-libs-devel >= 2.91 BuildRequires: gnome-bluetooth >= 2.91 %endif # Bootstrap requirements BuildRequires: gtk-doc gnome-common Requires: gnome-menus%{?_isa} >= 3.0.0-2 # wrapper script uses to restart old GNOME session if run --replace # from the command line Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version} # needed for loading SVG's via gdk-pixbuf Requires: librsvg2%{?_isa} # needed as it is now split from Clutter Requires: json-glib%{?_isa} >= %{json_glib_version} # might be still be needed. Requires: muffin%{?_isa} >= %{muffin_version} Requires: upower%{?_isa} Requires: polkit%{?_isa} >= 0.100 # needed for session files Requires: gnome-session # needed for schemas Requires: at-spi2-atk%{?_isa} # needed for on-screen keyboard Requires: caribou%{?_isa} # needed for settings Requires: pygobject2 Requires: dbus-python Requires: dbus-x11 %description Cinnamon is a Linux desktop which provides advanced innovative features and a traditional user experience. The desktop layout is similar to Gnome 2. The underlying technology is forked from Gnome Shell. The emphasis is put on making users feel at home and providing them with an easy to use and comfortable desktop experience. %prep %setup -q -n linuxmint-Cinnamon-%{_internal_version} %patch0 -p1 %patch1 -p1 %patch2 -p1 # upstream patches and pending pulls %patch10 -p1 %patch11 -p1 # remove gschema rm -rf data/org.cinnamon.gschema.xml # make changes for settings move to /usr/share mv files/usr/lib/cinnamon-settings files%{_datadir} sed -i -e 's@/usr/lib@/usr/share@g' files%{_bindir}/cinnamon-settings \ files%{_datadir}/cinnamon-settings/cinnamon-settings.py # make changes for menu-editor move to /usr/share mv files/usr/lib/cinnamon-menu-editor files%{_datadir} rm -rf files/usr/lib sed -i -e 's@/usr/lib@/usr/share@g' files%{_bindir}/cinnamon-menu-editor \ files%{_datadir}/cinnamon-menu-editor/Alacarte/MainWindow.py # remove and replace the session files as they don't work with fedora (can't be bothered to patch it) rm -f files%{_bindir}/gnome-session-cinnamon \ files%{_datadir}/xsessions/cinnamon*.desktop \ files%{_datadir}/gnome-session/sessions/cinnamon*.session install -m 644 %SOURCE1 %SOURCE3 files%{_datadir}/xsessions/ install -m 644 %SOURCE2 %SOURCE4 files%{_datadir}/gnome-session/sessions/ # replace menu image rm -f data/theme/menu.png install %SOURCE5 data/theme/menu.png # files replaced with fedora files rm -f files%{_datadir}/desktop-directories/cinnamon-{menu-applications,utility,utility-accessibility,development,education,game,graphics,network,audio-video,office,system-tools,other}.directory # adjust font size sed -i -e 's,font-size: 9.5pt,font-size: 10pt,g' data/theme/cinnamon.css sed -i -e 's,font-size: 9pt,font-size: 10pt,g' data/theme/cinnamon.css sed -i -e 's,font-size: 8.5pt,font-size: 10pt,g' data/theme/cinnamon.css sed -i -e 's,font-size: 8pt,font-size: 10pt,g' data/theme/cinnamon.css sed -i -e 's,font-size: 7.5pt,font-size: 10pt,g' data/theme/cinnamon.css rm -f configure %build export CFLAGS="$RPM_OPT_FLAGS -Wno-error=deprecated-declarations" autoreconf -fi intltoolize -f #NOCONFIGURE=1 ./autogen.sh %configure --disable-static --enable-compile-warnings=minimum make V=1 %{?_smp_mflags} %install make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' # Remove .la file rm -rf $RPM_BUILD_ROOT/%{_libdir}/cinnamon/libcinnamon.la # Remove firefox plugin rm -rf $RPM_BUILD_ROOT/%{_libdir}/mozilla desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/cinnamon.desktop desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/cinnamon2d.desktop desktop-file-install \ --add-category="Utility" \ --remove-category="DesktopSettings" \ --remove-key="Encoding" \ --add-only-show-in="GNOME" \ --delete-original \ --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ $RPM_BUILD_ROOT%{_datadir}/applications/cinnamon-settings.desktop %find_lang %{name} %postun if [ $1 -eq 0 ] ; then /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : fi %posttrans /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %files -f %{name}.lang %doc COPYING README %{_bindir}/cinnamon %{_bindir}/cinnamon2d %{_bindir}/gnome-session-cinnamon2d %exclude %{_bindir}/cinnamon-launcher %{_bindir}/cinnamon-menu-editor %{_bindir}/cinnamon-settings %{_bindir}/cinnamon-extension-tool %{_sysconfdir}/xdg/menus/cinnamon-applications.menu %{_sysconfdir}/xdg/menus/cinnamon-settings.menu %{_datadir}/desktop-directories/cinnamon-*.directory %{_datadir}/glib-2.0/schemas/*.xml %{_datadir}/applications/cinnamon.desktop %{_datadir}/applications/cinnamon2d.desktop %{_datadir}/applications/cinnamon-settings.desktop %{_datadir}/xsessions/cinnamon*.desktop %{_datadir}/gnome-session/sessions/cinnamon*.session %dir %{_datadir}/cinnamon %{_datadir}/cinnamon/applets/ %{_datadir}/cinnamon/js/ %{_datadir}/cinnamon/search_providers/ %{_datadir}/cinnamon/shaders/ %{_datadir}/cinnamon/theme/ %{_datadir}/cinnamon-menu-editor/ %{_datadir}/cinnamon-settings/ %{_datadir}/dbus-1/services/org.Cinnamon.HotplugSniffer.service %{_libdir}/cinnamon/ %{_libexecdir}/cinnamon-perf-helper %{_libexecdir}/cinnamon-hotplug-sniffer %{_mandir}/man1/%{name}.1.* %changelog * Fri Jul 20 2012 Leigh Scott - 1.4.1-0.7.git7959517 - Remove %%define and rebase settings patch - Hardcode version for patches - Rearrange patches - Use install rather than cp - Fix scriptlets - Remove hardcoded file name from %%prep - Preserve timestamps in %%install - Remove extension from manpage in %%files - Add requires dbus-x11 * Fri Jul 20 2012 Leigh Scott - 1.4.1-0.6.git7959517 - Fix macro in comment rpmlint error * Thu Jul 19 2012 Leigh Scott - 1.4.1-0.5.git7959517 - Correct spelling mistake - Add descriptions for patches * Wed Jul 18 2012 Leigh Scott - 1.4.1-0.4.git7959517 - bump spec version to fix repo issue * Wed Jul 18 2012 Leigh Scott - 1.4.1-0.3.git7959517 - bump spec version to fix repo issue * Wed Jul 18 2012 Leigh Scott - 1.4.1-0.2.git7959517 - bump spec version to fix repo issue * Wed Jul 18 2012 Leigh Scott - 1.4.1-0.1.git7959517 - Update to the latest snapshot * Mon May 28 2012 Leigh Scott - 1.4.0-5.UP1 - Silence glib-compile-schemas scriplets - fix firefox patch for f17 - fix power applet for f16 * Mon May 28 2012 Leigh Scott - 1.4.0-4.UP1 - add notification patch * Mon May 28 2012 Leigh Scott - 1.4.0-3.UP1 - change %%define to %%global - fix files listed twice in %%files section - version patches - remove %%config from files (gnome-shell and gnome-menus doesn't use them for the equivalent files) - drop login theme patch * Sun May 27 2012 Leigh Scott - 1.4.0-2.UP1 - add configure option so it compiles on F17 - fix release tag * Sun May 27 2012 Leigh Scott - 1.4.0-1.UP1 - update to 1.4.0.UP1-1 * Wed Mar 14 2012 Leigh Scott - 1.4.0-2 - fix un-themed shutdown * Tue Mar 13 2012 Leigh Scott - 1.4.0-1 - update to 1.4.0 * Mon Feb 20 2012 Leigh Scott - 1.3.1-1 - update to 1.3.1 - remove static lib - remove mozilla plugin * Fri Feb 17 2012 Leigh Scott - 1.3.0-1 - update to 1.3.0 release * Mon Jan 22 2012 Leigh Scott - 1.2.0-1 - update to 1.2.0 release - add build requires muffin-devel - add Br libgudev1-devel - add only-show-in=GNOME to settings desktop file - make changes for source changes, applets, settings and session added - delete session files and use my own - move settings from lib to usr (it had no libs) - replace menu icon - change description * Wed Jan 04 2012 Leigh Scott - 1.1.3-2 - add requires gnome-session - clean up spec file ready for review * Mon Jan 02 2012 Leigh Scott - 1.1.3-1 - update to version 1.1.3 * Sun Jan 01 2012 Leigh Scott - 1.1.2-2 - fix firefox launchers * Fri Dec 30 2011 Leigh Scott - 1.1.2-1 - first build based on gnome-shell srpm - add session files