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: mdds-devel < 2.1
28 BuildRequires: pkgconfig
29 BuildRequires: python3 >= 1:3.4
30 BuildRequires: python3-devel >= 1:3.4
31 BuildRequires: rpm-build >= 4.6
32 BuildRequires: rpmbuild(macros) >= 1.734
33 BuildRequires: tar >= 1:1.22
36 BuildRequires: doxygen
37 BuildRequires: python3-breathe
38 BuildRequires: python3-sphinx_rtd_theme
39 BuildRequires: sphinx-pdg-3
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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
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.
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
75 Requires: libstdc++-devel >= 6:7
76 Requires: mdds-devel >= 2.0.0
79 This package contains the header files for developing applications
82 %description devel -l pl.UTF-8
83 Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na
87 Summary: Static ixion library
88 Summary(pl.UTF-8): Statyczna biblioteka ixion
89 Group: Development/Libraries
90 Requires: %{name}-devel = %{version}-%{release}
95 %description static -l pl.UTF-8
96 Statyczna biblioteka ixion.
99 Summary: API documentation for ixion library
100 Summary(pl.UTF-8): Dokumentacja API biblioteki ixion
105 API documentation for ixion library.
107 %description apidocs -l pl.UTF-8
108 Dokumentacja API biblioteki ixion.
110 %package -n python3-ixion
111 Summary: Python 3 interface to ixion library
112 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion
113 Group: Libraries/Python
114 Requires: %{name} = %{version}-%{release}
115 Requires: python3-libs >= 1:3.4
116 # python 2 is no longer supported
117 Obsoletes: python-ixion < 0.11
119 %description -n python3-ixion
120 Python 3 interface to ixion library.
122 %description -n python3-ixion -l pl.UTF-8
123 Interfejs Pythona 3 do biblioteki ixion.
126 %setup -q -n libixion-%{version}
136 --disable-silent-rules \
137 %{?with_static_libs:--enable-static} \
138 %{?with_vulkan:--enable-vulkan}
145 sphinx-build-3 -b html . _build
149 rm -rf $RPM_BUILD_ROOT
152 DESTDIR=$RPM_BUILD_ROOT
154 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la
155 %if %{with static_libs}
156 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a
158 # obsoleted by pkg-config
159 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
162 rm -rf $RPM_BUILD_ROOT
164 %post -p /sbin/ldconfig
165 %postun -p /sbin/ldconfig
168 %defattr(644,root,root,755)
169 %doc AUTHORS ChangeLog LICENSE
170 %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer
171 %attr(755,root,root) %{_bindir}/ixion-parser
172 %attr(755,root,root) %{_bindir}/ixion-sorter
173 %attr(755,root,root) %{_libdir}/libixion-0.17.so.*.*.*
174 %attr(755,root,root) %ghost %{_libdir}/libixion-0.17.so.0
177 %defattr(644,root,root,755)
178 %attr(755,root,root) %{_libdir}/libixion-0.17.so
179 %{_includedir}/libixion-0.17
180 %{_pkgconfigdir}/libixion-0.17.pc
182 %if %{with static_libs}
184 %defattr(644,root,root,755)
185 %{_libdir}/libixion-0.17.a
190 %defattr(644,root,root,755)
191 %doc doc/_build/{_static,cpp,overview,python,*.html,*.js}
194 %files -n python3-ixion
195 %defattr(644,root,root,755)
196 %attr(755,root,root) %{py3_sitedir}/ixion.so