#
# Conditional build:
%bcond_without apidocs # disable gtk-doc
-%bcond_with glitz # build with glitz backend
-%bcond_with xcb # enable XCB backend
+%bcond_without svg # disable SVG support (to boostrap librsvg)
+%bcond_with gl # enable OpenGL support
+%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)
-%bcond_without lcd # use own LCD filtering instead of freetype's
#
Summary: Cairo - multi-platform 2D graphics library
Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D
Name: cairo
-Version: 1.4.0
-Release: 1
+Version: 1.12.0
+Release: 2
License: LGPL v2.1 or MPL v1.1
Group: Libraries
Source0: http://cairographics.org/releases/%{name}-%{version}.tar.gz
-# Source0-md5: b0882df4621bcf5b69f024b9475f8d4e
+# Source0-md5: e6c85575ba7094f88b637bdfd835a751
Patch0: %{name}-link.patch
-Patch1: http://david.freetype.org/lcd/cairo-1.2.4-lcd-filter-1.patch
URL: http://cairographics.org/
-BuildRequires: autoconf >= 2.54
-BuildRequires: automake >= 1:1.7
-BuildRequires: fontconfig-devel
-%{?with_lcd:BuildRequires: freetype-devel >= 1:2.3.0}
-%{!?with_lcd:BuildRequires: freetype-devel >= 1:2.1.10}
-%{?with_glitz:BuildRequires: glitz-devel >= 0.5.1}
-%{?with_apidocs:BuildRequires: gtk-doc >= 1.3}
-BuildRequires: libpng-devel
-BuildRequires: libtool
-BuildRequires: pkgconfig
-%{?with_xcb:BuildRequires: libxcb-devel}
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake >= 1:1.9.6
+BuildRequires: binutils-devel
+BuildRequires: fontconfig-devel >= 2.2.95
+BuildRequires: freetype-devel >= 1:2.3.0
+BuildRequires: glib2-devel >= 1:2.0
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.6}
+BuildRequires: libpng-devel >= 2:1.4.0
+%{?with_svg:BuildRequires: librsvg-devel >= 2.15.0}
+BuildRequires: libspectre-devel >= 0.2.0
+BuildRequires: libtool >= 1.4
+BuildRequires: pixman-devel >= 0.22.0
+BuildRequires: pkgconfig >= 1:0.9
+%{?with_tests:BuildRequires: poppler-glib-devel >= 0.17.4}
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: sed >= 4.0
+%if %{with xcb}
+BuildRequires: libxcb-devel >= 1.6
+%endif
+%if "%{pld_release}" == "ac"
+BuildRequires: xrender-devel >= 0.6
+%else
+BuildRequires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
BuildRequires: xorg-lib-libXrender-devel >= 0.6
+%endif
BuildRequires: zlib-devel
-%{!?with_lcd:Requires: freetype >= 1:2.1.10}
-%{?with_lcd:Requires: freetype >= 1:2.3.0}
-%{?with_glitz:Requires: glitz >= 0.5.1}
+Requires: freetype >= 1:2.3.0
+%{?with_xcb:Requires: libxcb >= 1.6}
+Requires: pixman >= 0.22.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
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
+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
Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: fontconfig-devel
-Requires: freetype-devel >= 1:2.1.10
-%{?with_glitz:Requires: glitz-devel >= 0.5.1}
-Requires: libpng-devel
-%{?with_xcb:Requires: libxcb-devel}
+Requires: fontconfig-devel >= 2.2.95
+Requires: freetype-devel >= 1:2.3.0
+Requires: libpng-devel >= 2:1.4.0
+%{?with_xcb:Requires: libxcb-devel >= 1.6}
+Requires: pixman-devel >= 0.22.0
+%if "%{pld_release}" == "ac"
+Requires: xrender-devel >= 0.6
+%else
+Requires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
Requires: xorg-lib-libXrender-devel >= 0.6
+%endif
%description devel
Development files for Cairo library.
%description static -l pl.UTF-8
Statyczna biblioteka Cairo.
+%package gobject
+Summary: GObject functions library for Cairo graphics library
+Summary(pl.UTF-8): Biblioteka funkcji GObject dla biblioteki graficznej Cairo
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description gobject
+GObject functions library for Cairo graphics library.
+
+%description gobject -l pl.UTF-8
+Biblioteka funkcji GObject dla biblioteki graficznej Cairo.
+
+%package gobject-devel
+Summary: Header files for Cairo GObject library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Cairo GObject
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-gobject = %{version}-%{release}
+Requires: glib2-devel >= 1:2.0
+
+%description gobject-devel
+Header files for Cairo GObject library.
+
+%description gobject-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki Cairo GObject.
+
+%package gobject-static
+Summary: Static Cairo GObject library
+Summary(pl.UTF-8): Statyczna biblioteka Cairo GObject
+Group: Development/Libraries
+Requires: %{name}-gobject-devel = %{version}-%{release}
+
+%description gobject-static
+Static Cairo GObject library.
+
+%description gobject-static -l pl.UTF-8
+Statyczna biblioteka Cairo GObject.
+
+%package trace
+Summary: Cairo calls tracing utilities
+Summary(pl.UTF-8): Narzędzia do śledzenia wywołań Cairo
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Requires: binutils-libs >= 2.21.53
+
+%description trace
+Cairo calls tracing utilities.
+
+%description trace -l pl.UTF-8
+Narzędzia do śledzenia wywołań Cairo.
+
%package apidocs
Summary: Cairo API documentation
Summary(pl.UTF-8): Dokumentacja API Cairo
Cairo API documentation.
%description apidocs -l pl.UTF-8
-Dokumentacja API Cairo.
+Dokumentacja API Cairo.
%prep
%setup -q
%patch0 -p1
-%{?with_lcd:%patch1 -p1}
%build
%{?with_apidocs:%{__gtkdocize}}
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I build
%{__autoheader}
%{__autoconf}
%{__automake}
%configure \
+ --disable-silent-rules \
+ --enable-ft \
+ %{?with_gl:--enable-gl=yes}\
%{?with_apidocs:--enable-gtk-doc} \
- %{?with_xcb:--enable-xcb} \
- %{?with_glitz:--enable-glitz} \
- --enable-ps \
--enable-pdf \
+ --enable-png \
+ --enable-ps \
+ %{!?with_svg:--disable-svg} \
+ --enable-tee \
+ %{?with_xcb:--enable-xcb} \
--with-html-dir=%{_gtkdocdir}
+
+%{__sed} -i 's/gobject-2.0 glib-2.0//' src/cairo.pc
+
%{__make}
%{?with_tests:%{__make} check}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+# LD_PRELOADable library
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-trace.{la,a}
+# LD_PRELOADable modules(?)
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/cairo-{fdr,sphinx}.{la,a}
+
+%{!?with_apidocs:%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo}
+
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post gobject -p /sbin/ldconfig
+%postun gobject -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
# COPYING contains only notes, not LGPL/MPL texts
-%doc AUTHORS COPYING ChangeLog NEWS README TODO
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+%doc AUTHORS COPYING ChangeLog NEWS README
+%attr(755,root,root) %{_libdir}/libcairo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcairo.so.2
+%attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcairo-script-interpreter.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
+%attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so
+%{_libdir}/libcairo.la
+%{_libdir}/libcairo-script-interpreter.la
+%{_includedir}/cairo
+%exclude %{_includedir}/cairo/cairo-gobject.h
+%{_pkgconfigdir}/cairo.pc
+%{?with_gl:%{_pkgconfigdir}/cairo-gl.pc}
+%{?with_gl:%{_pkgconfigdir}/cairo-glx.pc}
+%{_pkgconfigdir}/cairo-fc.pc
+%{_pkgconfigdir}/cairo-ft.pc
+%{_pkgconfigdir}/cairo-pdf.pc
+%{_pkgconfigdir}/cairo-png.pc
+%{_pkgconfigdir}/cairo-ps.pc
+%{_pkgconfigdir}/cairo-script.pc
+%{?with_svg:%{_pkgconfigdir}/cairo-svg.pc}
+%{_pkgconfigdir}/cairo-tee.pc
+%{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc}
+%{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc}
+%{_pkgconfigdir}/cairo-xlib.pc
+%{_pkgconfigdir}/cairo-xlib-xrender.pc
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libcairo.a
+%{_libdir}/libcairo-script-interpreter.a
+
+%files gobject
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcairo-gobject.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcairo-gobject.so.2
+
+%files gobject-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcairo-gobject.so
+%{_libdir}/libcairo-gobject.la
+%{_includedir}/cairo/cairo-gobject.h
+%{_pkgconfigdir}/cairo-gobject.pc
+
+%files gobject-static
+%defattr(644,root,root,755)
+%{_libdir}/libcairo-gobject.a
+
+%files trace
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/cairo-sphinx
+%attr(755,root,root) %{_bindir}/cairo-trace
+%dir %{_libdir}/cairo
+%attr(755,root,root) %{_libdir}/cairo/cairo-fdr.so*
+%attr(755,root,root) %{_libdir}/cairo/cairo-sphinx.so*
+%attr(755,root,root) %{_libdir}/cairo/libcairo-trace.so*
+%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/cairo
+%endif