3 %bcond_without apidocs # disable gtk-doc
4 %bcond_without pdf # PDF surface backend
5 %bcond_without svg # SVG surface backend
6 %bcond_without xcb # XCB backend
7 %bcond_with tests # perform tests (can fail due to out of memory)
8 %bcond_without static_libs # static libraries
10 Summary: Cairo - multi-platform 2D graphics library
11 Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D
15 License: LGPL v2.1 or MPL v1.1
17 Source0: https://www.cairographics.org/releases/%{name}-%{version}.tar.xz
18 # Source0-md5: 3f0685fbadc530606f965b9645bb51d9
19 URL: https://www.cairographics.org/
20 BuildRequires: binutils-devel
21 BuildRequires: fontconfig-devel >= 2.2.95
24 BuildRequires: fonttools
26 # pkgconfig(freetype2) >= 25.0.19
27 BuildRequires: freetype-devel >= 1:2.13.0
28 BuildRequires: glib2-devel >= 1:2.14
29 %{?with_apidocs:BuildRequires: gtk-doc >= 1.15}
30 BuildRequires: libpng-devel >= 2:1.4.0
31 %if %{with svg} && %{with tests}
32 BuildRequires: librsvg-devel >= 2.35.0
35 BuildRequires: libspectre-devel >= 0.2.0
37 %{?with_xcb:BuildRequires: libxcb-devel >= 1.6}
38 BuildRequires: lzo-devel >= 2
39 BuildRequires: meson >= 0.59.0
40 BuildRequires: ninja >= 1.5
41 BuildRequires: pixman-devel >= 0.36.0
42 BuildRequires: pkgconfig >= 1:0.18
43 %if %{with pdf} && %{with tests}
44 BuildRequires: poppler-glib-devel >= 0.17.4
46 BuildRequires: rpm >= 4.4.9-56
47 BuildRequires: rpm-build >= 4.6
48 BuildRequires: rpmbuild(macros) >= 1.736
49 BuildRequires: sed >= 4.0
50 BuildRequires: tar >= 1:1.22
51 BuildRequires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
52 BuildRequires: xorg-lib-libXext-devel
53 BuildRequires: xorg-lib-libXrender-devel >= 0.6
55 BuildRequires: zlib-devel
56 Requires: fontconfig-libs >= 2.2.95
57 Requires: freetype >= 1:2.13.0
58 %{?with_xcb:Requires: libxcb >= 1.6}
59 Requires: pixman >= 0.36.0
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 Cairo provides anti-aliased vector-based rendering for X. Paths
64 consist of line segments and cubic splines and can be rendered at any
65 width with various join and cap styles. All colors may be specified
66 with optional translucence (opacity/alpha) and combined using the
67 extended Porter/Duff compositing algebra as found in the X Render
70 Cairo exports a stateful rendering API similar in spirit to the path
71 construction, text, and painting operators of PostScript, (with the
72 significant addition of translucence in the imaging model). When
73 complete, the API is intended to support the complete imaging model of
76 %description -l pl.UTF-8
77 Cairo obsługuje oparty na wektorach rendering z antyaliasingiem dla X.
78 Ścieżki składają się z odcinków i splajnów kubicznych, a renderowane
79 mogą być z dowolną grubością i różnymi stylami połączeń i zakończeń.
80 Wszystkie kolory mogą być podane z opcjonalną półprzezroczystością
81 (podaną przez współczynnik nieprzezroczystości lub alpha) i łączone
82 przy użyciu rozszerzonego algorytmu składania Portera-Duffa, który
83 można znaleźć w rozszerzeniu X Render.
85 Cairo eksportuje stanowe API renderujące w duchu podobne do operatorów
86 konstruowania ścieżek, tekstu i rysowania z PostScriptu (ze znacznym
87 dodatkiem półprzezroczystości w modelu obrazu). Kiedy API zostanie
88 ukończone, ma obsługiwać pełny model obrazu z PDF w wersji 1.4.
91 Summary: Development files for Cairo library
92 Summary(pl.UTF-8): Pliki programistyczne biblioteki Cairo
93 Group: Development/Libraries
94 Requires: %{name} = %{version}-%{release}
95 Requires: fontconfig-devel >= 2.2.95
96 Requires: freetype-devel >= 1:2.13.0
97 Requires: libpng-devel >= 2:1.4.0
98 %{?with_xcb:Requires: libxcb-devel >= 1.6}
99 Requires: lzo-devel >= 2
100 Requires: pixman-devel >= 0.36.0
101 Requires: xorg-lib-libX11-devel%{?with_xcb: >= 1.1}
102 Requires: xorg-lib-libXext-devel
103 Requires: xorg-lib-libXrender-devel >= 0.6
107 Development files for Cairo library.
109 %description devel -l pl.UTF-8
110 Pliki programistyczne biblioteki Cairo.
113 Summary: Static Cairo library
114 Summary(pl.UTF-8): Statyczna biblioteka Cairo
115 Group: Development/Libraries
116 Requires: %{name}-devel = %{version}-%{release}
119 Static Cairo library.
121 %description static -l pl.UTF-8
122 Statyczna biblioteka Cairo.
125 Summary: GObject functions library for Cairo graphics library
126 Summary(pl.UTF-8): Biblioteka funkcji GObject dla biblioteki graficznej Cairo
128 Requires: %{name} = %{version}-%{release}
129 Requires: glib2 >= 1:2.14
132 GObject functions library for Cairo graphics library.
134 %description gobject -l pl.UTF-8
135 Biblioteka funkcji GObject dla biblioteki graficznej Cairo.
137 %package gobject-devel
138 Summary: Header files for Cairo GObject library
139 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Cairo GObject
140 Group: Development/Libraries
141 Requires: %{name}-devel = %{version}-%{release}
142 Requires: %{name}-gobject = %{version}-%{release}
143 Requires: glib2-devel >= 1:2.14
145 %description gobject-devel
146 Header files for Cairo GObject library.
148 %description gobject-devel -l pl.UTF-8
149 Pliki nagłówkowe biblioteki Cairo GObject.
151 %package gobject-static
152 Summary: Static Cairo GObject library
153 Summary(pl.UTF-8): Statyczna biblioteka Cairo GObject
154 Group: Development/Libraries
155 Requires: %{name}-gobject-devel = %{version}-%{release}
157 %description gobject-static
158 Static Cairo GObject library.
160 %description gobject-static -l pl.UTF-8
161 Statyczna biblioteka Cairo GObject.
164 Summary: Cairo calls tracing utilities
165 Summary(pl.UTF-8): Narzędzia do śledzenia wywołań Cairo
166 Group: Development/Tools
167 Requires: %{name} = %{version}-%{release}
168 Requires: binutils-libs >= 2.21.53
171 Cairo calls tracing utilities.
173 %description trace -l pl.UTF-8
174 Narzędzia do śledzenia wywołań Cairo.
177 Summary: Cairo API documentation
178 Summary(pl.UTF-8): Dokumentacja API Cairo
180 Requires: gtk-doc-common
184 Cairo API documentation.
186 %description apidocs -l pl.UTF-8
187 Dokumentacja API Cairo.
194 %{!?with_static_libs:--default-library=shared} \
195 -Dfontconfig=enabled \
197 -Dgtk_doc=%{__true_false apidocs} \
199 -Dspectre=%{__enabled_disabled tests} \
202 -Dxcb=%{__enabled_disabled xcb} \
206 %ninja_build -C build
208 %{?with_tests:%ninja_test -C build}
211 rm -rf $RPM_BUILD_ROOT
213 %ninja_install -C build
215 # LD_PRELOADable library
216 %{?with_static_libs:%{__rm} $RPM_BUILD_ROOT%{_libdir}/cairo/libcairo-{fdr,trace}.a}
219 rm -rf $RPM_BUILD_ROOT
221 %post -p /sbin/ldconfig
222 %postun -p /sbin/ldconfig
224 %post gobject -p /sbin/ldconfig
225 %postun gobject -p /sbin/ldconfig
228 %defattr(644,root,root,755)
229 # COPYING contains only notes, not LGPL/MPL texts
230 %doc AUTHORS BUGS COPYING NEWS README.md
231 %attr(755,root,root) %{_libdir}/libcairo.so.*.*.*
232 %attr(755,root,root) %ghost %{_libdir}/libcairo.so.2
233 %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so.*.*.*
234 %attr(755,root,root) %ghost %{_libdir}/libcairo-script-interpreter.so.2
237 %defattr(644,root,root,755)
238 %attr(755,root,root) %{_libdir}/libcairo.so
239 %attr(755,root,root) %{_libdir}/libcairo-script-interpreter.so
241 %exclude %{_includedir}/cairo/cairo-gobject.h
242 %{_pkgconfigdir}/cairo.pc
243 %{_pkgconfigdir}/cairo-fc.pc
244 %{_pkgconfigdir}/cairo-ft.pc
245 %{?with_pdf:%{_pkgconfigdir}/cairo-pdf.pc}
246 %{_pkgconfigdir}/cairo-png.pc
247 %{_pkgconfigdir}/cairo-ps.pc
248 %{_pkgconfigdir}/cairo-script.pc
249 %{_pkgconfigdir}/cairo-script-interpreter.pc
250 %{?with_svg:%{_pkgconfigdir}/cairo-svg.pc}
251 %{_pkgconfigdir}/cairo-tee.pc
252 %{?with_xcb:%{_pkgconfigdir}/cairo-xcb.pc}
253 %{?with_xcb:%{_pkgconfigdir}/cairo-xcb-shm.pc}
254 %{_pkgconfigdir}/cairo-xlib.pc
255 %{_pkgconfigdir}/cairo-xlib-xrender.pc
257 %if %{with static_libs}
259 %defattr(644,root,root,755)
260 %{_libdir}/libcairo.a
261 %{_libdir}/libcairo-script-interpreter.a
265 %defattr(644,root,root,755)
266 %attr(755,root,root) %{_libdir}/libcairo-gobject.so.*.*.*
267 %attr(755,root,root) %ghost %{_libdir}/libcairo-gobject.so.2
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/libcairo-gobject.so
272 %{_includedir}/cairo/cairo-gobject.h
273 %{_pkgconfigdir}/cairo-gobject.pc
275 %if %{with static_libs}
276 %files gobject-static
277 %defattr(644,root,root,755)
278 %{_libdir}/libcairo-gobject.a
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_bindir}/cairo-trace
284 %dir %{_libdir}/cairo
285 %attr(755,root,root) %{_libdir}/cairo/libcairo-fdr.so
286 %attr(755,root,root) %{_libdir}/cairo/libcairo-trace.so*
290 %defattr(644,root,root,755)