]>
Commit | Line | Data |
---|---|---|
15a9b2f4 JB |
1 | Summary: C++ wrapper for cairo - cross MinGW32 version |
2 | Summary(pl.UTF-8): Interfejs C++ do cairo - wersja skrośna dla MinGW32 | |
200e440d JB |
3 | %define realname cairomm |
4 | Name: crossmingw32-%{realname} | |
1f7571e9 JB |
5 | Version: 1.14.2 |
6 | Release: 1 | |
af2de4ef | 7 | License: LGPL v2+ |
767dee0d | 8 | Group: Development/Libraries |
1f7571e9 JB |
9 | Source0: https://www.cairographics.org/releases/%{realname}-%{version}.tar.xz |
10 | # Source0-md5: fbcaad2d3756b42592fe8c92b39945f5 | |
cd4433dd | 11 | URL: https://www.cairographics.org/ |
1f7571e9 | 12 | BuildRequires: crossmingw32-cairo >= 1.12.0 |
684a9da7 | 13 | BuildRequires: crossmingw32-gcc-c++ >= 1:4.6 |
1f7571e9 JB |
14 | BuildRequires: crossmingw32-libsigc++ >= 2.6.0 |
15 | BuildRequires: meson >= 0.50.0 | |
8214af74 | 16 | BuildRequires: mm-common >= 1.0.0 |
1f7571e9 | 17 | BuildRequires: ninja >= 1.5 |
4764e809 | 18 | BuildRequires: pkgconfig >= 1:0.15 |
1f7571e9 JB |
19 | BuildRequires: python3 >= 1:3.5 |
20 | BuildRequires: rpmbuild(macros) >= 1.736 | |
21 | BuildRequires: tar >= 1:1.22 | |
22 | BuildRequires: xz | |
23 | Requires: crossmingw32-cairo >= 1.12.0 | |
684a9da7 | 24 | Requires: crossmingw32-gcc-c++ >= 1:4.6 |
1f7571e9 | 25 | Requires: crossmingw32-libsigc++ >= 2.6.0 |
af2de4ef | 26 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
27 | ||
28 | %define no_install_post_strip 1 | |
29 | ||
30 | %define target i386-mingw32 | |
31 | %define target_platform i386-pc-mingw32 | |
af2de4ef | 32 | |
33 | %define _sysprefix /usr | |
34 | %define _prefix %{_sysprefix}/%{target} | |
9f1d7d09 | 35 | %define _libdir %{_prefix}/lib |
af2de4ef | 36 | %define _pkgconfigdir %{_prefix}/lib/pkgconfig |
767dee0d | 37 | %define _dlldir /usr/share/wine/windows/system |
af2de4ef | 38 | %define __cc %{target}-gcc |
39 | %define __cxx %{target}-g++ | |
d3371b3e | 40 | %define __pkgconfig_provides %{nil} |
df17214c | 41 | %define __pkgconfig_requires %{nil} |
af2de4ef | 42 | |
96c9035c | 43 | # -z options are invalid for mingw linker, most of -f options are Linux-specific |
e71c284c | 44 | %define filterout_ld -Wl,-z,.* |
1f7571e9 JB |
45 | %define filterout_c -f[-a-z0-9=]* |
46 | %define filterout_cxx -f[-a-z0-9=]* | |
e71c284c | 47 | |
af2de4ef | 48 | %description |
15a9b2f4 | 49 | C++ wrapper for cairo (cross MinGW32 version). |
af2de4ef | 50 | |
51 | %description -l pl.UTF-8 | |
15a9b2f4 | 52 | Interfejs C++ do cairo (wersja skrośna MinGW32). |
767dee0d JB |
53 | |
54 | %package static | |
15a9b2f4 JB |
55 | Summary: Static cairomm library (cross MinGW32 version) |
56 | Summary(pl.UTF-8): Statyczna biblioteka cairomm (wersja skrośna MinGW32) | |
767dee0d JB |
57 | Group: Development/Libraries |
58 | Requires: %{name} = %{version}-%{release} | |
59 | ||
60 | %description static | |
15a9b2f4 | 61 | Static cairomm library (cross MinGW32 version). |
767dee0d JB |
62 | |
63 | %description static -l pl.UTF-8 | |
15a9b2f4 | 64 | Statyczna biblioteka cairomm (wersja skrośna MinGW32). |
767dee0d JB |
65 | |
66 | %package dll | |
67 | Summary: DLL cairomm library for Windows | |
68 | Summary(pl.UTF-8): Biblioteka DLL cairomm dla Windows | |
69 | Group: Applications/Emulators | |
1f7571e9 JB |
70 | Requires: crossmingw32-cairo-dll >= 1.12.0 |
71 | Requires: crossmingw32-libsigc++-dll >= 2.6.0 | |
767dee0d JB |
72 | |
73 | %description dll | |
74 | DLL cairomm library for Windows. | |
75 | ||
76 | %description dll -l pl.UTF-8 | |
77 | Biblioteka DLL cairomm dla Windows. | |
af2de4ef | 78 | |
79 | %prep | |
200e440d | 80 | %setup -q -n %{realname}-%{version} |
af2de4ef | 81 | |
1f7571e9 JB |
82 | cat > meson-cross.txt <<'EOF' |
83 | [host_machine] | |
84 | system = 'windows' | |
85 | cpu_family = 'x86' | |
86 | cpu = 'i386' | |
87 | endian='little' | |
88 | [binaries] | |
89 | c = '%{target}-gcc' | |
90 | cpp = '%{target}-g++' | |
91 | ar = '%{target}-ar' | |
92 | windres = '%{target}-windres' | |
93 | pkgconfig = 'pkg-config' | |
94 | [properties] | |
95 | %ifarch %{ix86} | |
96 | c_args = ['%(echo %{rpmcflags} | sed -e "s/ \+/ /g;s/ /', '/g")'] | |
97 | %else | |
98 | # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc. | |
99 | # now at least i486 is required for atomic operations | |
100 | c_args = ['-O2'] | |
101 | %endif | |
102 | EOF | |
103 | ||
af2de4ef | 104 | %build |
4764e809 | 105 | export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig |
1f7571e9 JB |
106 | %meson build \ |
107 | --cross-file meson-cross.txt | |
108 | ||
109 | %ninja_build -C build | |
af2de4ef | 110 | |
111 | %install | |
112 | rm -rf $RPM_BUILD_ROOT | |
113 | ||
1f7571e9 | 114 | %ninja_install -C build |
af2de4ef | 115 | |
767dee0d | 116 | install -d $RPM_BUILD_ROOT%{_dlldir} |
684a9da7 | 117 | %{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir} |
767dee0d JB |
118 | |
119 | %if 0%{!?debug:1} | |
120 | %{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll | |
121 | %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a | |
122 | %endif | |
123 | ||
af2de4ef | 124 | %clean |
125 | rm -rf $RPM_BUILD_ROOT | |
126 | ||
127 | %files | |
128 | %defattr(644,root,root,755) | |
8f5013f7 | 129 | %doc AUTHORS ChangeLog MAINTAINERS NEWS README |
767dee0d | 130 | %{_libdir}/libcairomm-1.0.dll.a |
15a9b2f4 JB |
131 | %{_libdir}/cairomm-1.0 |
132 | %{_includedir}/cairomm-1.0 | |
af2de4ef | 133 | %{_pkgconfigdir}/cairomm-1.0.pc |
15a9b2f4 JB |
134 | %{_pkgconfigdir}/cairomm-ft-1.0.pc |
135 | %{_pkgconfigdir}/cairomm-pdf-1.0.pc | |
136 | %{_pkgconfigdir}/cairomm-png-1.0.pc | |
137 | %{_pkgconfigdir}/cairomm-ps-1.0.pc | |
138 | %{_pkgconfigdir}/cairomm-svg-1.0.pc | |
139 | %{_pkgconfigdir}/cairomm-win32-1.0.pc | |
140 | %{_pkgconfigdir}/cairomm-win32-font-1.0.pc | |
767dee0d JB |
141 | |
142 | %files static | |
143 | %defattr(644,root,root,755) | |
144 | %{_libdir}/libcairomm-1.0.a | |
145 | ||
146 | %files dll | |
147 | %defattr(644,root,root,755) | |
58e16188 | 148 | %{_dlldir}/libcairomm-1.0-1.dll |