]>
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 | |
af29c612 JB |
9 | Version: 0.15.0 |
10 | Release: 1 | |
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 |
af29c612 | 15 | # Source0-md5: 68edc5952ee1b172d83e5926ecc0554a |
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 |
af29c612 | 23 | BuildRequires: mdds-devel >= 1.5.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 |
af29c612 | 28 | BuildRequires: spdlog-devel >= 0.16.0 |
ef81fbd2 JB |
29 | BuildRequires: tar >= 1:1.22 |
30 | BuildRequires: xz | |
c25abc2a JB |
31 | %if %{with apidocs} |
32 | BuildRequires: doxygen | |
33 | BuildRequires: python3-breathe | |
af29c612 | 34 | BuildRequires: python3-sphinx_rtd_theme |
c25abc2a JB |
35 | BuildRequires: sphinx-pdg-3 |
36 | %endif | |
fb44557a JB |
37 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
38 | ||
39 | %description | |
40 | Ixion aims to provide a library for calculating the results of formula | |
41 | expressions stored in multiple named targets, or "cells". The cells | |
42 | can be referenced from each other, and the library takes care of | |
43 | resolving their dependencies automatically upon calculation. The | |
44 | caller can run the calculation routine either in a single-threaded | |
45 | mode, or a multi-threaded mode. The library also supports | |
46 | re-calculation where the contents of one or more cells have been | |
47 | modified since the last calculation, and a partial calculation of only | |
48 | the affected cells gets performed. It is written entirely in C++, and | |
49 | makes extensive use of the boost library to achieve portability across | |
50 | different platforms. | |
51 | ||
52 | %description -l pl.UTF-8 | |
53 | Projekt Ixion ma na celu dostarczenie biblioteki do obliczania wyników | |
54 | wyrażeń określonych wzorami zapisanymi w wielu nazwanych miejscach - | |
55 | "komórkach". Komórki mogą odwoływać się do siebie nawzajem, a | |
56 | biblioteka dba o automatyczne rozwiązywanie ich zależności przy | |
57 | obliczeniach. Procedura obliczająca może być wywołana w trybie | |
58 | jednowątkowym lub wielowątkowym. Biblioteka obsługuje także ponowne | |
59 | przeliczanie w przypadku zmiany zawartości jednej lub większej liczby | |
60 | komórek od poprzednich obliczeń; wykonywane jest tylko przeliczanie | |
61 | komórek, których zmiana dotyczy. Biblioteka jest napisana całkowicie w | |
62 | C++ i intensywnie wykorzystuje bibliotekę boost, aby osiągnąć | |
63 | przenośność na wiele platform. | |
64 | ||
65 | %package devel | |
66 | Summary: Development files for ixion | |
67 | Summary(pl.UTF-8): Pliki nagłówkowe dla ixion | |
68 | Group: Development/Libraries | |
69 | Requires: %{name} = %{version}-%{release} | |
70 | Requires: boost-devel >= 1.36 | |
c25abc2a | 71 | Requires: libstdc++-devel >= 6:4.7 |
af29c612 | 72 | Requires: mdds-devel >= 1.5.0 |
fb44557a JB |
73 | |
74 | %description devel | |
75 | This package contains the header files for developing applications | |
76 | that use ixion. | |
77 | ||
78 | %description devel -l pl.UTF-8 | |
79 | Pen pakiet zawiera pliki nagłówkowe do tworzenia aplikacji opartych na | |
80 | ixion. | |
81 | ||
82 | %package static | |
83 | Summary: Static ixion library | |
84 | Summary(pl.UTF-8): Statyczna biblioteka ixion | |
85 | Group: Development/Libraries | |
86 | Requires: %{name}-devel = %{version}-%{release} | |
87 | ||
88 | %description static | |
89 | Static ixion library. | |
90 | ||
91 | %description static -l pl.UTF-8 | |
92 | Statyczna biblioteka ixion. | |
93 | ||
c25abc2a JB |
94 | %package apidocs |
95 | Summary: API documentation for ixion library | |
96 | Summary(pl.UTF-8): Dokumentacja API biblioteki ixion | |
97 | Group: Documentation | |
98 | ||
99 | %description apidocs | |
100 | API documentation for ixion library. | |
101 | ||
102 | %description apidocs -l pl.UTF-8 | |
103 | Dokumentacja API biblioteki ixion. | |
104 | ||
0885abe8 JB |
105 | %package -n python3-ixion |
106 | Summary: Python 3 interface to ixion library | |
107 | Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki ixion | |
ef81fbd2 JB |
108 | Group: Libraries/Python |
109 | Requires: %{name} = %{version}-%{release} | |
9c6a3add | 110 | Requires: python3-libs >= 1:3.4 |
0885abe8 JB |
111 | # python 2 is no longer supported |
112 | Obsoletes: python-ixion | |
ef81fbd2 | 113 | |
0885abe8 JB |
114 | %description -n python3-ixion |
115 | Python 3 interface to ixion library. | |
ef81fbd2 | 116 | |
0885abe8 JB |
117 | %description -n python3-ixion -l pl.UTF-8 |
118 | Interfejs Pythona 3 do biblioteki ixion. | |
ef81fbd2 | 119 | |
fb44557a | 120 | %prep |
0885abe8 | 121 | %setup -q -n libixion-%{version} |
70d27115 | 122 | %patch0 -p1 |
fb44557a JB |
123 | |
124 | %build | |
b8fb894e JB |
125 | %{__libtoolize} |
126 | %{__aclocal} -I m4 | |
127 | %{__autoconf} | |
128 | %{__automake} | |
fb44557a | 129 | %configure \ |
940f72a8 JB |
130 | --disable-silent-rules \ |
131 | %{?with_static_libs:--enable-static} | |
fb44557a JB |
132 | |
133 | %{__make} | |
134 | ||
c25abc2a JB |
135 | %if %{with apidocs} |
136 | cd doc | |
137 | doxygen doxygen.conf | |
138 | sphinx-build-3 -b html . _build | |
139 | %endif | |
fb44557a JB |
140 | |
141 | %install | |
142 | rm -rf $RPM_BUILD_ROOT | |
c25abc2a | 143 | |
fb44557a JB |
144 | %{__make} install \ |
145 | DESTDIR=$RPM_BUILD_ROOT | |
146 | ||
0885abe8 | 147 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la |
ef81fbd2 | 148 | %if %{with static_libs} |
0885abe8 | 149 | %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a |
ef81fbd2 | 150 | %endif |
fb44557a JB |
151 | # obsoleted by pkg-config |
152 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
153 | ||
154 | %clean | |
155 | rm -rf $RPM_BUILD_ROOT | |
156 | ||
157 | %post -p /sbin/ldconfig | |
158 | %postun -p /sbin/ldconfig | |
159 | ||
160 | %files | |
161 | %defattr(644,root,root,755) | |
a1c26094 | 162 | %doc AUTHORS LICENSE |
cec02f4e | 163 | %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer |
fb44557a JB |
164 | %attr(755,root,root) %{_bindir}/ixion-parser |
165 | %attr(755,root,root) %{_bindir}/ixion-sorter | |
af29c612 JB |
166 | %attr(755,root,root) %{_libdir}/libixion-0.15.so.*.*.* |
167 | %attr(755,root,root) %ghost %{_libdir}/libixion-0.15.so.0 | |
fb44557a JB |
168 | |
169 | %files devel | |
170 | %defattr(644,root,root,755) | |
af29c612 JB |
171 | %attr(755,root,root) %{_libdir}/libixion-0.15.so |
172 | %{_includedir}/libixion-0.15 | |
173 | %{_pkgconfigdir}/libixion-0.15.pc | |
fb44557a JB |
174 | |
175 | %if %{with static_libs} | |
176 | %files static | |
177 | %defattr(644,root,root,755) | |
af29c612 | 178 | %{_libdir}/libixion-0.15.a |
fb44557a | 179 | %endif |
ef81fbd2 | 180 | |
c25abc2a JB |
181 | %if %{with apidocs} |
182 | %files apidocs | |
183 | %defattr(644,root,root,755) | |
100dfb54 | 184 | %doc doc/_build/{_static,cpp,overview,python,*.html,*.js} |
c25abc2a JB |
185 | %endif |
186 | ||
0885abe8 | 187 | %files -n python3-ixion |
ef81fbd2 | 188 | %defattr(644,root,root,755) |
0885abe8 | 189 | %attr(755,root,root) %{py3_sitedir}/ixion.so |