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: tar >= 1:1.22
31 BuildRequires: doxygen
32 BuildRequires: python3-breathe
33 BuildRequires: python3-sphinx_rtd_theme
34 BuildRequires: sphinx-pdg-3
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 Ixion aims to provide a library for calculating the results of formula
40 expressions stored in multiple named targets, or "cells". The cells
41 can be referenced from each other, and the library takes care of
42 resolving their dependencies automatically upon calculation. The
43 caller can run the calculation routine either in a single-threaded
44 mode, or a multi-threaded mode. The library also supports
45 re-calculation where the contents of one or more cells have been
46 modified since the last calculation, and a partial calculation of only
47 the affected cells gets performed. It is written entirely in C++, and
48 makes extensive use of the boost library to achieve portability across
51 %description -l pl.UTF-8
52 Projekt Ixion ma na celu dostarczenie biblioteki do obliczania wyników
53 wyrażeń określonych wzorami zapisanymi w wielu nazwanych miejscach -
54 "komórkach". Komórki mogą odwoływać się do siebie nawzajem, a
55 biblioteka dba o automatyczne rozwiązywanie ich zależności przy
56 obliczeniach. Procedura obliczająca może być wywołana w trybie
57 jednowątkowym lub wielowątkowym. Biblioteka obsługuje także ponowne
58 przeliczanie w przypadku zmiany zawartości jednej lub większej liczby
59 komórek od poprzednich obliczeń; wykonywane jest tylko przeliczanie
60 komórek, których zmiana dotyczy. Biblioteka jest napisana całkowicie w
61 C++ i intensywnie wykorzystuje bibliotekę boost, aby osiągnąć
62 przenośność na wiele platform.
65 Summary: Development files for ixion
66 Summary(pl.UTF-8): Pliki nagłówkowe dla ixion
67 Group: Development/Libraries
68 Requires: %{name} = %{version}-%{release}
69 Requires: boost-devel >= 1.36
70 Requires: libstdc++-devel >= 6:4.7
71 Requires: mdds-devel >= 1.5.0
74 This package contains the header files for developing applications
77 %description devel -l pl.UTF-8
78 Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na
82 Summary: Static ixion library
83 Summary(pl.UTF-8): Statyczna biblioteka ixion
84 Group: Development/Libraries
85 Requires: %{name}-devel = %{version}-%{release}
90 %description static -l pl.UTF-8
91 Statyczna biblioteka ixion.
94 Summary: API documentation for ixion library
95 Summary(pl.UTF-8): Dokumentacja API biblioteki ixion
99 API documentation for ixion library.
101 %description apidocs -l pl.UTF-8
102 Dokumentacja API biblioteki ixion.
104 %package -n python3-ixion
105 Summary: Python 3 interface to ixion library
106 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion
107 Group: Libraries/Python
108 Requires: %{name} = %{version}-%{release}
109 Requires: python3-libs >= 1:3.4
110 # python 2 is no longer supported
111 Obsoletes: python-ixion
113 %description -n python3-ixion
114 Python 3 interface to ixion library.
116 %description -n python3-ixion -l pl.UTF-8
117 Interfejs Pythona 3 do biblioteki ixion.
120 %setup -q -n libixion-%{version}
129 --disable-silent-rules \
130 %{?with_static_libs:--enable-static}
137 sphinx-build-3 -b html . _build
141 rm -rf $RPM_BUILD_ROOT
144 DESTDIR=$RPM_BUILD_ROOT
146 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la
147 %if %{with static_libs}
148 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a
150 # obsoleted by pkg-config
151 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
154 rm -rf $RPM_BUILD_ROOT
156 %post -p /sbin/ldconfig
157 %postun -p /sbin/ldconfig
160 %defattr(644,root,root,755)
161 %doc AUTHORS ChangeLog LICENSE
162 %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer
163 %attr(755,root,root) %{_bindir}/ixion-parser
164 %attr(755,root,root) %{_bindir}/ixion-sorter
165 %attr(755,root,root) %{_libdir}/libixion-0.16.so.*.*.*
166 %attr(755,root,root) %ghost %{_libdir}/libixion-0.16.so.0
169 %defattr(644,root,root,755)
170 %attr(755,root,root) %{_libdir}/libixion-0.16.so
171 %{_includedir}/libixion-0.16
172 %{_pkgconfigdir}/libixion-0.16.pc
174 %if %{with static_libs}
176 %defattr(644,root,root,755)
177 %{_libdir}/libixion-0.16.a
182 %defattr(644,root,root,755)
183 %doc doc/_build/{_static,cpp,overview,python,*.html,*.js}
186 %files -n python3-ixion
187 %defattr(644,root,root,755)
188 %attr(755,root,root) %{py3_sitedir}/ixion.so