]>
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 | |
12 | Release: 1 | |
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 |
4fca7b80 | 27 | BuildRequires: pkgconfig |
9c6a3add JB |
28 | BuildRequires: python3 >= 1:3.4 |
29 | BuildRequires: python3-devel >= 1:3.4 | |
9fdce8b9 | 30 | BuildRequires: rpm-build >= 4.6 |
7439de13 | 31 | BuildRequires: rpmbuild(macros) >= 1.734 |
ef81fbd2 JB |
32 | BuildRequires: tar >= 1:1.22 |
33 | BuildRequires: xz | |
c25abc2a JB |
34 | %if %{with apidocs} |
35 | BuildRequires: doxygen | |
36 | BuildRequires: python3-breathe | |
af29c612 | 37 | BuildRequires: python3-sphinx_rtd_theme |
c25abc2a JB |
38 | BuildRequires: sphinx-pdg-3 |
39 | %endif | |
fb44557a JB |
40 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
41 | ||
42 | %description | |
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 | |
53 | different platforms. | |
54 | ||
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. | |
67 | ||
68 | %package devel | |
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 | |
9fdce8b9 JB |
74 | Requires: libstdc++-devel >= 6:7 |
75 | Requires: mdds-devel >= 2.0.0 | |
fb44557a JB |
76 | |
77 | %description devel | |
78 | This package contains the header files for developing applications | |
79 | that use ixion. | |
80 | ||
81 | %description devel -l pl.UTF-8 | |
82 | Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na | |
83 | ixion. | |
84 | ||
85 | %package static | |
86 | Summary: Static ixion library | |
87 | Summary(pl.UTF-8): Statyczna biblioteka ixion | |
88 | Group: Development/Libraries | |
89 | Requires: %{name}-devel = %{version}-%{release} | |
90 | ||
91 | %description static | |
92 | Static ixion library. | |
93 | ||
94 | %description static -l pl.UTF-8 | |
95 | Statyczna biblioteka ixion. | |
96 | ||
c25abc2a JB |
97 | %package apidocs |
98 | Summary: API documentation for ixion library | |
99 | Summary(pl.UTF-8): Dokumentacja API biblioteki ixion | |
100 | Group: Documentation | |
9fdce8b9 | 101 | BuildArch: noarch |
c25abc2a JB |
102 | |
103 | %description apidocs | |
104 | API documentation for ixion library. | |
105 | ||
106 | %description apidocs -l pl.UTF-8 | |
107 | Dokumentacja API biblioteki ixion. | |
108 | ||
0885abe8 JB |
109 | %package -n python3-ixion |
110 | Summary: Python 3 interface to ixion library | |
111 | Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion | |
ef81fbd2 JB |
112 | Group: Libraries/Python |
113 | Requires: %{name} = %{version}-%{release} | |
9c6a3add | 114 | Requires: python3-libs >= 1:3.4 |
0885abe8 | 115 | # python 2 is no longer supported |
9fdce8b9 | 116 | Obsoletes: python-ixion < 0.11 |
ef81fbd2 | 117 | |
0885abe8 JB |
118 | %description -n python3-ixion |
119 | Python 3 interface to ixion library. | |
ef81fbd2 | 120 | |
0885abe8 JB |
121 | %description -n python3-ixion -l pl.UTF-8 |
122 | Interfejs Pythona 3 do biblioteki ixion. | |
ef81fbd2 | 123 | |
fb44557a | 124 | %prep |
0885abe8 | 125 | %setup -q -n libixion-%{version} |
70d27115 | 126 | %patch0 -p1 |
fb44557a JB |
127 | |
128 | %build | |
b8fb894e JB |
129 | %{__libtoolize} |
130 | %{__aclocal} -I m4 | |
131 | %{__autoconf} | |
9fdce8b9 | 132 | %{__autoheader} |
b8fb894e | 133 | %{__automake} |
fb44557a | 134 | %configure \ |
940f72a8 | 135 | --disable-silent-rules \ |
9fdce8b9 JB |
136 | %{?with_static_libs:--enable-static} \ |
137 | %{?with_vulkan:--enable-vulkan} | |
fb44557a JB |
138 | |
139 | %{__make} | |
140 | ||
c25abc2a JB |
141 | %if %{with apidocs} |
142 | cd doc | |
143 | doxygen doxygen.conf | |
144 | sphinx-build-3 -b html . _build | |
145 | %endif | |
fb44557a JB |
146 | |
147 | %install | |
148 | rm -rf $RPM_BUILD_ROOT | |
c25abc2a | 149 | |
fb44557a JB |
150 | %{__make} install \ |
151 | DESTDIR=$RPM_BUILD_ROOT | |
152 | ||
0885abe8 | 153 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la |
ef81fbd2 | 154 | %if %{with static_libs} |
0885abe8 | 155 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a |
ef81fbd2 | 156 | %endif |
fb44557a JB |
157 | # obsoleted by pkg-config |
158 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
159 | ||
160 | %clean | |
161 | rm -rf $RPM_BUILD_ROOT | |
162 | ||
163 | %post -p /sbin/ldconfig | |
164 | %postun -p /sbin/ldconfig | |
165 | ||
166 | %files | |
167 | %defattr(644,root,root,755) | |
0d183cd8 | 168 | %doc AUTHORS ChangeLog LICENSE |
cec02f4e | 169 | %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer |
fb44557a JB |
170 | %attr(755,root,root) %{_bindir}/ixion-parser |
171 | %attr(755,root,root) %{_bindir}/ixion-sorter | |
9fdce8b9 JB |
172 | %attr(755,root,root) %{_libdir}/libixion-0.17.so.*.*.* |
173 | %attr(755,root,root) %ghost %{_libdir}/libixion-0.17.so.0 | |
fb44557a JB |
174 | |
175 | %files devel | |
176 | %defattr(644,root,root,755) | |
9fdce8b9 JB |
177 | %attr(755,root,root) %{_libdir}/libixion-0.17.so |
178 | %{_includedir}/libixion-0.17 | |
179 | %{_pkgconfigdir}/libixion-0.17.pc | |
fb44557a JB |
180 | |
181 | %if %{with static_libs} | |
182 | %files static | |
183 | %defattr(644,root,root,755) | |
9fdce8b9 | 184 | %{_libdir}/libixion-0.17.a |
fb44557a | 185 | %endif |
ef81fbd2 | 186 | |
c25abc2a JB |
187 | %if %{with apidocs} |
188 | %files apidocs | |
189 | %defattr(644,root,root,755) | |
100dfb54 | 190 | %doc doc/_build/{_static,cpp,overview,python,*.html,*.js} |
c25abc2a JB |
191 | %endif |
192 | ||
0885abe8 | 193 | %files -n python3-ixion |
ef81fbd2 | 194 | %defattr(644,root,root,755) |
0885abe8 | 195 | %attr(755,root,root) %{py3_sitedir}/ixion.so |