]> git.pld-linux.org Git - packages/cairo.git/blobdiff - cairo.spec
- more surface backend bconds (cogl,directfb,drm,glesv2,openvg,qt off by default...
[packages/cairo.git] / cairo.spec
index 943c03c96262d8c95c70aa6ee53cb31ab8022e31..b10498ce222ad3b025b399c85b04c64428cfa1cd 100644 (file)
@@ -1,38 +1,90 @@
 #
 # Conditional build:
 %bcond_without apidocs         # disable gtk-doc
-%bcond_with    glitz           # build with glitz backend
-%bcond_with    xcb             # enable XCB backend
+%bcond_with    cogl            # Cogl surface backend [incompatible with cogl 1.12.x]
+%bcond_with    directfb        # DirectFB surface backend
+%bcond_with    drm             # DRM surface backend
+%bcond_without gl              # OpenGL surface backend
+%bcond_with    glesv2          # OpenGLESv2 surface backend (mutually exclusive with gl)
+%bcond_with    openvg          # OpenVG surface backend
+%bcond_without pdf             # PDF surface backend
+%bcond_without ps              # PS surface backend
+%bcond_without svg             # SVG surface backend (disable to boostrap librsvg)
+%bcond_with    qt              # Qt surface backend [expects qt_draw_glyphs() API in Qt 4.7+]
+%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
 #
+%if %{with glesv2}
+%undefine      with_gl
+%endif
 Summary:       Cairo - multi-platform 2D graphics library
 Summary(pl.UTF-8):     Cairo - wieloplatformowa biblioteka graficzna 2D
 Name:          cairo
-Version:       1.2.6
-Release:       3
+Version:       1.12.4
+Release:       1
 License:       LGPL v2.1 or MPL v1.1
 Group:         Libraries
-Source0:       http://cairographics.org/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 487b3d7515752fe57f780d0fd707b01a
+Source0:       http://cairographics.org/releases/%{name}-%{version}.tar.xz
+# Source0-md5: a64bb8774a1e476e5cdd69e635794dfb
 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}
+%{?with_directfb:BuildRequires:        DirectFB-devel}
+%if %{with gl} || %{with glesv2} || %{with openvg}
+BuildRequires: EGL-devel >= 1.1
+%endif
+%if %{with gl} || %{with openvg}
+BuildRequires: OpenGL-GLX-devel
+%endif
+%{?with_gl:BuildRequires:      OpenGL-devel}
+%{?with_glesv2:BuildRequires:  OpenGLESv2-devel >= 2.0}
+%{?with_openvg:BuildRequires:  OpenVG-devel}
+%{?with_qt:BuildRequires:      QtGui-devel >= 4.4.0}
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1:1.11
+BuildRequires: binutils-devel
+%{?with_cogl:BuildRequires:    cogl-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.15}
+%{?with_drm:BuildRequires:     libdrm-devel}
+BuildRequires: libpng-devel >= 2:1.4.0
+%if %{with svg} && %{with tests}
+BuildRequires: librsvg-devel >= 2.15.0
+%endif
+%if %{with ps} && %{with tests}
+BuildRequires: libspectre-devel >= 0.2.0
+%endif
+BuildRequires: libtool >= 2:2.2
+%{?with_xcb:BuildRequires:     libxcb-devel >= 1.6}
+BuildRequires: pixman-devel >= 0.22.0
+BuildRequires: pkgconfig >= 1:0.9
+%if %{with pdf} && %{with tests}
+BuildRequires: poppler-glib-devel >= 0.17.4
+%endif
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
+%{?with_drm:BuildRequires:     udev-devel >= 1:136}
+%if "%{pld_release}" == "ac"
+BuildRequires: xrender-devel >= 0.6
+%else
+BuildRequires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
+BuildRequires: xorg-lib-libXext-devel
 BuildRequires: xorg-lib-libXrender-devel >= 0.6
+%endif
+BuildRequires: xz
 BuildRequires: zlib-devel
-Requires:      freetype >= 1:2.1.10
-%{?with_glitz:Requires:        glitz >= 0.5.1}
+%{?with_qt:Requires:   QtGui >= 4.4.0}
+Requires:      fontconfig-libs >= 2.2.95
+Requires:      freetype >= 1:2.3.0
+%{?with_xcb:Requires:  libxcb >= 1.6}
+%{?with_drm:Requires:  udev-libs >= 1:136}
+Requires:      pixman >= 0.22.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -49,19 +101,13 @@ significant addition of translucence in the imaging model). When
 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.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 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
