]>
Commit | Line | Data |
---|---|---|
79fcc918 JB |
1 | # |
2 | # Conditional build: | |
9f933f96 | 3 | %bcond_without apidocs # disable gtk-doc |
555786d4 JB |
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 | |
70f48568 | 7 | %bcond_with gl # OpenGL surface backend, http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2015-May/024387.html |
ba356974 JB |
8 | %bcond_with glesv2 # OpenGLESv2 surface backend (mutually exclusive with gl and glesv3) |
9 | %bcond_with glesv3 # OpenGLESv3 surface backend (mutually exclusive with gl and glesv2) | |
555786d4 JB |
10 | %bcond_with openvg # OpenVG surface backend |
11 | %bcond_without pdf # PDF surface backend | |
12 | %bcond_without ps # PS surface backend | |
13 | %bcond_without svg # SVG surface backend (disable to boostrap librsvg) | |
14 | %bcond_with qt # Qt surface backend [expects qt_draw_glyphs() API in Qt 4.7+] | |
68f80d0c | 15 | %if "%{pld_release}" == "ac" |
75cc31b6 | 16 | %bcond_with xcb # XCB backend |
68f80d0c | 17 | %else |
75cc31b6 | 18 | %bcond_without xcb # XCB backend |
68f80d0c | 19 | %endif |
75cc31b6 | 20 | %bcond_with tests # perform tests (can fail due to out of memory) |
052e014b | 21 | |
ba356974 | 22 | %if %{with glesv2} || %{with glesv3} |
555786d4 JB |
23 | %undefine with_gl |
24 | %endif | |
ba356974 JB |
25 | %if %{with glesv3} |
26 | %undefine with_glesv2 | |
27 | %endif | |
b7ccdbe1 | 28 | Summary: Cairo - multi-platform 2D graphics library |
beb0026f | 29 | Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D |
8c7ef450 | 30 | Name: cairo |
a619b3f9 | 31 | Version: 1.16.0 |
5028e0d5 | 32 | Release: 3 |
9b33cbb5 | 33 | License: LGPL v2.1 or MPL v1.1 |
b7ccdbe1 | 34 | Group: Libraries |
f965b14a | 35 | Source0: https://www.cairographics.org/releases/%{name}-%{version}.tar.xz |
a619b3f9 | 36 | # Source0-md5: f19e0353828269c22bd72e271243a552 |
c9185d93 | 37 | Patch0: %{name}-link.patch |
eca05c24 | 38 | Patch1: %{name}-gobject-deps.patch |
f965b14a | 39 | URL: https://www.cairographics.org/ |
555786d4 | 40 | %{?with_directfb:BuildRequires: DirectFB-devel} |
ba356974 | 41 | %if %{with gl} || %{with glesv2} || %{with glesv3} || %{with openvg} |
555786d4 JB |
42 | BuildRequires: EGL-devel >= 1.1 |
43 | %endif | |
44 | %if %{with gl} || %{with openvg} | |
45 | BuildRequires: OpenGL-GLX-devel | |
46 | %endif | |
47 | %{?with_gl:BuildRequires: OpenGL-devel} | |
48 | %{?with_glesv2:BuildRequires: OpenGLESv2-devel >= 2.0} | |
ba356974 | 49 | %{?with_glesv3:BuildRequires: OpenGLESv3-devel >= 3.0} |
555786d4 JB |
50 | %{?with_openvg:BuildRequires: OpenVG-devel} |
51 | %{?with_qt:BuildRequires: QtGui-devel >= 4.4.0} | |
543a7c78 JB |
52 | BuildRequires: autoconf >= 2.63 |
53 | BuildRequires: automake >= 1:1.11 | |
fde28cff | 54 | BuildRequires: binutils-devel |
555786d4 | 55 | %{?with_cogl:BuildRequires: cogl-devel} |
3396a3ae | 56 | BuildRequires: fontconfig-devel >= 2.2.95 |
ba356974 | 57 | BuildRequires: freetype-devel >= 1:2.5.1 |
acd7ce6e | 58 | BuildRequires: glib2-devel >= 1:2.14 |
ba356974 JB |
59 | %if %{with svg} && %{with tests} |
60 | BuildRequires: gtk+2-devel >= 1:2.0 | |
61 | %endif | |
543a7c78 | 62 | %{?with_apidocs:BuildRequires: gtk-doc >= 1.15} |
a619b3f9 | 63 | %{?with_drm:BuildRequires: libdrm-devel >= 2.4} |
42ecc17e | 64 | BuildRequires: libpng-devel >= 2:1.4.0 |
555786d4 | 65 | %if %{with svg} && %{with tests} |
7932577f | 66 | BuildRequires: librsvg-devel >= 2.35.0 |
555786d4 JB |
67 | %endif |
68 | %if %{with ps} && %{with tests} | |
3396a3ae | 69 | BuildRequires: libspectre-devel >= 0.2.0 |
555786d4 | 70 | %endif |
543a7c78 JB |
71 | BuildRequires: libtool >= 2:2.2 |
72 | %{?with_xcb:BuildRequires: libxcb-devel >= 1.6} | |
7932577f | 73 | BuildRequires: lzo-devel >= 2 |
acd7ce6e | 74 | BuildRequires: pixman-devel >= 0.30.0 |
5a53c090 | 75 | BuildRequires: pkgconfig >= 1:0.18 |
555786d4 JB |
76 | %if %{with pdf} && %{with tests} |
77 | BuildRequires: poppler-glib-devel >= 0.17.4 | |
78 | %endif | |
68f80d0c | 79 | BuildRequires: rpm >= 4.4.9-56 |
0c4a4f34 | 80 | BuildRequires: sed >= 4.0 |
543a7c78 | 81 | BuildRequires: tar >= 1:1.22 |
555786d4 | 82 | %{?with_drm:BuildRequires: udev-devel >= 1:136} |
68f80d0c ER |
83 | %if "%{pld_release}" == "ac" |
84 | BuildRequires: xrender-devel >= 0.6 | |
85 | %else | |
3396a3ae | 86 | BuildRequires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1} |
555786d4 | 87 | BuildRequires: xorg-lib-libXext-devel |
ddb9a7c6 | 88 | BuildRequires: xorg-lib-libXrender-devel >= 0.6 |
68f80d0c | 89 | %endif |
543a7c78 | 90 | BuildRequires: xz |
9bc5a16c | 91 | BuildRequires: zlib-devel |
555786d4 JB |
92 | %{?with_qt:Requires: QtGui >= 4.4.0} |
93 | Requires: fontconfig-libs >= 2.2.95 | |
ba356974 JB |
94 | Requires: freetype >= 1:2.5.1 |
95 | %{?with_drm:Requires: libdrm >= 2.4} | |
fde28cff | 96 | %{?with_xcb:Requires: libxcb >= 1.6} |
acd7ce6e | 97 | Requires: pixman >= 0.30.0 |
8a51f1cc | 98 | %{?with_drm:Requires: udev-libs >= 1:136} |
b7ccdbe1 | 99 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
8c7ef450 | 100 | |
101 | %description | |
76666767 | 102 | Cairo provides anti-aliased vector-based rendering for X. Paths |
b7ccdbe1 JB |
103 | consist of line segments and cubic splines and can be rendered at any |
104 | width with various join and cap styles. All colors may be specified | |
105 | with optional translucence (opacity/alpha) and combined using the | |
106 | extended Porter/Duff compositing algebra as found in the X Render | |
107 | Extension. | |
108 | ||
109 | Cairo exports a stateful rendering API similar in spirit to the path | |
110 | construction, text, and painting operators of PostScript, (with the | |
111 | significant addition of translucence in the imaging model). When | |
112 | complete, the API is intended to support the complete imaging model of | |
113 | PDF 1.4. | |
114 | ||
65aac246 JR |
115 | %description -l pl.UTF-8 |
116 | Cairo obsługuje oparty na wektorach rendering z antyaliasingiem dla X. | |
117 | Ścieżki składają się z odcinków i splajnów kubicznych, a renderowane | |
118 | mogą być z dowolną grubością i różnymi stylami połączeń i zakończeń. | |
119 | Wszystkie kolory mogą być podane z opcjonalną półprzezroczystością | |
120 | (podaną przez współczynnik nieprzezroczystości lub alpha) i łączone | |
9c95588d | 121 | przy użyciu rozszerzonego algorytmu składania Portera-Duffa, który |
65aac246 JR |
122 | można znaleźć w rozszerzeniu X Render. |
123 | ||
124 | Cairo eksportuje stanowe API renderujące w duchu podobne do operatorów | |
125 | konstruowania ścieżek, tekstu i rysowania z PostScriptu (ze znacznym | |
126 | dodatkiem półprzezroczystości w modelu obrazu). Kiedy API zostanie | |
127 | ukończone, ma obsługiwać pełny model obrazu z PDF w wersji 1.4. | |
128 | ||
8c7ef450 | 129 | %package devel |
b7ccdbe1 | 130 | Summary: Development files for Cairo library |
beb0026f | 131 | Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo |
4233927e | 132 | Group: Development/Libraries |
b7ccdbe1 | 133 | Requires: %{name} = %{version}-%{release} |
555786d4 JB |
134 | %{?with_directfb:Requires: DirectFB-devel} |
135 | %if %{with gl} || %{with glesv2} || %{with openvg} | |
136 | Requires: EGL-devel >= 1.1 | |
137 | %endif | |
138 | %{?with_gl:Requires: OpenGL-devel} | |
139 | %{?with_glesv2:Requires: OpenGLESv2-devel >= 2.0} | |
ba356974 | 140 | %{?with_glesv3:Requires: OpenGLESv3-devel >= 3.0} |
555786d4 JB |
141 | %{?with_openvg:Requires: OpenVG-devel} |
142 | %{?with_qt:Requires: QtGui-devel >= 4.4.0} | |
143 | %{?with_cogl:Requires: cogl-devel} | |
3396a3ae | 144 | Requires: fontconfig-devel >= 2.2.95 |
ba356974 JB |
145 | Requires: freetype-devel >= 1:2.5.1 |
146 | %{?with_drm:Requires: libdrm-devel >= 2.4} | |
42ecc17e | 147 | Requires: libpng-devel >= 2:1.4.0 |
fde28cff | 148 | %{?with_xcb:Requires: libxcb-devel >= 1.6} |
737c5d82 | 149 | Requires: lzo-devel >= 2 |
acd7ce6e | 150 | Requires: pixman-devel >= 0.30.0 |
555786d4 | 151 | %{?with_drm:Requires: udev-devel >= 1:136} |
68f80d0c ER |
152 | %if "%{pld_release}" == "ac" |
153 | Requires: xrender-devel >= 0.6 | |
154 | %else | |
3396a3ae | 155 | Requires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1} |
555786d4 | 156 | Requires: xorg-lib-libXext-devel |
ddb9a7c6 | 157 | Requires: xorg-lib-libXrender-devel >= 0.6 |
68f80d0c | 158 | %endif |
555786d4 | 159 | Requires: zlib-devel |
8c7ef450 | 160 | |
161 | %description devel | |
b7ccdbe1 JB |
162 | Development files for Cairo library. |
163 | ||
65aac246 | 164 | %description devel -l pl.UTF-8 |
b7ccdbe1 | 165 | Pliki programistyczne biblioteki Cairo. |
8c7ef450 | 166 | |
167 | %package static | |
b7ccdbe1 | 168 | Summary: Static Cairo library |
beb0026f | 169 | Summary(pl.UTF-8): Statyczna biblioteka Cairo |
4233927e | 170 | Group: Development/Libraries |
b7ccdbe1 | 171 | Requires: %{name}-devel = %{version}-%{release} |
8c7ef450 | 172 | |
173 | %description static | |
b7ccdbe1 JB |
174 | Static Cairo library. |
175 | ||
65aac246 | 176 | %description static -l pl.UTF-8 |
b7ccdbe1 | 177 | Statyczna biblioteka Cairo. |
8c7ef450 | 178 | |
8f628762 JB |
179 | %package gobject |
180 | Summary: GObject functions library for Cairo graphics library | |
181 | Summary(pl.UTF-8): Biblioteka funkcji GObject dla biblioteki graficznej Cairo | |
182 | Group: Libraries | |
183 | Requires: %{name} = %{version}-%{release} | |
7932577f | 184 | Requires: glib2 >= 1:2.14 |
8f628762 JB |
185 | |
186 | %description gobject | |
187 | GObject functions library for Cairo graphics library. | |
188 | ||
189 | %description gobject -l pl.UTF-8 | |
190 | Biblioteka funkcji GObject dla biblioteki graficznej Cairo. | |
191 | ||
192 | %package gobject-devel | |
193 | Summary: Header files for Cairo GObject library | |
194 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Cairo GObject | |
195 | Group: Development/Libraries | |
196 | Requires: %{name}-devel = %{version}-%{release} | |
197 | Requires: %{name}-gobject = %{version}-%{release} | |
acd7ce6e | 198 | Requires: glib2-devel >= 1:2.14 |
8f628762 JB |
199 | |
200 | %description gobject-devel | |
201 | Header files for Cairo GObject library. | |
202 | ||
203 | %description gobject-devel -l pl.UTF-8 | |
204 | Pliki nagłówkowe biblioteki Cairo GObject. | |
205 | ||
206 | %package gobject-static | |
207 | Summary: Static Cairo GObject library | |
208 | Summary(pl.UTF-8): Statyczna biblioteka Cairo GObject | |
209 | Group: Development/Libraries | |
210 | Requires: %{name}-gobject-devel = %{version}-%{release} | |
211 | ||
212 | %description gobject-static | |
213 | Static Cairo GObject library. | |
214 | ||
215 | %description gobject-static -l pl.UTF-8 | |
216 | Statyczna biblioteka Cairo GObject. | |
217 | ||
218 | %package trace | |
fde28cff JB |
219 | Summary: Cairo calls tracing utilities |
220 | Summary(pl.UTF-8): Narzędzia do śledzenia wywołań Cairo | |
8f628762 JB |
221 | Group: Development/Tools |
222 | Requires: %{name} = %{version}-%{release} | |
c0a654a7 | 223 | Requires: binutils-libs >= 2.21.53 |
8f628762 JB |
224 | |
225 | %description trace | |
fde28cff | 226 | Cairo calls tracing utilities. |
8f628762 JB |
227 | |
228 | %description trace -l pl.UTF-8 | |
fde28cff | 229 | Narzędzia do śledzenia wywołań Cairo. |
8f628762 | 230 | |
ecad233f | 231 | %package apidocs |
232 | Summary: Cairo API documentation | |
beb0026f | 233 | Summary(pl.UTF-8): Dokumentacja API Cairo |
ecad233f | 234 | Group: Documentation |
235 | Requires: gtk-doc-common | |
052e014b ER |
236 | %if "%{_rpmversion}" >= "5" |
237 | BuildArch: noarch | |
238 | %endif | |
ecad233f | 239 | |
240 | %description apidocs | |
241 | Cairo API documentation. | |
242 | ||
65aac246 | 243 | %description apidocs -l pl.UTF-8 |
d55df9d3 | 244 | Dokumentacja API Cairo. |
ecad233f | 245 | |
8c7ef450 | 246 | %prep |
56de7934 | 247 | %setup -q |
c9185d93 | 248 | %patch0 -p1 |
eca05c24 | 249 | %patch1 -p1 |
8c7ef450 | 250 | |
5028e0d5 JB |
251 | %if %{without tests} |
252 | %{__sed} -i -e '/SUBDIRS += boilerplate test perf/d' Makefile.am | |
253 | %endif | |
254 | ||
8c7ef450 | 255 | %build |
2e75f7d0 | 256 | %{?with_apidocs:%{__gtkdocize}} |
b7ccdbe1 | 257 | %{__libtoolize} |
75cc31b6 | 258 | %{__aclocal} -I build |
8c7ef450 | 259 | %{__autoheader} |
8c7ef450 | 260 | %{__autoconf} |
b7ccdbe1 | 261 | %{__automake} |
7fdf57cf | 262 | %configure \ |
3396a3ae | 263 | --disable-silent-rules \ |
41415830 JR |
264 | %{__enable_disable cogl} \ |
265 | %{__enable_disable directfb} \ | |
266 | %{__enable_disable gl} \ | |
267 | %{__enable_disable glesv2} \ | |
ba356974 | 268 | %{__enable_disable glesv3} \ |
41415830 JR |
269 | %{__enable_disable apidocs gtk-doc} \ |
270 | %{__enable_disable pdf} \ | |
271 | %{__enable_disable ps} \ | |
272 | %{__enable_disable qt} \ | |
273 | %{__enable_disable svg} \ | |
274 | %{__enable_disable openvg vg} \ | |
275 | %{__enable_disable xcb} \ | |
c0a654a7 | 276 | --enable-ft \ |
2d024fa9 | 277 | --enable-png \ |
e9726ad7 | 278 | --enable-tee \ |
555786d4 | 279 | --enable-xml \ |
7fdf57cf | 280 | --with-html-dir=%{_gtkdocdir} |
0c4a4f34 | 281 | |
8c7ef450 | 282 | %{__make} |
d71997d7 | 283 | %{?with_tests:%{__make} check} |
8c7ef450 | 284 | |
285 | %install | |
286 | rm -rf $RPM_BUILD_ROOT | |
8c7ef450 | 287 | |
288 | %{__make} install \ | |
289 | DESTDIR=$RPM_BUILD_ROOT | |
290 | ||
5028e0d5 JB |
291 | # obsoleted by pkg-config |
292 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcairo*.la | |
8f628762 JB |
293 | # LD_PRELOADable library |
294 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-trace.{la,a} | |
fde28cff JB |
295 | # LD_PRELOADable modules(?) |
296 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/cairo-{fdr,sphinx}.{la,a} | |
8f628762 | 297 | |
fde28cff | 298 | %{!?with_apidocs:%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}/cairo} |
8452c411 | 299 | |
8c7ef450 | 300 | %clean |
301 | rm -rf $RPM_BUILD_ROOT | |
302 | ||
b7ccdbe1 JB |
303 | %post -p /sbin/ldconfig |
304 | %postun -p /sbin/ldconfig | |
8c7ef450 | 305 | |
8f628762 JB |
306 | %post gobject -p /sbin/ldconfig |
307 | %postun gobject -p /sbin/ldconfig | |
308 | ||
b7ccdbe1 JB |
309 | %files |
310 | %defattr(644,root,root,755) | |
9b33cbb5 | 311 | # COPYING contains only notes, not LGPL/MPL texts |
2d024fa9 | 312 | %doc AUTHORS COPYING ChangeLog NEWS README |
daa7aa2f JB |
313 | %attr(755,root,root) %{_libdir}/libcairo.so.*.*.* |
314 | %attr(755,root,root) %ghost %{_libdir}/libcairo.so.2 | |
1fb61c53 PZ |
315 | %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so.*.*.* |
316 | %attr(755,root,root) %ghost %{_libdir}/libcairo-script-interpreter.so.2 | |
8c7ef450 | 317 | |
318 | %files devel | |
319 | %defattr(644,root,root,755) | |
daa7aa2f | 320 | %attr(755,root,root) %{_libdir}/libcairo.so |
1fb61c53 | 321 | %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so |
daa7aa2f | 322 | %{_includedir}/cairo |
8f628762 | 323 | %exclude %{_includedir}/cairo/cairo-gobject.h |
daa7aa2f | 324 | %{_pkgconfigdir}/cairo.pc |
555786d4 | 325 | %{?with_directfb:%{_pkgconfigdir}/cairo-directfb.pc} |
ba356974 | 326 | %if %{with gl} || %{with glesv2} || %{with glesv3} || %{with openvg} |
555786d4 JB |
327 | %{_pkgconfigdir}/cairo-egl.pc |
328 | %endif | |
1fb61c53 | 329 | %{_pkgconfigdir}/cairo-fc.pc |
daa7aa2f | 330 | %{_pkgconfigdir}/cairo-ft.pc |
555786d4 | 331 | %{?with_gl:%{_pkgconfigdir}/cairo-gl.pc} |
ba356974 JB |
332 | %{?with_glesv2:%{_pkgconfigdir}/cairo-glesv2.pc} |
333 | %{?with_glesv3:%{_pkgconfigdir}/cairo-glesv3.pc} | |
555786d4 JB |
334 | %if %{with gl} || %{with openvg} |
335 | %{_pkgconfigdir}/cairo-glx.pc | |
336 | %endif | |
337 | %{?with_pdf:%{_pkgconfigdir}/cairo-pdf.pc} | |
daa7aa2f | 338 | %{_pkgconfigdir}/cairo-png.pc |
555786d4 JB |
339 | %{?with_ps:%{_pkgconfigdir}/cairo-ps.pc} |
340 | %{?with_qt:%{_pkgconfigdir}/cairo-qt.pc} | |
fde28cff | 341 | %{_pkgconfigdir}/cairo-script.pc |
0ecd672c | 342 | %{?with_svg:%{_pkgconfigdir}/cairo-svg.pc} |
e9726ad7 | 343 | %{_pkgconfigdir}/cairo-tee.pc |
555786d4 | 344 | %{?with_openvg:%{_pkgconfigdir}/cairo-vg.pc} |
8452c411 | 345 | %{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc} |
1fb61c53 | 346 | %{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc} |
daa7aa2f JB |
347 | %{_pkgconfigdir}/cairo-xlib.pc |
348 | %{_pkgconfigdir}/cairo-xlib-xrender.pc | |
555786d4 | 349 | %{_pkgconfigdir}/cairo-xml.pc |
b7ccdbe1 JB |
350 | |
351 | %files static | |
352 | %defattr(644,root,root,755) | |
daa7aa2f | 353 | %{_libdir}/libcairo.a |
1fb61c53 | 354 | %{_libdir}/libcairo-script-interpreter.a |
ecad233f | 355 | |
8f628762 JB |
356 | %files gobject |
357 | %defattr(644,root,root,755) | |
358 | %attr(755,root,root) %{_libdir}/libcairo-gobject.so.*.*.* | |
359 | %attr(755,root,root) %ghost %{_libdir}/libcairo-gobject.so.2 | |
360 | ||
361 | %files gobject-devel | |
362 | %defattr(644,root,root,755) | |
363 | %attr(755,root,root) %{_libdir}/libcairo-gobject.so | |
8f628762 JB |
364 | %{_includedir}/cairo/cairo-gobject.h |
365 | %{_pkgconfigdir}/cairo-gobject.pc | |
366 | ||
367 | %files gobject-static | |
368 | %defattr(644,root,root,755) | |
369 | %{_libdir}/libcairo-gobject.a | |
370 | ||
371 | %files trace | |
372 | %defattr(644,root,root,755) | |
fde28cff | 373 | %attr(755,root,root) %{_bindir}/cairo-sphinx |
8f628762 JB |
374 | %attr(755,root,root) %{_bindir}/cairo-trace |
375 | %dir %{_libdir}/cairo | |
fde28cff JB |
376 | %attr(755,root,root) %{_libdir}/cairo/cairo-fdr.so* |
377 | %attr(755,root,root) %{_libdir}/cairo/cairo-sphinx.so* | |
8f628762 JB |
378 | %attr(755,root,root) %{_libdir}/cairo/libcairo-trace.so* |
379 | ||
8452c411 | 380 | %if %{with apidocs} |
ecad233f | 381 | %files apidocs |
382 | %defattr(644,root,root,755) | |
383 | %{_gtkdocdir}/cairo | |
8452c411 | 384 | %endif |