+#
+# Conditional build:
+%bcond_without egl # EGL framebuffer backend
+%bcond_without wayland # Wayland backend
+%bcond_without evdev # evdev support for input events
+%bcond_with tslib # TSLib support for input events (outdated?)
+#
Summary: Library for rich GUIs
Summary(pl.UTF-8): Biblioteka do bogatych graficznych interfejsów użytkownika
Name: clutter
-Version: 1.4.0
+Version: 1.18.0
Release: 1
License: LGPL v2+
Group: Libraries
-Source0: http://www.clutter-project.org/sources/clutter/1.4/%{name}-%{version}.tar.bz2
-# Source0-md5: 329b6ac4e14b6f63b23297cfbb05af93
+Source0: http://ftp.gnome.org/pub/GNOME/sources/clutter/1.18/%{name}-%{version}.tar.xz
+# Source0-md5: bdd6426ab2ca4885164736aa49dcea0a
+Patch0: gtkdoc.patch
+Patch1: missing.patch
URL: http://www.clutter-project.org/
BuildRequires: OpenGL-GLX-devel
-BuildRequires: autoconf >= 2.59
-BuildRequires: automake >= 1:1.10
-BuildRequires: cairo-devel >= 1.6
+BuildRequires: atk-devel >= 1:2.5.3
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1:1.11
+BuildRequires: cairo-devel >= 1.10
+BuildRequires: cairo-gobject-devel >= 1.10
+BuildRequires: cogl-devel >= 1.18.0
+%{?with_wayland:BuildRequires: cogl-devel(wayland) >= 1.18.0}
BuildRequires: docbook-dtd412-xml
-BuildRequires: glib2-devel >= 1:2.16.0
-BuildRequires: gobject-introspection-devel >= 0.9.5
-BuildRequires: gtk+2-devel >= 1:2.0
-BuildRequires: gtk-doc >= 1.8
-BuildRequires: json-glib-devel >= 0.10.4-3
-BuildRequires: libtool
-BuildRequires: pango-devel >= 1:1.20
-BuildRequires: pkgconfig
+BuildRequires: gdk-pixbuf2-devel >= 2.0
+BuildRequires: gettext-devel >= 0.17
+BuildRequires: glib2-devel >= 1:2.37.3
+BuildRequires: gobject-introspection-devel >= 0.10.0
+BuildRequires: gtk+3-devel >= 3.4.0
+BuildRequires: gtk-doc >= 1.15
+BuildRequires: json-glib-devel >= 0.12.0
+%{?with_evdev:BuildRequires: libevdev-devel}
+BuildRequires: libinput-devel
+BuildRequires: libtool >= 2:2.2.6
+BuildRequires: libxslt-progs
+BuildRequires: pango-devel >= 1:1.30
+BuildRequires: pkgconfig >= 1:0.16
BuildRequires: python-modules
+BuildRequires: tar >= 1:1.22
+%{?with_tslib:BuildRequires: tslib-devel >= 1.1}
+%{?with_evdev:BuildRequires: udev-glib-devel}
BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXcomposite-devel >= 0.4
+BuildRequires: xorg-lib-libXdamage-devel
+BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXfixes-devel >= 4
+BuildRequires: xorg-lib-libXi-devel
+%if %{with evdev} || %{with wayland}
+BuildRequires: xorg-lib-libxkbcommon-devel
+%endif
+BuildRequires: xz
+# wayland-client wayland-cursor (for client), wayland-server (for compositor)
+%{?with_wayland:BuildRequires: wayland-devel}
+BuildRequires: xorg-lib-libxkbcommon-devel
+Requires: atk >= 1:2.5.3
+Requires: cairo-gobject >= 1.10
+Requires: cogl >= 1.18.0
+%{?with_wayland:Requires: cogl(wayland) >= 1.18.0}
+Requires: glib2 >= 1:2.37.3
+Requires: gtk+3 >= 3.4.0
+Requires: json-glib >= 0.12.0
+Requires: pango >= 1:1.30
+%{?with_evdev:Provides: clutter(evdev) = %{version}-%{release}}
Obsoletes: clutter-cairo < 1.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: OpenGL-GLX-devel
-Requires: glib2-devel >= 1:2.16
-Requires: gtk+2-devel >= 1:2.0
-Requires: json-glib-devel >= 0.8.0
+Requires: atk-devel >= 1:2.5.3
+Requires: cairo-gobject-devel >= 1.10
+Requires: cogl-devel >= 1.18.0
+%{?with_wayland:Requires: cogl-devel(wayland) >= 1.18.0}
+Requires: gdk-pixbuf2-devel >= 2.0
+Requires: glib2-devel >= 1:2.37.3
+Requires: gtk+3-devel >= 3.4.0
+Requires: json-glib-devel >= 0.12.0
+Requires: pango-devel >= 1:1.30
Requires: xorg-lib-libX11-devel
+Requires: xorg-lib-libXcomposite-devel >= 0.4
+Requires: xorg-lib-libXdamage-devel
+Requires: xorg-lib-libXext-devel
Requires: xorg-lib-libXfixes-devel >= 4
Obsoletes: clutter-cairo-devel < 1.0
+%{?with_evdev:Provides: clutter-devel(evdev) = %{version}-%{release}}
%description devel
Header files for clutter library.
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Obsoletes: clutter-cairo-static < 1.0
+%{?with_evdev:Provides: clutter-static(evdev) = %{version}-%{release}}
%description static
Static clutter library.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%build
%{__gtkdocize}
%{__automake}
%configure \
--disable-silent-rules \
- --with-json=system \
+ --enable-docs \
+ %{?with_egl:--enable-egl-backend} \
+ %{?with_evdev:--enable-evdev-input} \
+ --enable-gdk-backend \
--enable-gtk-doc \
--enable-static \
+ %{?with_tslib:--enable-tslib-input} \
+%if %{with wayland}
+ --enable-wayland-backend \
+ --enable-wayland-compositor \
+%endif
+ --enable-xinput \
--with-html-dir=%{_gtkdocdir}
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libclutter-1.0.la
+
+# move to %{_examplesdir} and package in -examples?
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/clutter-1.0/cookbook/examples
+
+%find_lang clutter-1.0
+
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files
+%files -f clutter-1.0.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README TODO
-%attr(755,root,root) %{_libdir}/libclutter-glx-1.0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclutter-glx-1.0.so.0
-%{_libdir}/girepository-1.0/*.typelib
+%doc ChangeLog NEWS README
+%attr(755,root,root) %{_libdir}/libclutter-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclutter-1.0.so.0
+%attr(755,root,root) %{_libdir}/libclutter-glx-1.0.so.0
+%{_libdir}/girepository-1.0/Cally-1.0.typelib
+%{_libdir}/girepository-1.0/Clutter-1.0.typelib
+%{_libdir}/girepository-1.0/ClutterGdk-1.0.typelib
+%{_libdir}/girepository-1.0/ClutterX11-1.0.typelib
%files devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libclutter-1.0.so
%attr(755,root,root) %{_libdir}/libclutter-glx-1.0.so
-%{_libdir}/libclutter-glx-1.0.la
%{_includedir}/clutter-1.0
-%{_datadir}/gir-1.0/*.gir
+%{_datadir}/gir-1.0/Cally-1.0.gir
+%{_datadir}/gir-1.0/Clutter-1.0.gir
+%{_datadir}/gir-1.0/ClutterGdk-1.0.gir
+%{_datadir}/gir-1.0/ClutterX11-1.0.gir
%{_pkgconfigdir}/cally-1.0.pc
%{_pkgconfigdir}/clutter-1.0.pc
+%{_pkgconfigdir}/clutter-cogl-1.0.pc
+%{_pkgconfigdir}/clutter-gdk-1.0.pc
%{_pkgconfigdir}/clutter-glx-1.0.pc
%{_pkgconfigdir}/clutter-x11-1.0.pc
-%{_pkgconfigdir}/cogl-1.0.pc
-%{_pkgconfigdir}/cogl-gl-1.0.pc
+%{_pkgconfigdir}/clutter-egl-1.0.pc
+%{_pkgconfigdir}/clutter-wayland-1.0.pc
+%{_pkgconfigdir}/clutter-wayland-compositor-1.0.pc
%files static
%defattr(644,root,root,755)
-%{_libdir}/libclutter-glx-1.0.a
+%{_libdir}/libclutter-1.0.a
%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/cally
%{_gtkdocdir}/clutter
-%{_gtkdocdir}/cogl
+%{_gtkdocdir}/clutter-cookbook