@@ -69,23 +115,35 @@ 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.
-
 %package devel
 Summary:       Development files for Cairo library
 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}
+%{?with_directfb:Requires:     DirectFB-devel}
+%if %{with gl} || %{with glesv2} || %{with openvg}
+Requires:      EGL-devel >= 1.1
+%endif
+%{?with_gl:Requires:   OpenGL-devel}
+%{?with_glesv2:Requires:       OpenGLESv2-devel >= 2.0}
+%{?with_openvg:Requires:       OpenVG-devel}
+%{?with_qt:Requires:   QtGui-devel >= 4.4.0}
+%{?with_cogl:Requires: cogl-devel}
+Requires:      fontconfig-devel >= 2.2.95
+Requires:      freetype-devel >= 1:2.3.0
+%{?with_drm:Requires:  libdrm-devel}
+Requires:      libpng-devel >= 2:1.4.0
+%{?with_xcb:Requires:  libxcb-devel >= 1.6}
+Requires:      pixman-devel >= 0.22.0
+%{?with_drm:Requires:  udev-devel >= 1:136}
+%if "%{pld_release}" == "ac"
+Requires:      xrender-devel >= 0.6
+%else
+Requires:      xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
+Requires:      xorg-lib-libXext-devel
 Requires:      xorg-lib-libXrender-devel >= 0.6
+%endif
+Requires:      zlib-devel
 
 %description devel
 Development files for Cairo library.
@@ -105,6 +163,57 @@ Static 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
@@ -115,27 +224,40 @@ Requires: gtk-doc-common
 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 \
+       %{?with_cogl:--enable-cogl} \
+       %{?with_directfb:--enable-directfb} \
+       --enable-ft \
+       %{?with_gl:--enable-gl} \
+       %{?with_glesv2:--enable-glesv2} \
        %{?with_apidocs:--enable-gtk-doc} \
+       %{?with_pdf:--enable-pdf} \
+       --enable-png \
+       %{?with_ps:--enable-ps} \
+       %{?with_qt:--enable-qt} \
+       %{!?with_svg:--disable-svg} \
+       --enable-tee \
+       %{?with_openvg:--enable-vg} \
        %{?with_xcb:--enable-xcb} \
-       %{?with_glitz:--enable-glitz} \
-       --enable-ps \
-       --enable-pdf \
+       --enable-xml \
        --with-html-dir=%{_gtkdocdir}
+
+%{__sed} -i 's/gobject-2.0 glib-2.0//' src/cairo.pc
+
 %{__make}
 %{?with_tests:%{__make} check}
 
@@ -145,29 +267,96 @@ rm -rf $RPM_BUILD_ROOT
 %{__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_directfb:%{_pkgconfigdir}/cairo-directfb.pc}
+%if %{with gl} || %{with glesv2} || %{with openvg}
+%{_pkgconfigdir}/cairo-egl.pc
+%endif
+%{_pkgconfigdir}/cairo-fc.pc
+%{_pkgconfigdir}/cairo-ft.pc
+%{?with_gl:%{_pkgconfigdir}/cairo-gl.pc}
+%if %{with gl} || %{with openvg}
+%{_pkgconfigdir}/cairo-glx.pc
+%endif
+%{?with_pdf:%{_pkgconfigdir}/cairo-pdf.pc}
+%{_pkgconfigdir}/cairo-png.pc
+%{?with_ps:%{_pkgconfigdir}/cairo-ps.pc}
+%{?with_qt:%{_pkgconfigdir}/cairo-qt.pc}
+%{_pkgconfigdir}/cairo-script.pc
+%{?with_svg:%{_pkgconfigdir}/cairo-svg.pc}
+%{_pkgconfigdir}/cairo-tee.pc
+%{?with_openvg:%{_pkgconfigdir}/cairo-vg.pc}
+%{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc}
+%{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc}
+%{_pkgconfigdir}/cairo-xlib.pc
+%{_pkgconfigdir}/cairo-xlib-xrender.pc
+%{_pkgconfigdir}/cairo-xml.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
This page took 0.04313 seconds and 4 git commands to generate.