3 %bcond_without apidocs # Sphinx documentation
4 %bcond_without static_libs # static library
6 Summary: Generic formula compulation library
7 Summary(pl.UTF-8): Ogólna biblioteka do obliczania wzorów
13 #Source0Download: https://gitlab.com/ixion/ixion/-/releases
14 Source0: http://kohei.us/files/ixion/src/libixion-%{version}.tar.xz
15 # Source0-md5: 6aef823752990d193e5cf80a87d0ef58
16 Patch0: %{name}-flags.patch
17 URL: https://gitlab.com/ixion/ixion
18 BuildRequires: autoconf >= 2.63
19 BuildRequires: automake >= 1:1.11
20 BuildRequires: boost-devel >= 1.36
21 BuildRequires: libstdc++-devel >= 6:4.7
22 BuildRequires: libtool >= 2:2
23 BuildRequires: mdds-devel >= 1.5.0
24 BuildRequires: pkgconfig
25 BuildRequires: python3 >= 1:3.4
26 BuildRequires: python3-devel >= 1:3.4
27 BuildRequires: rpmbuild(macros) >= 1.734
28 BuildRequires: spdlog-devel >= 0.16.0
29 BuildRequires: tar >= 1:1.22
32 BuildRequires: doxygen
33 BuildRequires: python3-breathe
34 BuildRequires: python3-sphinx_rtd_theme
35 BuildRequires: sphinx-pdg-3
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40 Ixion aims to provide a library for calculating the results of formula
41 expressions stored in multiple named targets, or "cells". The cells
42 can be referenced from each other, and the library takes care of
43 resolving their dependencies automatically upon calculation. The
44 caller can run the calculation routine either in a single-threaded
45 mode, or a multi-threaded mode. The library also supports
46 re-calculation where the contents of one or more cells have been
47 modified since the last calculation, and a partial calculation of only
48 the affected cells gets performed. It is written entirely in C++, and
49 makes extensive use of the boost library to achieve portability across
52 %description -l pl.UTF-8
53 Projekt Ixion ma na celu dostarczenie biblioteki do obliczania wyników
54 wyrażeń określonych wzorami zapisanymi w wielu nazwanych miejscach -
55 "komórkach". Komórki mogą odwoływać się do siebie nawzajem, a
56 biblioteka dba o automatyczne rozwiązywanie ich zależności przy
57 obliczeniach. Procedura obliczająca może być wywołana w trybie
58 jednowątkowym lub wielowątkowym. Biblioteka obsługuje także ponowne
59 przeliczanie w przypadku zmiany zawartości jednej lub większej liczby
60 komórek od poprzednich obliczeń; wykonywane jest tylko przeliczanie
61 komórek, których zmiana dotyczy. Biblioteka jest napisana całkowicie w
62 C++ i intensywnie wykorzystuje bibliotekę boost, aby osiągnąć
63 przenośność na wiele platform.
66 Summary: Development files for ixion
67 Summary(pl.UTF-8): Pliki nagłówkowe dla ixion
68 Group: Development/Libraries
69 Requires: %{name} = %{version}-%{release}
70 Requires: boost-devel >= 1.36
71 Requires: libstdc++-devel >= 6:4.7
72 Requires: mdds-devel >= 1.5.0
75 This package contains the header files for developing applications
78 %description devel -l pl.UTF-8
79 Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na
83 Summary: Static ixion library
84 Summary(pl.UTF-8): Statyczna biblioteka ixion
85 Group: Development/Libraries
86 Requires: %{name}-devel = %{version}-%{release}
91 %description static -l pl.UTF-8
92 Statyczna biblioteka ixion.
95 Summary: API documentation for ixion library
96 Summary(pl.UTF-8): Dokumentacja API biblioteki ixion
100 API documentation for ixion library.
102 %description apidocs -l pl.UTF-8
103 Dokumentacja API biblioteki ixion.
105 %package -n python3-ixion
106 Summary: Python 3 interface to ixion library
107 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion
108 Group: Libraries/Python
109 Requires: %{name} = %{version}-%{release}
110 Requires: python3-libs >= 1:3.4
111 # python 2 is no longer supported
112 Obsoletes: python-ixion
114 %description -n python3-ixion
115 Python 3 interface to ixion library.
117 %description -n python3-ixion -l pl.UTF-8
118 Interfejs Pythona 3 do biblioteki ixion.
121 %setup -q -n libixion-%{version}
130 --disable-silent-rules \
131 %{?with_static_libs:--enable-static}
138 sphinx-build-3 -b html . _build
142 rm -rf $RPM_BUILD_ROOT
145 DESTDIR=$RPM_BUILD_ROOT
147 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la
148 %if %{with static_libs}
149 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a
151 # obsoleted by pkg-config
152 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
155 rm -rf $RPM_BUILD_ROOT
157 %post -p /sbin/ldconfig
158 %postun -p /sbin/ldconfig
161 %defattr(644,root,root,755)
162 %doc AUTHORS ChangeLog LICENSE
163 %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer
164 %attr(755,root,root) %{_bindir}/ixion-parser
165 %attr(755,root,root) %{_bindir}/ixion-sorter
166 %attr(755,root,root) %{_libdir}/libixion-0.16.so.*.*.*
167 %attr(755,root,root) %ghost %{_libdir}/libixion-0.16.so.0
170 %defattr(644,root,root,755)
171 %attr(755,root,root) %{_libdir}/libixion-0.16.so
172 %{_includedir}/libixion-0.16
173 %{_pkgconfigdir}/libixion-0.16.pc
175 %if %{with static_libs}
177 %defattr(644,root,root,755)
178 %{_libdir}/libixion-0.16.a
183 %defattr(644,root,root,755)
184 %doc doc/_build/{_static,cpp,overview,python,*.html,*.js}
187 %files -n python3-ixion
188 %defattr(644,root,root,755)
189 %attr(755,root,root) %{py3_sitedir}/ixion.so