Blob Blame History Raw
%global        _internel_version  08ffc65

Name:          muffin
Version:       1.0.2
Release:       2%{?dist}
Summary:       Window and compositing manager based on Clutter

Group:         User Interface/Desktops
License:       GPLv2+
URL:           https://github.com/linuxmint/muffin
# To generate tarball
# wget https://github.com/linuxmint/muffin/tarball/1.0.2 -O muffin-1.0.2.tar.gz
Source0:       %{name}-%{version}.tar.gz

BuildRequires: clutter-devel >= 1.5.8
BuildRequires: pango-devel
BuildRequires: startup-notification-devel
BuildRequires: gtk3-devel >= 2.99.0
BuildRequires: pkgconfig
BuildRequires: GConf2-devel
BuildRequires: gobject-introspection-devel
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXdamage-devel
BuildRequires: libXext-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXcursor-devel
BuildRequires: libXcomposite-devel
BuildRequires: zenity
BuildRequires: gnome-doc-utils
BuildRequires: desktop-file-utils
# Bootstrap requirements
BuildRequires: gtk-doc gnome-common intltool
BuildRequires: libcanberra-devel

Requires: control-center-filesystem
Requires: startup-notification
Requires: GConf2
Requires: dbus-x11
Requires: zenity

%description
Muffin is a window and compositing manager that displays and manages
your desktop via OpenGL. Muffin combines a sophisticated display engine
using the Clutter toolkit with solid window-management logic inherited
from the Metacity window manager.

While Muffin can be used stand-alone, it is primarily intended to be
used as the display core of a larger system such as Cinnamon. 
For this reason, Muffin is very extensible via plugins, which
are used both to add fancy visual effects and to rework the window
management behaviors to meet the needs of the environment.

%package devel
Summary: Development package for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig

%description devel
Header files and libraries for developing Muffin plugins. Also includes
utilities for testing Metacity/Muffin themes.

%prep
%setup -q -n linuxmint-%{name}-%{_internel_version}

%build
NOCONFIGURE=1 autoreconf -fi
%configure --disable-static --with-gtk=3.0

SHOULD_HAVE_DEFINED="HAVE_SM HAVE_XINERAMA HAVE_XFREE_XINERAMA HAVE_SHAPE HAVE_RANDR HAVE_STARTUP_NOTIFICATION HAVE_COMPOSITE_EXTENSION"

for I in $SHOULD_HAVE_DEFINED; do
  if ! grep -q "define $I" config.h; then
    echo "$I was not defined in config.h"
    grep "$I" config.h
    exit 1
  else
    echo "$I was defined as it should have been"
    grep "$I" config.h
  fi
done

make %{?_smp_mflags} V=1

%install
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
make install DESTDIR=%{buildroot}
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL

#Remove libtool archives.
rm -rf %{buildroot}/%{_libdir}/*.la

%find_lang %{name}

# Muffin contains a .desktop file so we just need to validate it
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop

%pre
%gconf_schema_prepare muffin

%preun
%gconf_schema_remove muffin

%post
/sbin/ldconfig
%gconf_schema_upgrade muffin

%postun -p /sbin/ldconfig

%files -f %{name}.lang
%doc README AUTHORS COPYING NEWS HACKING doc/theme-format.txt
%doc %{_mandir}/man1/muffin.1.gz
%doc %{_mandir}/man1/muffin-message.1.gz
%{_bindir}/muffin
%{_bindir}/muffin-message
%{_datadir}/applications/*.desktop
%{_datadir}/gnome/wm-properties/muffin-wm.desktop
%config %{_sysconfdir}/gconf/schemas/muffin.schemas
%{_datadir}/muffin
%{_libdir}/libmuffin.so.*
%dir %{_libdir}/muffin/
%{_libdir}/muffin/Meta-3.0.typelib
%{_libdir}/muffin/plugins/

%files devel
%{_bindir}/muffin-theme-viewer
%{_bindir}/muffin-window-demo
%{_includedir}/muffin/
%{_libdir}/libmuffin.so
%{_libdir}/muffin/Meta-3.0.gir
%{_libdir}/pkgconfig/*
%doc %{_mandir}/man1/muffin-theme-viewer.1.*
%doc %{_mandir}/man1/muffin-window-demo.1.*

%changelog
* Tue Aug 14 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.0.2-2
- move gir file to devel
- remove .gz extension from the man files

* Tue Mar 13 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.0.2-1
- update to 1.0.2

* Thu Feb 17 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.0.1-1
- update version to 1.0.1

* Thu Feb 02 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-2
- make review changes

* Wed Jan 04 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-1
- initial package based on fedora mutter srpm