+#
+# 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.6.16
+Version: 1.18.0
Release: 1
License: LGPL v2+
Group: Libraries
-Source0: http://source.clutter-project.org/sources/clutter/1.6/%{name}-%{version}.tar.bz2
-# Source0-md5: 9c7e9c5356d7e3405b756ce6a91c15f3
+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: atk-devel >= 1:1.17
+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: gdk-pixbuf2-devel >= 2.0
BuildRequires: gettext-devel >= 0.17
-BuildRequires: glib2-devel >= 1:2.26.0
-BuildRequires: gobject-introspection-devel >= 0.9.5
-BuildRequires: gtk-doc >= 1.13
-BuildRequires: json-glib-devel >= 0.12
+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.20
-BuildRequires: pkgconfig
+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
-Requires: atk >= 1:1.17
+%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: glib2 >= 1:2.26.0
-Requires: json-glib >= 0.12
-Requires: pango >= 1:1.20
+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: atk-devel >= 1:1.17
+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.26.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.20
+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.
%{__automake}
%configure \
--disable-silent-rules \
- --with-flavour=glx \
--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-glx-1.0.la
+%{__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
%files -f clutter-1.0.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README
-%attr(755,root,root) %{_libdir}/libclutter-glx-1.0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libclutter-glx-1.0.so.0
+%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
-%{_libdir}/girepository-1.0/Cogl-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
%{_includedir}/clutter-1.0
%{_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
-%{_datadir}/gir-1.0/Cogl-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}/clutter-cookbook
-%{_gtkdocdir}/cogl