3 %bcond_without apidocs # Sphinx documentation
4 %bcond_without static_libs # static library
5 %bcond_with vulkan # Vulkan compute engine (vulkan_spirv_blobs.inl missing)
7 Summary: Generic formula compulation library
8 Summary(pl.UTF-8): Ogólna biblioteka do obliczania wzorów
10 # keep in sync with BuildRequires in liborcus.spec
15 #Source0Download: https://gitlab.com/ixion/ixion/-/releases
16 Source0: http://kohei.us/files/ixion/src/libixion-%{version}.tar.xz
17 # Source0-md5: bdb1aeaaf93dc0b4ffd0772d309a0f58
18 Patch0: %{name}-flags.patch
19 URL: https://gitlab.com/ixion/ixion
20 %{?with_vulkan:BuildRequires: Vulkan-Loader-devel >= 1.2.0}
21 BuildRequires: autoconf >= 2.63
22 BuildRequires: automake >= 1:1.11
23 BuildRequires: boost-devel >= 1.36
24 BuildRequires: libstdc++-devel >= 6:7
25 BuildRequires: libtool >= 2:2
26 BuildRequires: mdds-devel >= 2.0.0
27 BuildRequires: pkgconfig
28 BuildRequires: python3 >= 1:3.4
29 BuildRequires: python3-devel >= 1:3.4
30 BuildRequires: rpm-build >= 4.6
31 BuildRequires: rpmbuild(macros) >= 1.734
32 BuildRequires: tar >= 1:1.22
35 BuildRequires: doxygen
36 BuildRequires: python3-breathe
37 BuildRequires: python3-sphinx_rtd_theme
38 BuildRequires: sphinx-pdg-3
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 Ixion aims to provide a library for calculating the results of formula
44 expressions stored in multiple named targets, or "cells". The cells
45 can be referenced from each other, and the library takes care of
46 resolving their dependencies automatically upon calculation. The
47 caller can run the calculation routine either in a single-threaded
48 mode, or a multi-threaded mode. The library also supports
49 re-calculation where the contents of one or more cells have been
50 modified since the last calculation, and a partial calculation of only
51 the affected cells gets performed. It is written entirely in C++, and
52 makes extensive use of the boost library to achieve portability across
55 %description -l pl.UTF-8
56 Projekt Ixion ma na celu dostarczenie biblioteki do obliczania wyników
57 wyrażeń określonych wzorami zapisanymi w wielu nazwanych miejscach -
58 "komórkach". Komórki mogą odwoływać się do siebie nawzajem, a
59 biblioteka dba o automatyczne rozwiązywanie ich zależności przy
60 obliczeniach. Procedura obliczająca może być wywołana w trybie
61 jednowątkowym lub wielowątkowym. Biblioteka obsługuje także ponowne
62 przeliczanie w przypadku zmiany zawartości jednej lub większej liczby
63 komórek od poprzednich obliczeń; wykonywane jest tylko przeliczanie
64 komórek, których zmiana dotyczy. Biblioteka jest napisana całkowicie w
65 C++ i intensywnie wykorzystuje bibliotekę boost, aby osiągnąć
66 przenośność na wiele platform.
69 Summary: Development files for ixion
70 Summary(pl.UTF-8): Pliki nagłówkowe dla ixion
71 Group: Development/Libraries
72 Requires: %{name} = %{version}-%{release}
73 Requires: boost-devel >= 1.36
74 Requires: libstdc++-devel >= 6:7
75 Requires: mdds-devel >= 2.0.0
78 This package contains the header files for developing applications
81 %description devel -l pl.UTF-8
82 Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na
86 Summary: Static ixion library
87 Summary(pl.UTF-8): Statyczna biblioteka ixion
88 Group: Development/Libraries
89 Requires: %{name}-devel = %{version}-%{release}
94 %description static -l pl.UTF-8
95 Statyczna biblioteka ixion.
98 Summary: API documentation for ixion library
99 Summary(pl.UTF-8): Dokumentacja API biblioteki ixion
104 API documentation for ixion library.
106 %description apidocs -l pl.UTF-8
107 Dokumentacja API biblioteki ixion.
109 %package -n python3-ixion
110 Summary: Python 3 interface to ixion library
111 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion
112 Group: Libraries/Python
113 Requires: %{name} = %{version}-%{release}
114 Requires: python3-libs >= 1:3.4
115 # python 2 is no longer supported
116 Obsoletes: python-ixion < 0.11
118 %description -n python3-ixion
119 Python 3 interface to ixion library.
121 %description -n python3-ixion -l pl.UTF-8
122 Interfejs Pythona 3 do biblioteki ixion.
125 %setup -q -n libixion-%{version}
135 --disable-silent-rules \
136 %{?with_static_libs:--enable-static} \
137 %{?with_vulkan:--enable-vulkan}
144 sphinx-build-3 -b html . _build
148 rm -rf $RPM_BUILD_ROOT
151 DESTDIR=$RPM_BUILD_ROOT
153 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la
154 %if %{with static_libs}
155 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a
157 # obsoleted by pkg-config
158 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
161 rm -rf $RPM_BUILD_ROOT
163 %post -p /sbin/ldconfig
164 %postun -p /sbin/ldconfig
167 %defattr(644,root,root,755)
168 %doc AUTHORS ChangeLog LICENSE
169 %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer
170 %attr(755,root,root) %{_bindir}/ixion-parser
171 %attr(755,root,root) %{_bindir}/ixion-sorter
172 %attr(755,root,root) %{_libdir}/libixion-0.17.so.*.*.*
173 %attr(755,root,root) %ghost %{_libdir}/libixion-0.17.so.0
176 %defattr(644,root,root,755)
177 %attr(755,root,root) %{_libdir}/libixion-0.17.so
178 %{_includedir}/libixion-0.17
179 %{_pkgconfigdir}/libixion-0.17.pc
181 %if %{with static_libs}
183 %defattr(644,root,root,755)
184 %{_libdir}/libixion-0.17.a
189 %defattr(644,root,root,755)
190 %doc doc/_build/{_static,cpp,overview,python,*.html,*.js}
193 %files -n python3-ixion
194 %defattr(644,root,root,755)
195 %attr(755,root,root) %{py3_sitedir}/ixion.so