+#
+# Conditional build:
+%bcond_without apidocs # disable gtk-doc
+%bcond_with glitz # build with glitz backend
+%if "%{pld_release}" == "ac"
+%bcond_with xcb # XCB backend
+%else
+%bcond_without xcb # XCB backend
+%endif
+%bcond_with tests # perform tests (can fail due to out of memory)
+#
Summary: Cairo - multi-platform 2D graphics library
-Summary(pl): Cairo - wieloplatformowa biblioteka graficzna 2D
+Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D
Name: cairo
-Version: 0.1.13
+Version: 1.8.10
Release: 1
-License: BSD-like
+License: LGPL v2.1 or MPL v1.1
Group: Libraries
-Source0: http://cairographics.org/snapshots/%{name}-%{version}.tar.gz
-# Source0-md5: 23b099ebe971eeada8f6fdaef0f98f3b
+Source0: http://cairographics.org/releases/%{name}-%{version}.tar.gz
+# Source0-md5: b60a82f405f9400bbfdcf850b1728d25
+Patch0: %{name}-link.patch
URL: http://cairographics.org/
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: autoconf >= 2.58
+BuildRequires: automake >= 1:1.8
+BuildRequires: fontconfig-devel
+BuildRequires: freetype-devel >= 1:2.3.0
+%{?with_glitz:BuildRequires: glitz-devel >= 0.5.1}
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.6}
+BuildRequires: libpng-devel >= 2:1.4.0
BuildRequires: libtool
+BuildRequires: pixman-devel >= 0.12.0
BuildRequires: pkgconfig
-BuildRequires: libic-devel >= 0.1.3
-BuildRequires: slim >= 0.2.0
-BuildRequires: xft-devel
+BuildRequires: rpm >= 4.4.9-56
+%if %{with xcb}
+BuildRequires: libxcb-devel >= 0.9.92
+BuildRequires: xcb-util-devel >= 0.2
+%endif
+%if "%{pld_release}" == "ac"
+BuildRequires: xrender-devel >= 0.6
+%else
+BuildRequires: xorg-lib-libXrender-devel >= 0.6
+%endif
+BuildRequires: zlib-devel
+Requires: freetype >= 1:2.3.0
+%{?with_glitz:Requires: glitz >= 0.5.1}
+Requires: pixman >= 0.12.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
complete, the API is intended to support the complete imaging model of
PDF 1.4.
-Cairo relies on the Xc library for backend rendering. Xc provides an
-abstract interface for rendering to multiple target types. As of this
-writing, Xc allows Cairo to target X drawables as well as generic
-image buffers. Future backends such as PostScript, PDF, and perhaps
-OpenGL are currently being planned.
-
-%description -l pl
-Cairo obs³uguje oparty na wektorach rendering z antyaliasingiem dla X.
-¦cie¿ki sk³adaj± siê z odcinków i splajnów kubicznych, a renderowane
-mog± byæ z dowoln± grubo¶ci± i ró¿nymi stylami po³±czeñ i zakoñczeñ.
-Wszystkie kolory mog± byæ podane z opcjonaln± pó³przezroczysto¶ci±
-(podan± przez wspó³czynnik nieprzezroczysto¶ci lub alpha) i ³±czone
-przy u¿yciu rozszerzonego algorytmu mieszania Portera-Duffa, który
-mo¿na znale¼æ w rozszerzeniu X Render.
-
-Cairo eksportuje stanowe API renderuj±ce w duchu podobne do operatorów
-konstruowania ¶cie¿ek, tekstu i rysowania z PostScriptu (ze znacznym
-dodatkiem pó³przezroczysto¶ci w modelu obrazu). Kiedy API zostanie
-ukoñczone, ma obs³ugiwaæ pe³ny model obrazu z PDF w wersji 1.4.
-
-Cairo do backendowego renderowania wykorzystuje bibliotekê Xc. Xc
-dostarcza abstrakcyjny interfejs do renderowania na wiele rodzajów
-wyj¶æ. Aktualnie Xc pozwala Cairo tworzyæ obiekty X, a tak¿e ogólne
-bufory obrazu. W przysz³o¶ci planowane s± takie backendy jak
-PostScript, PDF i byæ mo¿e OpenGL.
+%description -l pl.UTF-8
+Cairo obsługuje oparty na wektorach rendering z antyaliasingiem dla X.
+Ścieżki składają się z odcinków i splajnów kubicznych, a renderowane
+mogą być z dowolną grubością i różnymi stylami połączeń i zakończeń.
+Wszystkie kolory mogą być podane z opcjonalną półprzezroczystością
+(podaną przez współczynnik nieprzezroczystości lub alpha) i łączone
+przy użyciu rozszerzonego algorytmu składania Portera-Duffa, który
+można znaleźć w rozszerzeniu X Render.
+
+Cairo eksportuje stanowe API renderujące w duchu podobne do operatorów
+konstruowania ścieżek, tekstu i rysowania z PostScriptu (ze znacznym
+dodatkiem półprzezroczystości w modelu obrazu). Kiedy API zostanie
+ukończone, ma obsługiwać pełny model obrazu z PDF w wersji 1.4.
%package devel
Summary: Development files for Cairo library
-Summary(pl): Pliki programistyczne biblioteki Cairo
+Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: libic-devel >= 0.1.1
-Requires: xft-devel
+Requires: fontconfig-devel
+Requires: freetype-devel >= 1:2.3.0
+%{?with_glitz:Requires: glitz-devel >= 0.5.1}
+Requires: libpng-devel >= 2:1.4.0
+%{?with_xcb:Requires: libxcb-devel >= 0.9.92}
+Requires: pixman-devel >= 0.12.0
+%{?with_xcb:Requires: xcb-util-devel >= 0.2}
+%if "%{pld_release}" == "ac"
+Requires: xrender-devel >= 0.6
+%else
+Requires: xorg-lib-libXrender-devel >= 0.6
+%endif
%description devel
Development files for Cairo library.
-%description devel -l pl
+%description devel -l pl.UTF-8
Pliki programistyczne biblioteki Cairo.
%package static
Summary: Static Cairo library
-Summary(pl): Statyczna biblioteka Cairo
+Summary(pl.UTF-8): Statyczna biblioteka Cairo
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
Static Cairo library.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna biblioteka Cairo.
+%package apidocs
+Summary: Cairo API documentation
+Summary(pl.UTF-8): Dokumentacja API Cairo
+Group: Documentation
+Requires: gtk-doc-common
+
+%description apidocs
+Cairo API documentation.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API Cairo.
+
%prep
%setup -q
+%patch0 -p1
%build
+%{?with_apidocs:%{__gtkdocize}}
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I build
%{__autoheader}
%{__autoconf}
%{__automake}
-%configure
+%configure \
+ --enable-freetype \
+ %{?with_glitz:--enable-glitz} \
+ %{?with_apidocs:--enable-gtk-doc} \
+ --enable-pdf=yes \
+ --enable-png \
+ --enable-ps \
+ %{?with_xcb:--enable-xcb} \
+ --with-html-dir=%{_gtkdocdir}
%{__make}
+%{?with_tests:%{__make} check}
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo}
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog README TODO
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+# COPYING contains only notes, not LGPL/MPL texts
+%doc AUTHORS COPYING ChangeLog NEWS README
+%attr(755,root,root) %{_libdir}/libcairo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcairo.so.2
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
-%{_includedir}/*
-%{_pkgconfigdir}/*.pc
+%attr(755,root,root) %{_libdir}/libcairo.so
+%{_libdir}/libcairo.la
+%{_includedir}/cairo
+%{_pkgconfigdir}/cairo.pc
+%{_pkgconfigdir}/cairo-ft.pc
+%{_pkgconfigdir}/cairo-pdf.pc
+%{_pkgconfigdir}/cairo-png.pc
+%{_pkgconfigdir}/cairo-ps.pc
+%{_pkgconfigdir}/cairo-svg.pc
+%{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc}
+%{_pkgconfigdir}/cairo-xlib.pc
+%{_pkgconfigdir}/cairo-xlib-xrender.pc
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libcairo.a
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/cairo
+%endif