]> git.pld-linux.org Git - packages/cairo.git/blob - cairo.spec
- -devel R: lzo-devel (because of libcairo-script-interpreter)
[packages/cairo.git] / cairo.spec
1 #
2 # Conditional build:
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
16 %else
17 %bcond_without  xcb             # XCB backend
18 %endif
19 %bcond_with     tests           # perform tests (can fail due to out of memory)
20
21 %if %{with glesv2}
22 %undefine       with_gl
23 %endif
24 Summary:        Cairo - multi-platform 2D graphics library
25 Summary(pl.UTF-8):      Cairo - wieloplatformowa biblioteka graficzna 2D
26 Name:           cairo
27 Version:        1.14.0
28 Release:        1
29 License:        LGPL v2.1 or MPL v1.1
30 Group:          Libraries
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
38 %endif
39 %if %{with gl} || %{with openvg}
40 BuildRequires:  OpenGL-GLX-devel
41 %endif
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
58 %endif
59 %if %{with ps} && %{with tests}
60 BuildRequires:  libspectre-devel >= 0.2.0
61 %endif
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.9
67 %if %{with pdf} && %{with tests}
68 BuildRequires:  poppler-glib-devel >= 0.17.4
69 %endif
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
76 %else
77 BuildRequires:  xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
78 BuildRequires:  xorg-lib-libXext-devel
79 BuildRequires:  xorg-lib-libXrender-devel >= 0.6
80 %endif
81 BuildRequires:  xz
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)
90
91 %description
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
97 Extension.
98
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
103 PDF 1.4.
104
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.
113
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.
118
119 %package devel
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
127 %endif
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
143 %else
144 Requires:       xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
145 Requires:       xorg-lib-libXext-devel
146 Requires:       xorg-lib-libXrender-devel >= 0.6
147 %endif
148 Requires:       zlib-devel
149
150 %description devel
151 Development files for Cairo library.
152
153 %description devel -l pl.UTF-8
154 Pliki programistyczne biblioteki Cairo.
155
156 %package static
157 Summary:        Static Cairo library
158 Summary(pl.UTF-8):      Statyczna biblioteka Cairo
159 Group:          Development/Libraries
160 Requires:       %{name}-devel = %{version}-%{release}
161
162 %description static
163 Static Cairo library.
164
165 %description static -l pl.UTF-8
166 Statyczna biblioteka Cairo.
167
168 %package gobject
169 Summary:        GObject functions library for Cairo graphics library
170 Summary(pl.UTF-8):      Biblioteka funkcji GObject dla biblioteki graficznej Cairo
171 Group:          Libraries
172 Requires:       %{name} = %{version}-%{release}
173 Requires:       glib2 >= 1:2.14
174
175 %description gobject
176 GObject functions library for Cairo graphics library.
177
178 %description gobject -l pl.UTF-8
179 Biblioteka funkcji GObject dla biblioteki graficznej Cairo.
180
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
188
189 %description gobject-devel
190 Header files for Cairo GObject library.
191
192 %description gobject-devel -l pl.UTF-8
193 Pliki nagłówkowe biblioteki Cairo GObject.
194
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}
200
201 %description gobject-static
202 Static Cairo GObject library.
203
204 %description gobject-static -l pl.UTF-8
205 Statyczna biblioteka Cairo GObject.
206
207 %package trace
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
213
214 %description trace
215 Cairo calls tracing utilities.
216
217 %description trace -l pl.UTF-8
218 Narzędzia do śledzenia wywołań Cairo.
219
220 %package apidocs
221 Summary:        Cairo API documentation
222 Summary(pl.UTF-8):      Dokumentacja API Cairo
223 Group:          Documentation
224 Requires:       gtk-doc-common
225 %if "%{_rpmversion}" >= "5"
226 BuildArch:      noarch
227 %endif
228
229 %description apidocs
230 Cairo API documentation.
231
232 %description apidocs -l pl.UTF-8
233 Dokumentacja API Cairo.
234
235 %prep
236 %setup -q
237 %patch0 -p1
238
239 %build
240 %{?with_apidocs:%{__gtkdocize}}
241 %{__libtoolize}
242 %{__aclocal} -I build
243 %{__autoheader}
244 %{__autoconf}
245 %{__automake}
246 %configure \
247         --disable-silent-rules \
248         %{?with_cogl:--enable-cogl} \
249         %{?with_directfb:--enable-directfb} \
250         --enable-ft \
251         %{?with_gl:--enable-gl} \
252         %{?with_glesv2:--enable-glesv2} \
253         %{?with_apidocs:--enable-gtk-doc} \
254         %{?with_pdf:--enable-pdf} \
255         --enable-png \
256         %{?with_ps:--enable-ps} \
257         %{?with_qt:--enable-qt} \
258         %{!?with_svg:--disable-svg} \
259         --enable-tee \
260         %{?with_openvg:--enable-vg} \
261         %{?with_xcb:--enable-xcb} \
262         --enable-xml \
263         --with-html-dir=%{_gtkdocdir}
264
265 %{__sed} -i 's/gobject-2.0 glib-2.0//' src/cairo.pc
266
267 %{__make}
268 %{?with_tests:%{__make} check}
269
270 %install
271 rm -rf $RPM_BUILD_ROOT
272
273 %{__make} install \
274         DESTDIR=$RPM_BUILD_ROOT
275
276 # LD_PRELOADable library
277 %{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-trace.{la,a}
278 # LD_PRELOADable modules(?)
279 %{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/cairo-{fdr,sphinx}.{la,a}
280
281 %{!?with_apidocs:%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo}
282
283 %clean
284 rm -rf $RPM_BUILD_ROOT
285
286 %post   -p /sbin/ldconfig
287 %postun -p /sbin/ldconfig
288
289 %post   gobject -p /sbin/ldconfig
290 %postun gobject -p /sbin/ldconfig
291
292 %files
293 %defattr(644,root,root,755)
294 # COPYING contains only notes, not LGPL/MPL texts
295 %doc AUTHORS COPYING ChangeLog NEWS README
296 %attr(755,root,root) %{_libdir}/libcairo.so.*.*.*
297 %attr(755,root,root) %ghost %{_libdir}/libcairo.so.2
298 %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so.*.*.*
299 %attr(755,root,root) %ghost %{_libdir}/libcairo-script-interpreter.so.2
300
301 %files devel
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_libdir}/libcairo.so
304 %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so
305 %{_libdir}/libcairo.la
306 %{_libdir}/libcairo-script-interpreter.la
307 %{_includedir}/cairo
308 %exclude %{_includedir}/cairo/cairo-gobject.h
309 %{_pkgconfigdir}/cairo.pc
310 %{?with_directfb:%{_pkgconfigdir}/cairo-directfb.pc}
311 %if %{with gl} || %{with glesv2} || %{with openvg}
312 %{_pkgconfigdir}/cairo-egl.pc
313 %endif
314 %{_pkgconfigdir}/cairo-fc.pc
315 %{_pkgconfigdir}/cairo-ft.pc
316 %{?with_gl:%{_pkgconfigdir}/cairo-gl.pc}
317 %if %{with gl} || %{with openvg}
318 %{_pkgconfigdir}/cairo-glx.pc
319 %endif
320 %{?with_pdf:%{_pkgconfigdir}/cairo-pdf.pc}
321 %{_pkgconfigdir}/cairo-png.pc
322 %{?with_ps:%{_pkgconfigdir}/cairo-ps.pc}
323 %{?with_qt:%{_pkgconfigdir}/cairo-qt.pc}
324 %{_pkgconfigdir}/cairo-script.pc
325 %{?with_svg:%{_pkgconfigdir}/cairo-svg.pc}
326 %{_pkgconfigdir}/cairo-tee.pc
327 %{?with_openvg:%{_pkgconfigdir}/cairo-vg.pc}
328 %{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc}
329 %{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc}
330 %{_pkgconfigdir}/cairo-xlib.pc
331 %{_pkgconfigdir}/cairo-xlib-xrender.pc
332 %{_pkgconfigdir}/cairo-xml.pc
333
334 %files static
335 %defattr(644,root,root,755)
336 %{_libdir}/libcairo.a
337 %{_libdir}/libcairo-script-interpreter.a
338
339 %files gobject
340 %defattr(644,root,root,755)
341 %attr(755,root,root) %{_libdir}/libcairo-gobject.so.*.*.*
342 %attr(755,root,root) %ghost %{_libdir}/libcairo-gobject.so.2
343
344 %files gobject-devel
345 %defattr(644,root,root,755)
346 %attr(755,root,root) %{_libdir}/libcairo-gobject.so
347 %{_libdir}/libcairo-gobject.la
348 %{_includedir}/cairo/cairo-gobject.h
349 %{_pkgconfigdir}/cairo-gobject.pc
350
351 %files gobject-static
352 %defattr(644,root,root,755)
353 %{_libdir}/libcairo-gobject.a
354
355 %files trace
356 %defattr(644,root,root,755)
357 %attr(755,root,root) %{_bindir}/cairo-sphinx
358 %attr(755,root,root) %{_bindir}/cairo-trace
359 %dir %{_libdir}/cairo
360 %attr(755,root,root) %{_libdir}/cairo/cairo-fdr.so*
361 %attr(755,root,root) %{_libdir}/cairo/cairo-sphinx.so*
362 %attr(755,root,root) %{_libdir}/cairo/libcairo-trace.so*
363
364 %if %{with apidocs}
365 %files apidocs
366 %defattr(644,root,root,755)
367 %{_gtkdocdir}/cairo
368 %endif
This page took 0.082095 seconds and 4 git commands to generate.