3 %bcond_without apidocs # disable gtk-doc
4 %bcond_with cogl # Cogl surface backend [incompatible with cogl 1.12.x]
5 %bcond_with directfb # DirectFB surface backend
6 %bcond_with drm # DRM surface backend
7 %bcond_without gl # OpenGL surface backend
8 %bcond_with glesv2 # OpenGLESv2 surface backend (mutually exclusive with gl)
9 %bcond_with openvg # OpenVG surface backend
10 %bcond_without pdf # PDF surface backend
11 %bcond_without ps # PS surface backend
12 %bcond_without svg # SVG surface backend (disable to boostrap librsvg)
13 %bcond_with qt # Qt surface backend [expects qt_draw_glyphs() API in Qt 4.7+]
14 %if "%{pld_release}" == "ac"
15 %bcond_with xcb # XCB backend
17 %bcond_without xcb # XCB backend
19 %bcond_with tests # perform tests (can fail due to out of memory)
24 Summary: Cairo - multi-platform 2D graphics library
25 Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D
29 License: LGPL v2.1 or MPL v1.1
31 Source0: http://cairographics.org/releases/%{name}-%{version}.tar.xz
32 # Source0-md5: fc3a5edeba703f906f2241b394f0cced
33 Patch0: %{name}-link.patch
34 URL: http://cairographics.org/
35 %{?with_directfb:BuildRequires: DirectFB-devel}
36 %if %{with gl} || %{with glesv2} || %{with openvg}
37 BuildRequires: EGL-devel >= 1.1
39 %if %{with gl} || %{with openvg}
40 BuildRequires: OpenGL-GLX-devel
42 %{?with_gl:BuildRequires: OpenGL-devel}
43 %{?with_glesv2:BuildRequires: OpenGLESv2-devel >= 2.0}
44 %{?with_openvg:BuildRequires: OpenVG-devel}
45 %{?with_qt:BuildRequires: QtGui-devel >= 4.4.0}
46 BuildRequires: autoconf >= 2.63
47 BuildRequires: automake >= 1:1.11
48 BuildRequires: binutils-devel
49 %{?with_cogl:BuildRequires: cogl-devel}
50 BuildRequires: fontconfig-devel >= 2.2.95
51 BuildRequires: freetype-devel >= 1:2.3.0
52 BuildRequires: glib2-devel >= 1:2.14
53 %{?with_apidocs:BuildRequires: gtk-doc >= 1.15}
54 %{?with_drm:BuildRequires: libdrm-devel}
55 BuildRequires: libpng-devel >= 2:1.4.0
56 %if %{with svg} && %{with tests}
57 BuildRequires: librsvg-devel >= 2.35.0
59 %if %{with ps} && %{with tests}
60 BuildRequires: libspectre-devel >= 0.2.0
62 BuildRequires: libtool >= 2:2.2
63 %{?with_xcb:BuildRequires: libxcb-devel >= 1.6}
64 BuildRequires: lzo-devel >= 2
65 BuildRequires: pixman-devel >= 0.30.0
66 BuildRequires: pkgconfig >= 1:0.18
67 %if %{with pdf} && %{with tests}
68 BuildRequires: poppler-glib-devel >= 0.17.4
70 BuildRequires: rpm >= 4.4.9-56
71 BuildRequires: sed >= 4.0
72 BuildRequires: tar >= 1:1.22
73 %{?with_drm:BuildRequires: udev-devel >= 1:136}
74 %if "%{pld_release}" == "ac"
75 BuildRequires: xrender-devel >= 0.6
77 BuildRequires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
78 BuildRequires: xorg-lib-libXext-devel
79 BuildRequires: xorg-lib-libXrender-devel >= 0.6
82 BuildRequires: zlib-devel
83 %{?with_qt:Requires: QtGui >= 4.4.0}
84 Requires: fontconfig-libs >= 2.2.95
85 Requires: freetype >= 1:2.3.0
86 %{?with_xcb:Requires: libxcb >= 1.6}
87 Requires: pixman >= 0.30.0
88 %{?with_drm:Requires: udev-libs >= 1:136}
89 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
92 Cairo provides anti-aliased vector-based rendering for X. Paths
93 consist of line segments and cubic splines and can be rendered at any
94 width with various join and cap styles. All colors may be specified
95 with optional translucence (opacity/alpha) and combined using the
96 extended Porter/Duff compositing algebra as found in the X Render
99 Cairo exports a stateful rendering API similar in spirit to the path
100 construction, text, and painting operators of PostScript, (with the
101 significant addition of translucence in the imaging model). When
102 complete, the API is intended to support the complete imaging model of
105 %description -l pl.UTF-8
106 Cairo obsługuje oparty na wektorach rendering z antyaliasingiem dla X.
107 Ścieżki składają się z odcinków i splajnów kubicznych, a renderowane
108 mogą być z dowolną grubością i różnymi stylami połączeń i zakończeń.
109 Wszystkie kolory mogą być podane z opcjonalną półprzezroczystością
110 (podaną przez współczynnik nieprzezroczystości lub alpha) i łączone
111 przy użyciu rozszerzonego algorytmu składania Portera-Duffa, który
112 można znaleźć w rozszerzeniu X Render.
114 Cairo eksportuje stanowe API renderujące w duchu podobne do operatorów
115 konstruowania ścieżek, tekstu i rysowania z PostScriptu (ze znacznym
116 dodatkiem półprzezroczystości w modelu obrazu). Kiedy API zostanie
117 ukończone, ma obsługiwać pełny model obrazu z PDF w wersji 1.4.
120 Summary: Development files for Cairo library
121 Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo
122 Group: Development/Libraries
123 Requires: %{name} = %{version}-%{release}
124 %{?with_directfb:Requires: DirectFB-devel}
125 %if %{with gl} || %{with glesv2} || %{with openvg}
126 Requires: EGL-devel >= 1.1
128 %{?with_gl:Requires: OpenGL-devel}
129 %{?with_glesv2:Requires: OpenGLESv2-devel >= 2.0}
130 %{?with_openvg:Requires: OpenVG-devel}
131 %{?with_qt:Requires: QtGui-devel >= 4.4.0}
132 %{?with_cogl:Requires: cogl-devel}
133 Requires: fontconfig-devel >= 2.2.95
134 Requires: freetype-devel >= 1:2.3.0
135 %{?with_drm:Requires: libdrm-devel}
136 Requires: libpng-devel >= 2:1.4.0
137 %{?with_xcb:Requires: libxcb-devel >= 1.6}
138 Requires: lzo-devel >= 2
139 Requires: pixman-devel >= 0.30.0
140 %{?with_drm:Requires: udev-devel >= 1:136}
141 %if "%{pld_release}" == "ac"
142 Requires: xrender-devel >= 0.6
144 Requires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
145 Requires: xorg-lib-libXext-devel
146 Requires: xorg-lib-libXrender-devel >= 0.6
151 Development files for Cairo library.
153 %description devel -l pl.UTF-8
154 Pliki programistyczne biblioteki Cairo.
157 Summary: Static Cairo library
158 Summary(pl.UTF-8): Statyczna biblioteka Cairo
159 Group: Development/Libraries
160 Requires: %{name}-devel = %{version}-%{release}
163 Static Cairo library.
165 %description static -l pl.UTF-8
166 Statyczna biblioteka Cairo.
169 Summary: GObject functions library for Cairo graphics library
170 Summary(pl.UTF-8): Biblioteka funkcji GObject dla biblioteki graficznej Cairo
172 Requires: %{name} = %{version}-%{release}
173 Requires: glib2 >= 1:2.14
176 GObject functions library for Cairo graphics library.
178 %description gobject -l pl.UTF-8
179 Biblioteka funkcji GObject dla biblioteki graficznej Cairo.
181 %package gobject-devel
182 Summary: Header files for Cairo GObject library
183 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Cairo GObject
184 Group: Development/Libraries
185 Requires: %{name}-devel = %{version}-%{release}
186 Requires: %{name}-gobject = %{version}-%{release}
187 Requires: glib2-devel >= 1:2.14
189 %description gobject-devel
190 Header files for Cairo GObject library.
192 %description gobject-devel -l pl.UTF-8
193 Pliki nagłówkowe biblioteki Cairo GObject.
195 %package gobject-static
196 Summary: Static Cairo GObject library
197 Summary(pl.UTF-8): Statyczna biblioteka Cairo GObject
198 Group: Development/Libraries
199 Requires: %{name}-gobject-devel = %{version}-%{release}
201 %description gobject-static
202 Static Cairo GObject library.
204 %description gobject-static -l pl.UTF-8
205 Statyczna biblioteka Cairo GObject.
208 Summary: Cairo calls tracing utilities
209 Summary(pl.UTF-8): Narzędzia do śledzenia wywołań Cairo
210 Group: Development/Tools
211 Requires: %{name} = %{version}-%{release}
212 Requires: binutils-libs >= 2.21.53
215 Cairo calls tracing utilities.
217 %description trace -l pl.UTF-8
218 Narzędzia do śledzenia wywołań Cairo.
221 Summary: Cairo API documentation
222 Summary(pl.UTF-8): Dokumentacja API Cairo
224 Requires: gtk-doc-common
225 %if "%{_rpmversion}" >= "5"
230 Cairo API documentation.
232 %description apidocs -l pl.UTF-8
233 Dokumentacja API Cairo.
240 %{?with_apidocs:%{__gtkdocize}}
242 %{__aclocal} -I build
247 --disable-silent-rules \
248 %{?with_cogl:--enable-cogl} \
249 %{?with_directfb:--enable-directfb} \
251 %{?with_gl:--enable-gl} \
252 %{?with_glesv2:--enable-glesv2} \
253 %{?with_apidocs:--enable-gtk-doc} \
254 %{?with_pdf:--enable-pdf} \
256 %{?with_ps:--enable-ps} \
257 %{?with_qt:--enable-qt} \
258 %{!?with_svg:--disable-svg} \
260 %{?with_openvg:--enable-vg} \
261 %{?with_xcb:--enable-xcb} \
263 --with-html-dir=%{_gtkdocdir}
266 %{?with_tests:%{__make} check}
269 rm -rf $RPM_BUILD_ROOT
272 DESTDIR=$RPM_BUILD_ROOT
274 # LD_PRELOADable library
275 %{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-trace.{la,a}
276 # LD_PRELOADable modules(?)
277 %{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/cairo-{fdr,sphinx}.{la,a}
279 %{!?with_apidocs:%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo}
282 rm -rf $RPM_BUILD_ROOT
284 %post -p /sbin/ldconfig
285 %postun -p /sbin/ldconfig
287 %post gobject -p /sbin/ldconfig
288 %postun gobject -p /sbin/ldconfig
291 %defattr(644,root,root,755)
292 # COPYING contains only notes, not LGPL/MPL texts
293 %doc AUTHORS COPYING ChangeLog NEWS README
294 %attr(755,root,root) %{_libdir}/libcairo.so.*.*.*
295 %attr(755,root,root) %ghost %{_libdir}/libcairo.so.2
296 %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so.*.*.*
297 %attr(755,root,root) %ghost %{_libdir}/libcairo-script-interpreter.so.2
300 %defattr(644,root,root,755)
301 %attr(755,root,root) %{_libdir}/libcairo.so
302 %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so
303 %{_libdir}/libcairo.la
304 %{_libdir}/libcairo-script-interpreter.la
306 %exclude %{_includedir}/cairo/cairo-gobject.h
307 %{_pkgconfigdir}/cairo.pc
308 %{?with_directfb:%{_pkgconfigdir}/cairo-directfb.pc}
309 %if %{with gl} || %{with glesv2} || %{with openvg}
310 %{_pkgconfigdir}/cairo-egl.pc
312 %{_pkgconfigdir}/cairo-fc.pc
313 %{_pkgconfigdir}/cairo-ft.pc
314 %{?with_gl:%{_pkgconfigdir}/cairo-gl.pc}
315 %if %{with gl} || %{with openvg}
316 %{_pkgconfigdir}/cairo-glx.pc
318 %{?with_pdf:%{_pkgconfigdir}/cairo-pdf.pc}
319 %{_pkgconfigdir}/cairo-png.pc
320 %{?with_ps:%{_pkgconfigdir}/cairo-ps.pc}
321 %{?with_qt:%{_pkgconfigdir}/cairo-qt.pc}
322 %{_pkgconfigdir}/cairo-script.pc
323 %{?with_svg:%{_pkgconfigdir}/cairo-svg.pc}
324 %{_pkgconfigdir}/cairo-tee.pc
325 %{?with_openvg:%{_pkgconfigdir}/cairo-vg.pc}
326 %{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc}
327 %{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc}
328 %{_pkgconfigdir}/cairo-xlib.pc
329 %{_pkgconfigdir}/cairo-xlib-xrender.pc
330 %{_pkgconfigdir}/cairo-xml.pc
333 %defattr(644,root,root,755)
334 %{_libdir}/libcairo.a
335 %{_libdir}/libcairo-script-interpreter.a
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/libcairo-gobject.so.*.*.*
340 %attr(755,root,root) %ghost %{_libdir}/libcairo-gobject.so.2
343 %defattr(644,root,root,755)
344 %attr(755,root,root) %{_libdir}/libcairo-gobject.so
345 %{_libdir}/libcairo-gobject.la
346 %{_includedir}/cairo/cairo-gobject.h
347 %{_pkgconfigdir}/cairo-gobject.pc
349 %files gobject-static
350 %defattr(644,root,root,755)
351 %{_libdir}/libcairo-gobject.a
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_bindir}/cairo-sphinx
356 %attr(755,root,root) %{_bindir}/cairo-trace
357 %dir %{_libdir}/cairo
358 %attr(755,root,root) %{_libdir}/cairo/cairo-fdr.so*
359 %attr(755,root,root) %{_libdir}/cairo/cairo-sphinx.so*
360 %attr(755,root,root) %{_libdir}/cairo/libcairo-trace.so*
364 %defattr(644,root,root,755)