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