]>
Commit | Line | Data |
---|---|---|
fb44557a JB |
1 | # |
2 | # Conditional build: | |
c25abc2a | 3 | %bcond_without apidocs # Sphinx documentation |
fb44557a | 4 | %bcond_without static_libs # static library |
4fca7b80 | 5 | |
fb44557a JB |
6 | Summary: Generic formula compulation library |
7 | Summary(pl.UTF-8): Ogólna biblioteka do obliczania wzorów | |
8 | Name: ixion | |
a1c26094 | 9 | Version: 0.14.1 |
3d748cf6 | 10 | Release: 4 |
0885abe8 | 11 | License: MPL v2.0 |
fb44557a | 12 | Group: Libraries |
c25abc2a | 13 | #Source0Download: https://gitlab.com/ixion/ixion/raw/master/README.md |
0885abe8 | 14 | Source0: http://kohei.us/files/ixion/src/libixion-%{version}.tar.xz |
a1c26094 | 15 | # Source0-md5: ab6b645987e4f3e2df2e4d5debace7f7 |
0885abe8 | 16 | Patch0: %{name}-flags.patch |
ef81fbd2 | 17 | URL: https://gitlab.com/ixion/ixion |
b8fb894e | 18 | BuildRequires: autoconf >= 2.63 |
f369ddf3 | 19 | BuildRequires: automake >= 1:1.11 |
fb44557a | 20 | BuildRequires: boost-devel >= 1.36 |
0885abe8 | 21 | BuildRequires: libstdc++-devel >= 6:4.7 |
940f72a8 | 22 | BuildRequires: libtool >= 2:2 |
c796b99b | 23 | BuildRequires: mdds-devel >= 1.4.0 |
4fca7b80 | 24 | BuildRequires: pkgconfig |
9c6a3add JB |
25 | BuildRequires: python3 >= 1:3.4 |
26 | BuildRequires: python3-devel >= 1:3.4 | |
7439de13 | 27 | BuildRequires: rpmbuild(macros) >= 1.734 |
ef81fbd2 JB |
28 | BuildRequires: tar >= 1:1.22 |
29 | BuildRequires: xz | |
c25abc2a JB |
30 | %if %{with apidocs} |
31 | BuildRequires: doxygen | |
32 | BuildRequires: python3-breathe | |
33 | BuildRequires: python3-sphinx_bootstrap_theme | |
34 | BuildRequires: sphinx-pdg-3 | |
35 | %endif | |
fb44557a JB |
36 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
37 | ||
38 | %description | |
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 | |
49 | different platforms. | |
50 | ||
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. | |
63 | ||
64 | %package devel | |
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 | |
c25abc2a JB |
70 | Requires: libstdc++-devel >= 6:4.7 |
71 | Requires: mdds-devel >= 1.4.0 | |
fb44557a JB |
72 | |
73 | %description devel | |
74 | This package contains the header files for developing applications | |
75 | that use ixion. | |
76 | ||
77 | %description devel -l pl.UTF-8 | |
78 | Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na | |
79 | ixion. | |
80 | ||
81 | %package static | |
82 | Summary: Static ixion library | |
83 | Summary(pl.UTF-8): Statyczna biblioteka ixion | |
84 | Group: Development/Libraries | |
85 | Requires: %{name}-devel = %{version}-%{release} | |
86 | ||
87 | %description static | |
88 | Static ixion library. | |
89 | ||
90 | %description static -l pl.UTF-8 | |
91 | Statyczna biblioteka ixion. | |
92 | ||
c25abc2a JB |
93 | %package apidocs |
94 | Summary: API documentation for ixion library | |
95 | Summary(pl.UTF-8): Dokumentacja API biblioteki ixion | |
96 | Group: Documentation | |
97 | ||
98 | %description apidocs | |
99 | API documentation for ixion library. | |
100 | ||
101 | %description apidocs -l pl.UTF-8 | |
102 | Dokumentacja API biblioteki ixion. | |
103 | ||
0885abe8 JB |
104 | %package -n python3-ixion |
105 | Summary: Python 3 interface to ixion library | |
106 | Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion | |
ef81fbd2 JB |
107 | Group: Libraries/Python |
108 | Requires: %{name} = %{version}-%{release} | |
9c6a3add | 109 | Requires: python3-libs >= 1:3.4 |
0885abe8 JB |
110 | # python 2 is no longer supported |
111 | Obsoletes: python-ixion | |
ef81fbd2 | 112 | |
0885abe8 JB |
113 | %description -n python3-ixion |
114 | Python 3 interface to ixion library. | |
ef81fbd2 | 115 | |
0885abe8 JB |
116 | %description -n python3-ixion -l pl.UTF-8 |
117 | Interfejs Pythona 3 do biblioteki ixion. | |
ef81fbd2 | 118 | |
fb44557a | 119 | %prep |
0885abe8 | 120 | %setup -q -n libixion-%{version} |
70d27115 | 121 | %patch0 -p1 |
fb44557a JB |
122 | |
123 | %build | |
b8fb894e JB |
124 | %{__libtoolize} |
125 | %{__aclocal} -I m4 | |
126 | %{__autoconf} | |
127 | %{__automake} | |
fb44557a | 128 | %configure \ |
940f72a8 JB |
129 | --disable-silent-rules \ |
130 | %{?with_static_libs:--enable-static} | |
fb44557a JB |
131 | |
132 | %{__make} | |
133 | ||
c25abc2a JB |
134 | %if %{with apidocs} |
135 | cd doc | |
136 | doxygen doxygen.conf | |
137 | sphinx-build-3 -b html . _build | |
138 | %endif | |
fb44557a JB |
139 | |
140 | %install | |
141 | rm -rf $RPM_BUILD_ROOT | |
c25abc2a | 142 | |
fb44557a JB |
143 | %{__make} install \ |
144 | DESTDIR=$RPM_BUILD_ROOT | |
145 | ||
0885abe8 | 146 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la |
ef81fbd2 | 147 | %if %{with static_libs} |
0885abe8 | 148 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a |
ef81fbd2 | 149 | %endif |
fb44557a JB |
150 | # obsoleted by pkg-config |
151 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
152 | ||
153 | %clean | |
154 | rm -rf $RPM_BUILD_ROOT | |
155 | ||
156 | %post -p /sbin/ldconfig | |
157 | %postun -p /sbin/ldconfig | |
158 | ||
159 | %files | |
160 | %defattr(644,root,root,755) | |
a1c26094 | 161 | %doc AUTHORS LICENSE |
cec02f4e | 162 | %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer |
fb44557a JB |
163 | %attr(755,root,root) %{_bindir}/ixion-parser |
164 | %attr(755,root,root) %{_bindir}/ixion-sorter | |
c796b99b AG |
165 | %attr(755,root,root) %{_libdir}/libixion-0.14.so.*.*.* |
166 | %attr(755,root,root) %ghost %{_libdir}/libixion-0.14.so.0 | |
fb44557a JB |
167 | |
168 | %files devel | |
169 | %defattr(644,root,root,755) | |
c796b99b AG |
170 | %attr(755,root,root) %{_libdir}/libixion-0.14.so |
171 | %{_includedir}/libixion-0.14 | |
172 | %{_pkgconfigdir}/libixion-0.14.pc | |
fb44557a JB |
173 | |
174 | %if %{with static_libs} | |
175 | %files static | |
176 | %defattr(644,root,root,755) | |
c796b99b | 177 | %{_libdir}/libixion-0.14.a |
fb44557a | 178 | %endif |
ef81fbd2 | 179 | |
c25abc2a JB |
180 | %if %{with apidocs} |
181 | %files apidocs | |
182 | %defattr(644,root,root,755) | |
100dfb54 | 183 | %doc doc/_build/{_static,cpp,overview,python,*.html,*.js} |
c25abc2a JB |
184 | %endif |
185 | ||
0885abe8 | 186 | %files -n python3-ixion |
ef81fbd2 | 187 | %defattr(644,root,root,755) |
0885abe8 | 188 | %attr(755,root,root) %{py3_sitedir}/ixion.so |