1 # TODO: dwrite=enabled (BR: libd2d1, libdwrite, d2d1.h, dwrite.h
2 Summary: Cairo - multi-platform 2D graphics library - cross MinGW32 version
3 Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D - skrośna wersja MinGW32
5 Name: crossmingw32-%{realname}
8 License: LGPL v2.1 or MPL v1.1
9 Group: Development/Libraries
10 Source0: https://www.cairographics.org/releases/%{realname}-%{version}.tar.xz
11 # Source0-md5: 3f0685fbadc530606f965b9645bb51d9
12 Patch0: cairo-mingw32.patch
13 URL: https://www.cairographics.org/
14 BuildRequires: crossmingw32-fontconfig >= 2.2.95
15 BuildRequires: crossmingw32-freetype >= 2.13.0
16 BuildRequires: crossmingw32-glib2 >= 2.14
17 BuildRequires: crossmingw32-libpng >= 1.4.0
18 BuildRequires: crossmingw32-pixman >= 0.36.0
19 BuildRequires: crossmingw32-zlib
20 BuildRequires: meson >= 0.59.0
21 BuildRequires: ninja >= 1.5
22 BuildRequires: pkgconfig >= 1:0.18
23 Requires: crossmingw32-fontconfig >= 2.2.95
24 Requires: crossmingw32-freetype >= 2.13.0
25 Requires: crossmingw32-libpng >= 1.4.0
26 Requires: crossmingw32-pixman >= 0.36.0
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 %define no_install_post_strip 1
30 %define _enable_debug_packages 0
32 %define target i386-mingw32
33 %define target_platform i386-pc-mingw32
35 %define _sysprefix /usr
36 %define _prefix %{_sysprefix}/%{target}
37 %define _libdir %{_prefix}/lib
38 %define _pkgconfigdir %{_prefix}/lib/pkgconfig
39 %define _dlldir /usr/share/wine/windows/system
40 %define __cc %{target}-gcc
41 %define __cxx %{target}-g++
42 %define __pkgconfig_provides %{nil}
43 %define __pkgconfig_requires %{nil}
46 # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
49 # -z options are invalid for mingw linker, most of -f options are Linux-specific
50 # note: although C++ code is not used, failing configure check disables DLL building
51 %define filterout_ld -Wl,-z,.*
52 %define filterout_c -f[-a-z0-9=]*
53 %define filterout_cxx -f[-a-z0-9=]*
56 Cairo provides anti-aliased vector-based rendering for X. Paths
57 consist of line segments and cubic splines and can be rendered at any
58 width with various join and cap styles. All colors may be specified
59 with optional translucence (opacity/alpha) and combined using the
60 extended Porter/Duff compositing algebra as found in the X Render
63 Cairo exports a stateful rendering API similar in spirit to the path
64 construction, text, and painting operators of PostScript, (with the
65 significant addition of translucence in the imaging model). When
66 complete, the API is intended to support the complete imaging model of
69 This package contains the cross version for Win32.
71 %description -l pl.UTF-8
72 Cairo obsługuje oparty na wektorach rendering z antyaliasingiem dla X.
73 Ścieżki składają się z odcinków i splajnów kubicznych, a renderowane
74 mogą być z dowolną grubością i różnymi stylami połączeń i zakończeń.
75 Wszystkie kolory mogą być podane z opcjonalną półprzezroczystością
76 (podaną przez współczynnik nieprzezroczystości lub alpha) i łączone
77 przy użyciu rozszerzonego algorytmu składania Portera-Duffa, który
78 można znaleźć w rozszerzeniu X Render.
80 Cairo eksportuje stanowe API renderujące w duchu podobne do operatorów
81 konstruowania ścieżek, tekstu i rysowania z PostScriptu (ze znacznym
82 dodatkiem półprzezroczystości w modelu obrazu). Kiedy API zostanie
83 ukończone, ma obsługiwać pełny model obrazu z PDF w wersji 1.4.
85 Ten pakiet zawiera wersję skrośną dla Win32.
88 Summary: Static Cairo library (cross MinGW32 version)
89 Summary(pl.UTF-8): Statyczna biblioteka Cairo (wersja skrośna MinGW32)
90 Group: Development/Libraries
91 Requires: %{name} = %{version}-%{release}
94 Static Cairo library (cross MinGW32 version).
96 %description static -l pl.UTF-8
97 Statyczna biblioteka Cairo (wersja skrośna MinGW32).
100 Summary: DLL Cairo library for Windows
101 Summary(pl.UTF-8): Biblioteka DLL Cairo dla Windows
102 Group: Applications/Emulators
103 Requires: crossmingw32-fontconfig-dll >= 2.2.95
104 Requires: crossmingw32-freetype-dll >= 2.13.0
105 Requires: crossmingw32-libpng-dll >= 1.4.0
106 Requires: crossmingw32-pixman-dll >= 0.36.0
109 DLL Cairo library for Windows.
111 %description dll -l pl.UTF-8
112 Biblioteka DLL Cairo dla Windows.
115 Summary: Cairo GObject functions library - cross MinGW32 version
116 Summary(pl.UTF-8): Biblioteka funkcji Cairo GObject - wersja skrośna MinGW32
117 Group: Development/Libraries
118 Requires: %{name} = %{version}-%{release}
119 Requires: crossmingw32-glib2 >= 2.14
122 Cairo GObject functions library - cross MinGW32 version.
124 %description gobject -l pl.UTF-8
125 Biblioteka funkcji Cairo GObject - wersja skrośna MinGW32.
127 %package gobject-static
128 Summary: Static Cairo GObject library (cross MinGW32 version)
129 Summary(pl.UTF-8): Statyczna biblioteka Cairo GObject (wersja skrośna MinGW32)
130 Group: Development/Libraries
131 Requires: %{name}-gobject = %{version}-%{release}
133 %description gobject-static
134 Static Cairo GObject library (cross MinGW32 version).
136 %description gobject-static -l pl.UTF-8
137 Statyczna biblioteka Cairo GObject (wersja skrośna MinGW32).
140 Summary: DLL Cairo GObject library for Windows
141 Summary(pl.UTF-8): Biblioteka DLL Cairo GObject dla Windows
142 Group: Applications/Emulators
143 Requires: %{name}-dll = %{version}-%{release}
144 Requires: crossmingw32-glib2-dll >= 2.14
146 %description gobject-dll
147 DLL Cairo GObject library for Windows.
149 %description gobject-dll -l pl.UTF-8
150 Biblioteka DLL Cairo GObject dla Windows.
153 %setup -q -n %{realname}-%{version}
156 cat > meson-cross.txt <<'EOF'
164 cpp = '%{target}-g++'
166 windres = '%{target}-windres'
167 pkgconfig = 'pkg-config'
170 c_args = ['%(echo %{rpmcflags} | sed -e "s/ \+/ /g;s/ /', '/g")']
172 # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc.
178 export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig
180 --cross-file meson-cross.txt \
182 -Dfontconfig=enabled \
192 %ninja_build -C build
195 rm -rf $RPM_BUILD_ROOT
197 %ninja_install -C build
199 install -d $RPM_BUILD_ROOT%{_dlldir}
200 %{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
203 %{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
204 %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
207 rm -rf $RPM_BUILD_ROOT%{_datadir}/gtk-doc
210 rm -rf $RPM_BUILD_ROOT
213 %defattr(644,root,root,755)
214 # COPYING contains only notes, not LGPL/MPL texts
215 %doc AUTHORS COPYING NEWS README.md
216 %{_libdir}/libcairo.dll.a
217 %{_libdir}/libcairo-script-interpreter.dll.a
219 %exclude %{_includedir}/cairo/cairo-gobject.h
220 %{_pkgconfigdir}/cairo.pc
221 %{_pkgconfigdir}/cairo-fc.pc
222 %{_pkgconfigdir}/cairo-ft.pc
223 %{_pkgconfigdir}/cairo-pdf.pc
224 %{_pkgconfigdir}/cairo-png.pc
225 %{_pkgconfigdir}/cairo-ps.pc
226 %{_pkgconfigdir}/cairo-script.pc
227 %{_pkgconfigdir}/cairo-script-interpreter.pc
228 %{_pkgconfigdir}/cairo-svg.pc
229 %{_pkgconfigdir}/cairo-tee.pc
230 %{_pkgconfigdir}/cairo-win32.pc
231 %{_pkgconfigdir}/cairo-win32-font.pc
234 %defattr(644,root,root,755)
235 %{_libdir}/libcairo.a
236 %{_libdir}/libcairo-script-interpreter.a
239 %defattr(644,root,root,755)
240 %{_dlldir}/libcairo-2.dll
241 %{_dlldir}/libcairo-script-interpreter-2.dll
244 %defattr(644,root,root,755)
245 %{_libdir}/libcairo-gobject.dll.a
246 %{_includedir}/cairo/cairo-gobject.h
247 %{_pkgconfigdir}/cairo-gobject.pc
249 %files gobject-static
250 %defattr(644,root,root,755)
251 %{_libdir}/libcairo-gobject.a
254 %defattr(644,root,root,755)
255 %{_dlldir}/libcairo-gobject-2.dll