]> git.pld-linux.org Git - packages/cairo.git/blob - cairo.spec
- rel 2; drop cairo.pc sed; these are private .pc requires, so should not harm
[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:        2
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.18
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 %{__make}
266 %{?with_tests:%{__make} check}
267
268 %install
269 rm -rf $RPM_BUILD_ROOT
270
271 %{__make} install \
272         DESTDIR=$RPM_BUILD_ROOT
273
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}
278
279 %{!?with_apidocs:%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo}
280
281 %clean
282 rm -rf $RPM_BUILD_ROOT
283
284 %post   -p /sbin/ldconfig
285 %postun -p /sbin/ldconfig
286
287 %post   gobject -p /sbin/ldconfig
288 %postun gobject -p /sbin/ldconfig
289
290 %files
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
298
299 %files devel
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
305 %{_includedir}/cairo
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
311 %endif
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
317 %endif
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
331
332 %files static
333 %defattr(644,root,root,755)
334 %{_libdir}/libcairo.a
335 %{_libdir}/libcairo-script-interpreter.a
336
337 %files gobject
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
341
342 %files gobject-devel
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
348
349 %files gobject-static
350 %defattr(644,root,root,755)
351 %{_libdir}/libcairo-gobject.a
352
353 %files trace
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*
361
362 %if %{with apidocs}
363 %files apidocs
364 %defattr(644,root,root,755)
365 %{_gtkdocdir}/cairo
366 %endif
This page took 0.06024 seconds and 4 git commands to generate.