%global _internal_version af1653f %{?filter_setup: %filter_from_provides /^libcinnamon.so/d; %filter_from_requires /^libcinnamon.so/d; %filter_setup } Name: cinnamon Version: 1.4.0 Release: 8.UP1%{?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/1.4-UP1 -O cinnamon-1.4.0.UP1.tar.gz Source0: http://leigh123linux.fedorapeople.org/pub/cinnamon/source/cinnamon-%{version}.UP1.tar.gz Source1: cinnamon.desktop Source2: cinnamon.session Source3: menu.png # Fix menu structure Patch0: cinnamon-1.4.0_menu.patch # Replace mint favorites with fedora gnome-shell defaults Patch1: cinnamon-1.4.0_favourite-apps-firefox.patch Patch2: cinnamon-1.4.0_windowAttention.patch Patch3: cinnamon-1.4.0_f16_powerapplet.patch # https://github.com/linuxmint/Cinnamon/pull/929 Patch4: cinnamon-menu.patch %global clutter_version 1.4.0 %global gobject_introspection_version 0.10.1 %global muffin_version 1.0.2 %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: evolution-data-server-devel >= %{eds_version} BuildRequires: gjs-devel >= 0.7.14-6 BuildRequires: glib2-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: GConf2 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} Requires(pre): GConf2 Requires(post): GConf2 Requires(preun): GConf2 # needed for on-screen keyboard Requires: caribou%{?_isa} # needed for settings Requires: pygobject2 Requires: dbus-python %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 %patch3 -p1 %patch4 -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 -pm 644 %SOURCE1 files%{_datadir}/xsessions/ install -pm 644 %SOURCE2 files%{_datadir}/gnome-session/sessions/ # replace menu image rm -f data/theme/menu.png install -p %SOURCE3 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" NOCONFIGURE=1 ./autogen.sh %configure --disable-static --enable-compile-warnings=minimum make V=1 %{?_smp_mflags} %install export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install DESTDIR=$RPM_BUILD_ROOT # 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-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} %pre %gconf_schema_prepare cinnamon %post %gconf_schema_upgrade cinnamon %preun %gconf_schema_remove cinnamon %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}/cinnamon-menu-editor %{_bindir}/cinnamon-settings %{_bindir}/cinnamon-extension-tool %{_sysconfdir}/gconf/schemas/cinnamon.schemas %{_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/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.CalendarServer.service %{_datadir}/dbus-1/services/org.Cinnamon.HotplugSniffer.service %{_libdir}/cinnamon/ %{_libexecdir}/cinnamon-calendar-server %{_libexecdir}/cinnamon-perf-helper %{_libexecdir}/cinnamon-hotplug-sniffer %{_mandir}/man1/%{name}.1.* %changelog * Fri Jul 20 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.4.0-8.UP1 - Reduce required muffin version to 1.0.2 * Fri Jul 20 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.4.0-7.UP1 - 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 - Correct spelling mistake - Add descriptions for patches - Add -p to install - Fix Source url * Tue May 28 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.4.0-6.UP1 - filter provides and requires * Mon May 28 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 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 <leigh123linux@fedoraproject.org> - 1.4.0-4.UP1 - add notification patch * Mon May 28 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 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 <leigh123linux@fedoraproject.org> - 1.4.0-2.UP1 - add configure option so it compiles on F17 - fix release tag * Sun May 27 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.4.0-1.UP1 - update to 1.4.0.UP1-1 * Wed Mar 14 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.4.0-2 - fix un-themed shutdown * Tue Mar 13 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.4.0-1 - update to 1.4.0 * Mon Feb 20 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.3.1-1 - update to 1.3.1 - remove static lib - remove mozilla plugin * Fri Feb 17 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.3.0-1 - update to 1.3.0 release * Mon Jan 22 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 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 <leigh123linux@fedoraproject.org> - 1.1.3-2 - add requires gnome-session - clean up spec file ready for review * Mon Jan 02 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.1.3-1 - update to version 1.1.3 * Sun Jan 01 2012 Leigh Scott <leigh123linux@fedoraproject.org> - 1.1.2-2 - fix firefox launchers * Fri Dec 30 2011 Leigh Scott <leigh123linux@fedoraproject.org> - 1.1.2-1 - first build based on gnome-shell srpm - add session files