]> git.pld-linux.org Git - packages/ixion.git/blob - ixion.spec
7da612ecdbff0dc65394ee254357bb6864824d15
[packages/ixion.git] / ixion.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # Sphinx documentation
4 %bcond_without  static_libs     # static library
5
6 Summary:        Generic formula compulation library
7 Summary(pl.UTF-8):      Ogólna biblioteka do obliczania wzorów
8 Name:           ixion
9 Version:        0.15.0
10 Release:        1
11 License:        MPL v2.0
12 Group:          Libraries
13 #Source0Download: https://gitlab.com/ixion/ixion/raw/master/README.md
14 Source0:        http://kohei.us/files/ixion/src/libixion-%{version}.tar.xz
15 # Source0-md5:  68edc5952ee1b172d83e5926ecc0554a
16 Patch0:         %{name}-flags.patch
17 URL:            https://gitlab.com/ixion/ixion
18 BuildRequires:  autoconf >= 2.63
19 BuildRequires:  automake >= 1:1.11
20 BuildRequires:  boost-devel >= 1.36
21 BuildRequires:  libstdc++-devel >= 6:4.7
22 BuildRequires:  libtool >= 2:2
23 BuildRequires:  mdds-devel >= 1.5.0
24 BuildRequires:  pkgconfig
25 BuildRequires:  python3 >= 1:3.4
26 BuildRequires:  python3-devel >= 1:3.4
27 BuildRequires:  rpmbuild(macros) >= 1.734
28 BuildRequires:  spdlog-devel >= 0.16.0
29 BuildRequires:  tar >= 1:1.22
30 BuildRequires:  xz
31 %if %{with apidocs}
32 BuildRequires:  doxygen
33 BuildRequires:  python3-breathe
34 BuildRequires:  python3-sphinx_rtd_theme
35 BuildRequires:  sphinx-pdg-3
36 %endif
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
71 Requires:       libstdc++-devel >= 6:4.7
72 Requires:       mdds-devel >= 1.5.0
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
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
105 %package -n python3-ixion
106 Summary:        Python 3 interface to ixion library
107 Summary(pl.UTF-8):      Interfejs Pythona 3 do biblioteki ixion
108 Group:          Libraries/Python
109 Requires:       %{name} = %{version}-%{release}
110 Requires:       python3-libs >= 1:3.4
111 # python 2 is no longer supported
112 Obsoletes:      python-ixion
113
114 %description -n python3-ixion
115 Python 3 interface to ixion library.
116
117 %description -n python3-ixion -l pl.UTF-8
118 Interfejs Pythona 3 do biblioteki ixion.
119
120 %prep
121 %setup -q -n libixion-%{version}
122 %patch0 -p1
123
124 %build
125 %{__libtoolize}
126 %{__aclocal} -I m4
127 %{__autoconf}
128 %{__automake}
129 %configure \
130         --disable-silent-rules \
131         %{?with_static_libs:--enable-static}
132
133 %{__make}
134
135 %if %{with apidocs}
136 cd doc
137 doxygen doxygen.conf
138 sphinx-build-3 -b html . _build
139 %endif
140
141 %install
142 rm -rf $RPM_BUILD_ROOT
143
144 %{__make} install \
145         DESTDIR=$RPM_BUILD_ROOT
146
147 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la
148 %if %{with static_libs}
149 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a
150 %endif
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)
162 %doc AUTHORS LICENSE
163 %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer
164 %attr(755,root,root) %{_bindir}/ixion-parser
165 %attr(755,root,root) %{_bindir}/ixion-sorter
166 %attr(755,root,root) %{_libdir}/libixion-0.15.so.*.*.*
167 %attr(755,root,root) %ghost %{_libdir}/libixion-0.15.so.0
168
169 %files devel
170 %defattr(644,root,root,755)
171 %attr(755,root,root) %{_libdir}/libixion-0.15.so
172 %{_includedir}/libixion-0.15
173 %{_pkgconfigdir}/libixion-0.15.pc
174
175 %if %{with static_libs}
176 %files static
177 %defattr(644,root,root,755)
178 %{_libdir}/libixion-0.15.a
179 %endif
180
181 %if %{with apidocs}
182 %files apidocs
183 %defattr(644,root,root,755)
184 %doc doc/_build/{_static,cpp,overview,python,*.html,*.js}
185 %endif
186
187 %files -n python3-ixion
188 %defattr(644,root,root,755)
189 %attr(755,root,root) %{py3_sitedir}/ixion.so
This page took 0.037875 seconds and 2 git commands to generate.