]> git.pld-linux.org Git - packages/ixion.git/blob - ixion.spec
- updated to 0.17.0 (for liborcus 0.17.x)
[packages/ixion.git] / ixion.spec
1 #
2 # Conditional build:
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)
6
7 Summary:        Generic formula compulation library
8 Summary(pl.UTF-8):      Ogólna biblioteka do obliczania wzorów
9 Name:           ixion
10 # keep in sync with BuildRequires in liborcus.spec
11 Version:        0.17.0
12 Release:        1
13 License:        MPL v2.0
14 Group:          Libraries
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:  pkgconfig
28 BuildRequires:  python3 >= 1:3.4
29 BuildRequires:  python3-devel >= 1:3.4
30 BuildRequires:  rpm-build >= 4.6
31 BuildRequires:  rpmbuild(macros) >= 1.734
32 BuildRequires:  tar >= 1:1.22
33 BuildRequires:  xz
34 %if %{with apidocs}
35 BuildRequires:  doxygen
36 BuildRequires:  python3-breathe
37 BuildRequires:  python3-sphinx_rtd_theme
38 BuildRequires:  sphinx-pdg-3
39 %endif
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
74 Requires:       libstdc++-devel >= 6:7
75 Requires:       mdds-devel >= 2.0.0
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
97 %package apidocs
98 Summary:        API documentation for ixion library
99 Summary(pl.UTF-8):      Dokumentacja API biblioteki ixion
100 Group:          Documentation
101 BuildArch:      noarch
102
103 %description apidocs
104 API documentation for ixion library.
105
106 %description apidocs -l pl.UTF-8
107 Dokumentacja API biblioteki ixion.
108
109 %package -n python3-ixion
110 Summary:        Python 3 interface to ixion library
111 Summary(pl.UTF-8):      Interfejs Pythona 3 do biblioteki ixion
112 Group:          Libraries/Python
113 Requires:       %{name} = %{version}-%{release}
114 Requires:       python3-libs >= 1:3.4
115 # python 2 is no longer supported
116 Obsoletes:      python-ixion < 0.11
117
118 %description -n python3-ixion
119 Python 3 interface to ixion library.
120
121 %description -n python3-ixion -l pl.UTF-8
122 Interfejs Pythona 3 do biblioteki ixion.
123
124 %prep
125 %setup -q -n libixion-%{version}
126 %patch0 -p1
127
128 %build
129 %{__libtoolize}
130 %{__aclocal} -I m4
131 %{__autoconf}
132 %{__autoheader}
133 %{__automake}
134 %configure \
135         --disable-silent-rules \
136         %{?with_static_libs:--enable-static} \
137         %{?with_vulkan:--enable-vulkan}
138
139 %{__make}
140
141 %if %{with apidocs}
142 cd doc
143 doxygen doxygen.conf
144 sphinx-build-3 -b html . _build
145 %endif
146
147 %install
148 rm -rf $RPM_BUILD_ROOT
149
150 %{__make} install \
151         DESTDIR=$RPM_BUILD_ROOT
152
153 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.la
154 %if %{with static_libs}
155 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/ixion.a
156 %endif
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)
168 %doc AUTHORS ChangeLog LICENSE
169 %attr(755,root,root) %{_bindir}/ixion-formula-tokenizer
170 %attr(755,root,root) %{_bindir}/ixion-parser
171 %attr(755,root,root) %{_bindir}/ixion-sorter
172 %attr(755,root,root) %{_libdir}/libixion-0.17.so.*.*.*
173 %attr(755,root,root) %ghost %{_libdir}/libixion-0.17.so.0
174
175 %files devel
176 %defattr(644,root,root,755)
177 %attr(755,root,root) %{_libdir}/libixion-0.17.so
178 %{_includedir}/libixion-0.17
179 %{_pkgconfigdir}/libixion-0.17.pc
180
181 %if %{with static_libs}
182 %files static
183 %defattr(644,root,root,755)
184 %{_libdir}/libixion-0.17.a
185 %endif
186
187 %if %{with apidocs}
188 %files apidocs
189 %defattr(644,root,root,755)
190 %doc doc/_build/{_static,cpp,overview,python,*.html,*.js}
191 %endif
192
193 %files -n python3-ixion
194 %defattr(644,root,root,755)
195 %attr(755,root,root) %{py3_sitedir}/ixion.so
This page took 0.08944 seconds and 3 git commands to generate.