]>
Commit | Line | Data |
---|---|---|
fb44557a JB |
1 | # |
2 | # Conditional build: | |
c25abc2a | 3 | %bcond_without apidocs # Sphinx documentation |
fb44557a | 4 | %bcond_without static_libs # static library |
9fdce8b9 | 5 | %bcond_with vulkan # Vulkan compute engine (vulkan_spirv_blobs.inl missing) |
4fca7b80 | 6 | |
fb44557a JB |
7 | Summary: Generic formula compulation library |
8 | Summary(pl.UTF-8): Ogólna biblioteka do obliczania wzorów | |
9 | Name: ixion | |
9fdce8b9 JB |
10 | # keep in sync with BuildRequires in liborcus.spec |
11 | Version: 0.17.0 | |
e3cb5d14 | 12 | Release: 2 |
0885abe8 | 13 | License: MPL v2.0 |
fb44557a | 14 | Group: Libraries |
0d183cd8 | 15 | #Source0Download: https://gitlab.com/ixion/ixion/-/releases |
0885abe8 | 16 | Source0: http://kohei.us/files/ixion/src/libixion-%{version}.tar.xz |
9fdce8b9 | 17 | # Source0-md5: bdb1aeaaf93dc0b4ffd0772d309a0f58 |
0885abe8 | 18 | Patch0: %{name}-flags.patch |
ef81fbd2 | 19 | URL: https://gitlab.com/ixion/ixion |
9fdce8b9 | 20 | %{?with_vulkan:BuildRequires: Vulkan-Loader-devel >= 1.2.0} |
b8fb894e | 21 | BuildRequires: autoconf >= 2.63 |
f369ddf3 | 22 | BuildRequires: automake >= 1:1.11 |
fb44557a | 23 | BuildRequires: boost-devel >= 1.36 |
9fdce8b9 | 24 | BuildRequires: libstdc++-devel >= 6:7 |
940f72a8 | 25 | BuildRequires: libtool >= 2:2 |
9fdce8b9 | 26 | BuildRequires: mdds-devel >= 2.0.0 |
60ae9d27 | 27 | BuildRequires: mdds-devel < 2.1 |
4fca7b80 | 28 | BuildRequires: pkgconfig |
9c6a3add JB |
29 | BuildRequires: python3 >= 1:3.4 |
30 | BuildRequires: python3-devel >= 1:3.4 | |
9fdce8b9 | 31 | BuildRequires: rpm-build >= 4.6 |
7439de13 | 32 | BuildRequires: rpmbuild(macros) >= 1.734 |
ef81fbd2 JB |
33 | BuildRequires: tar >= 1:1.22 |
34 | BuildRequires: xz | |
c25abc2a JB |
35 | %if %{with apidocs} |
36 | BuildRequires: doxygen | |
37 | BuildRequires: python3-breathe | |
af29c612 | 38 | BuildRequires: python3-sphinx_rtd_theme |
c25abc2a JB |
39 | BuildRequires: sphinx-pdg-3 |
40 | %endif | |
fb44557a JB |
41 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
42 | ||
43 | %description | |
44 | Ixion aims to provide a library for calculating the results of formula | |
45 | expressions stored in multiple named targets, or "cells". The cells | |
46 | can be referenced from each other, and the library takes care of | |
47 | resolving their dependencies automatically upon calculation. The | |
48 | caller can run the calculation routine either in a single-threaded | |
49 | mode, or a multi-threaded mode. The library also supports | |
50 | re-calculation where the contents of one or more cells have been | |
51 | modified since the last calculation, and a partial calculation of only | |
52 | the affected cells gets performed. It is written entirely in C++, and | |
53 | makes extensive use of the boost library to achieve portability across | |
54 | different platforms. | |
55 | ||
56 | %description -l pl.UTF-8 | |
57 | Projekt Ixion ma na celu dostarczenie biblioteki do obliczania wyników | |
58 | wyrażeń określonych wzorami zapisanymi w wielu nazwanych miejscach - | |
59 | "komórkach". Komórki mogą odwoływać się do siebie nawzajem, a | |
60 | biblioteka dba o automatyczne rozwiązywanie ich zależności przy | |
61 | obliczeniach. Procedura obliczająca może być wywołana w trybie | |
62 | jednowątkowym lub wielowątkowym. Biblioteka obsługuje także ponowne | |
63 | przeliczanie w przypadku zmiany zawartości jednej lub większej liczby | |
64 | komórek od poprzednich obliczeń; wykonywane jest tylko przeliczanie | |
65 | komórek, których zmiana dotyczy. Biblioteka jest napisana całkowicie w | |
66 | C++ i intensywnie wykorzystuje bibliotekę boost, aby osiągnąć | |
67 | przenośność na wiele platform. | |
68 | ||
69 | %package devel | |
70 | Summary: Development files for ixion | |
71 | Summary(pl.UTF-8): Pliki nagłówkowe dla ixion | |
72 | Group: Development/Libraries | |
73 | Requires: %{name} = %{version}-%{release} | |
74 | Requires: boost-devel >= 1.36 | |
9fdce8b9 JB |
75 | Requires: libstdc++-devel >= 6:7 |
76 | Requires: mdds-devel >= 2.0.0 | |
fb44557a JB |
77 | |
78 | %description devel | |
79 | This package contains the header files for developing applications | |
80 | that use ixion. | |
81 | ||
82 | %description devel -l pl.UTF-8 | |
83 | Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na | |
84 | ixion. | |
85 | ||
86 | %package static | |
87 | Summary: Static ixion library | |
88 | Summary(pl.UTF-8): Statyczna biblioteka ixion | |
89 | Group: Development/Libraries | |
90 | Requires: %{name}-devel = %{version}-%{release} | |
91 | ||
92 | %description static | |
93 | Static ixion library. | |
94 | ||
95 | %description static -l pl.UTF-8 | |
96 | Statyczna biblioteka ixion. | |
97 | ||
c25abc2a JB |
98 | %package apidocs |
99 | Summary: API documentation for ixion library | |
100 | Summary(pl.UTF-8): Dokumentacja API biblioteki ixion | |
101 | Group: Documentation | |
9fdce8b9 | 102 | BuildArch: noarch |
c25abc2a JB |
103 | |
104 | %description apidocs | |
105 | API documentation for ixion library. | |
106 | ||
107 | %description apidocs -l pl.UTF-8 | |
108 | Dokumentacja API biblioteki ixion. | |
109 | ||
0885abe8 JB |
110 | %package -n python3-ixion |
111 | Summary: Python 3 interface to ixion library | |
112 | Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion | |
ef81fbd2 JB |
113 | Group: Libraries/Python |
114 | Requires: %{name} = %{version}-%{release} | |
9c6a3add | 115 | Requires: python3-libs >= 1:3.4 |
0885abe8 | 116 | # python 2 is no longer supported |
9fdce8b9 | 117 | Obsoletes: python-ixion < 0.11 |
ef81fbd2 | 118 | |
0885abe8 JB |
119 | %description -n python3-ixion |
120 | Python 3 interface to ixion library. | |
ef81fbd2 | 121 | |
0885abe8 JB |
122 | %description -n python3-ixion -l pl.UTF-8 |
123 | Interfejs Pythona 3 do biblioteki ixion. | |
ef81fbd2 | 124 | |
fb44557a | 125 | %prep |
0885abe8 | 126 | %setup -q -n libixion-%{version} |
70d27115 | 127 | %patch0 -p1 |
fb44557a JB |
128 | |
129 | %build | |
b8fb894e JB |
130 | %{__libtoolize} |
131 | %{__aclocal} -I m4 | |
132 | %{__autoconf} | |
9fdce8b9 | 133 | %{__autoheader} |
b8fb894e | 134 | %{__automake} |
fb44557a | 135 | %configure \ |
940f72a8 | 136 | --disable-silent-rules \ |
9fdce8b9 JB |
137 | %{?with_static_libs:--enable-static} \ |
138 | %{?with_vulkan:--enable-vulkan} | |
fb44557a JB |
139 | |
140 | %{__make} | |
141 | ||
c25abc2a JB |
142 | %if %{with apidocs} |
143 | cd doc | |
144 | doxygen doxygen.conf | |
145 | sphinx-build-3 -b html . _build | |
146 | %endif | |
fb44557a JB |
147 | |
148 | %install | |
149 | rm -rf $RPM_BUILD_ROOT | |
c25abc2a | 150 | |
fb44557a JB |
151 | %{__make} install \ |
152 | DESTDIR=$RPM_BUILD_ROOT | |
153 | ||
0885abe8 | 154 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la |
ef81fbd2 | 155 | %if %{with static_libs} |
0885abe8 | 156 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a |
ef81fbd2 | 157 | %endif |
fb44557a JB |
158 | # obsoleted by pkg-config |
159 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
160 | ||
161 | %clean | |
162 | rm -rf $RPM_BUILD_ROOT | |
163 | ||
164 | %post -p /sbin/ldconfig | |
165 | %postun -p /sbin/ldconfig | |
166 | ||
167 | %files | |
168 | %defattr(644,root,root,755) | |
0d183cd8 | 169 | %doc AUTHORS ChangeLog LICENSE |
cec02f4e | 170 | %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer |
fb44557a JB |
171 | %attr(755,root,root) %{_bindir}/ixion-parser |
172 | %attr(755,root,root) %{_bindir}/ixion-sorter | |
9fdce8b9 JB |
173 | %attr(755,root,root) %{_libdir}/libixion-0.17.so.*.*.* |
174 | %attr(755,root,root) %ghost %{_libdir}/libixion-0.17.so.0 | |
fb44557a JB |
175 | |
176 | %files devel | |
177 | %defattr(644,root,root,755) | |
9fdce8b9 JB |
178 | %attr(755,root,root) %{_libdir}/libixion-0.17.so |
179 | %{_includedir}/libixion-0.17 | |
180 | %{_pkgconfigdir}/libixion-0.17.pc | |
fb44557a JB |
181 | |
182 | %if %{with static_libs} | |
183 | %files static | |
184 | %defattr(644,root,root,755) | |
9fdce8b9 | 185 | %{_libdir}/libixion-0.17.a |
fb44557a | 186 | %endif |
ef81fbd2 | 187 | |
c25abc2a JB |
188 | %if %{with apidocs} |
189 | %files apidocs | |
190 | %defattr(644,root,root,755) | |
100dfb54 | 191 | %doc doc/_build/{_static,cpp,overview,python,*.html,*.js} |
c25abc2a JB |
192 | %endif |
193 | ||
0885abe8 | 194 | %files -n python3-ixion |
ef81fbd2 | 195 | %defattr(644,root,root,755) |
0885abe8 | 196 | %attr(755,root,root) %{py3_sitedir}/ixion.so |