%global _internal_version 056cf22 %{?filter_setup: %filter_from_provides /^libcinnamon.so/d; %filter_from_requires /^libcinnamon.so/d; %filter_setup } Name: cinnamon Version: 1.8.2 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 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 #Patch6: cinnamon-rm-thread-init.patch # upstream patches and pending pulls #Patch7: cinnamon-muffin-api.patch #Patch8: cinnamon-menu-speedup.patch %global clutter_version 1.7.5 %global gobject_introspection_version 0.10.1 %global muffin_version 1.7.3 %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 # gnome-session version fixes location of helper app Requires: gnome-session >= 3.6.2-2.mga3 # 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 #Filter out private typelib. Muffin has an internal Meta #symbol that can conflict with mutter. This removes that #symbol from the RPM. %define _requires_exceptions typelib(Meta) %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 #%patch6 -p1 #%patch7 -p1 #%patch8 -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@%{_libexecdir}@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}/cinnamon-looking-glass %{_bindir}/cinnamon2d %{_bindir}/gnome-session-cinnamon %{_bindir}/gnome-session-cinnamon2d %{_bindir}/cinnamon-launcher %{_bindir}/cinnamon-menu-editor %{_bindir}/cinnamon-settings %{_bindir}/cinnamon-extension-tool %{_bindir}/cinnamon-screensaver-lock-dialog %{_sysconfdir}/xdg/menus/cinnamon-applications.menu %{_sysconfdir}/xdg/menus/cinnamon-applications-merged %{_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.*