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