%global _internal_version 5ab432d %{?filter_setup: %filter_from_provides /^libcinnamon.so/d; %filter_from_requires /^libcinnamon.so/d; %filter_setup } Name: cinnamon Version: 1.6.7 Release: %mkrel 1 Summary: Window management and application launching for GNOME Group: Graphical desktop/GNOME # cinnamon-menu-editor is LGPLv2+ License: GPLv2+ and LGPLv2+ 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}.tar.gz Source5: 10cinnamon Source6: 11cinnamon2d # Fix menu structure Patch0: cinnamon-1.4.1_menu.patch Patch1: cinnamon-1.5.0_datetime_setting.patch # Replace mint favorites with fedora gnome-shell defaults Patch2: cinnamon-1.4.1_f17_favourite-apps-firefox.patch Patch3: fedora_icon.patch Patch4: nemo.patch Patch5: cinnamon.css.patch Patch6: cinnamon-rm-thread-init.patch # upstream patches and pending pulls %global clutter_version 1.7.5 %global gobject_introspection_version 0.10.1 %global muffin_version 1.1.0 %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: libGConf2-devel BuildRequires: gnome-menus-devel >= 3.1.5-2.fc16 BuildRequires: gnome-desktop3-devel BuildRequires: gobject-introspection >= %{gobject_introspection_version} BuildRequires: pkgconfig(json-glib-1.0) >= %{json_glib_version} BuildRequires: upower-devel BuildRequires: pkgconfig(libnm-glib) BuildRequires: polkit-1-devel BuildRequires: libgudev-devel # for screencast recorder functionality BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: gtk+3-devel BuildRequires: intltool BuildRequires: libcanberra-devel BuildRequires: libcroco-devel BuildRequires: libgnome-keyring-devel BuildRequires: libsoup-devel BuildRequires: pkgconfig(libnm-glib-vpn) # for barriers BuildRequires: libxfixes-devel >= 5.0 # used in unused BigThemeImage BuildRequires: librsvg2-devel BuildRequires: muffin-devel >= %{muffin_version} BuildRequires: libpulseaudio-devel %ifnarch s390 s390x BuildRequires: gnome-bluetooth-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 # needed for on-screen keyboard Requires: caribou%{?_isa} # needed for settings Requires: python-gobject Requires: dbus-python Requires: nautilus Requires: python-lxml Requires: gnome-python-gconf Requires: python-imaging # needed for cinnamon-menu # https://bugzilla.redhat.com/show_bug.cgi?id=872694 Requires: gnome-panel %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 # use nautilus instead of nemo %patch4 -p1 %patch5 -p1 %patch6 -p1 # upstream patches and pending pulls # 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 \ js/ui/panel.js cinnamon.pot # 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 sed -i -e 's@-OOt@-t@g' files%{_bindir}/cinnamon-menu-editor sed -i -e 's@/usr/lib/gnome-session@%{_libdir}@g' files%{_datadir}/gnome-session/sessions/cinnamon.session %{__mkdir_p} files%{_sysconfdir}/X11/wmsession.d install -pm 644 %SOURCE5 %SOURCE6 files%{_sysconfdir}/X11/wmsession.d # 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 rm -f configure rm -rf debian/ NOCONFIGURE=1 ./autogen.sh %build export CFLAGS="$RPM_OPT_FLAGS -Wno-error=deprecated-declarations" %configure2_5x --disable-static --enable-compile-warnings=yes %make V=1 %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/* %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-cinnamon %{_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 %{_sysconfdir}/X11/wmsession.d/*cinnamon* %{_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}/applications/cinnamon-add-panel-launcher.desktop %{_datadir}/applications/cinnamon-menu-editor.desktop %{_datadir}/xsessions/cinnamon*.desktop %{_datadir}/gnome-session/sessions/cinnamon*.session %{_datadir}/cinnamon/ %{_datadir}/cinnamon-menu-editor/ %{_datadir}/cinnamon-settings/ %{_datadir}/dbus-1/services/org.Cinnamon.HotplugSniffer.service %{_libdir}/cinnamon/ %{_libexecdir}/cinnamon/cinnamon-perf-helper %{_libexecdir}/cinnamon/cinnamon-hotplug-sniffer %{_mandir}/man1/*.1.*