331 lines
11 KiB
RPMSpec
331 lines
11 KiB
RPMSpec
|
|
%global apiversion 0.18
|
|
|
|
Name: libixion
|
|
Version: 0.18.0
|
|
Release: 1
|
|
Summary: A general purpose formula parser & interpreter library
|
|
|
|
License: MPL-2.0
|
|
URL: https://gitlab.com/ixion/ixion
|
|
Source0: https://kohei.us/files/ixion/src/%{name}-%{version}.tar.xz
|
|
|
|
BuildRequires: boost-devel
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: help2man
|
|
BuildRequires: automake
|
|
BuildRequires: pkgconfig(mdds-2.1)
|
|
BuildRequires: pkgconfig(python3)
|
|
BuildRequires: pkgconfig(spdlog)
|
|
BuildRequires: make
|
|
|
|
%description
|
|
Ixion is a general purpose formula parser & interpreter that can calculate
|
|
multiple named targets, or "cells".
|
|
|
|
The goal of this project is to create a library for calculating the results of
|
|
formula expressions stored in multiple named targets, or “cells”. The cells can
|
|
be referenced from each other, and the library takes care of resolving their
|
|
dependencies automatically upon calculation. The caller can run the calculation
|
|
routine either in a single-threaded mode, or a multi-threaded mode. The library
|
|
also supports re-calculations where the contents of one or more cells have been
|
|
modified since the last calculation, and a partial calculation of only the
|
|
affected cells need to be calculated.
|
|
|
|
Supported features:
|
|
- Each calculation session is defined in a plain text file, which is parsed and
|
|
interpreted by the Ixion parser.
|
|
- Fully threaded calculation.
|
|
- Name resolution using A1-style references.
|
|
- Support 2D cell references and named expressions.
|
|
- Support range references.
|
|
- Dependency tracking during both full calculation and partial re-calculation.
|
|
- Inline strings.
|
|
- Volatile functions. The framework for volatile functions is implemented. We
|
|
just need to implement more functions.
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description devel
|
|
The %{name}-devel package contains libraries and header files for
|
|
developing applications that use %{name}.
|
|
|
|
%package tools
|
|
Summary: Testing tools for libixion
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description tools
|
|
Testing tools for %{name}.
|
|
|
|
%package python3
|
|
Summary: Python 3 bindings for libixion
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Obsoletes: %{name}-python < 0.9.1-1
|
|
Suggests: %{name}-doc = %{version}-%{release}
|
|
|
|
%description python3
|
|
Python 3 bindings for %{name}.
|
|
|
|
%package doc
|
|
Summary: API documentation for %{name}
|
|
BuildArch: noarch
|
|
|
|
%description doc
|
|
API documentation for %{name}.
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
%build
|
|
autoreconf
|
|
%configure --disable-silent-rules --disable-static
|
|
sed -i \
|
|
-e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
|
|
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
|
|
libtool
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
make install DESTDIR=%{buildroot}
|
|
rm -f %{buildroot}%{_libdir}/*.la %{buildroot}%{python3_sitearch}/*.la
|
|
|
|
# create and install man pages
|
|
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
|
help2man -S '%{name} %{version}' -N -n 'formula tokenizer' -o ixion-formula-tokenizer.1 ./src/ixion-formula-tokenizer
|
|
help2man -S '%{name} %{version}' -N -n 'parser' -o ixion-parser.1 ./src/ixion-parser
|
|
help2man -S '%{name} %{version}' -N -n 'sorter' -o ixion-sorter.1 ./src/ixion-sorter
|
|
install -m 0755 -d %{buildroot}/%{_mandir}/man1
|
|
install -m 0644 ixion-*.1 %{buildroot}/%{_mandir}/man1
|
|
|
|
# generate docs
|
|
# make doc
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
%check
|
|
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
|
%ifnarch %{ix86}
|
|
make %{?_smp_mflags} check
|
|
%endif
|
|
|
|
%files
|
|
%doc AUTHORS
|
|
%license LICENSE
|
|
%{_libdir}/%{name}-%{apiversion}.so.*
|
|
|
|
%files devel
|
|
%{_includedir}/%{name}-%{apiversion}
|
|
%{_libdir}/%{name}-%{apiversion}.so
|
|
%{_libdir}/pkgconfig/%{name}-%{apiversion}.pc
|
|
|
|
%files tools
|
|
%{_bindir}/ixion-formula-tokenizer
|
|
%{_bindir}/ixion-parser
|
|
%{_bindir}/ixion-sorter
|
|
%{_mandir}/man1/ixion-formula-tokenizer.1*
|
|
%{_mandir}/man1/ixion-parser.1*
|
|
%{_mandir}/man1/ixion-sorter.1*
|
|
|
|
%files python3
|
|
%{python3_sitearch}/ixion.so
|
|
|
|
%files doc
|
|
%license LICENSE
|
|
%doc doc/python
|
|
|
|
%changelog
|
|
* Sat Aug 05 2023 Sandino Araico Sánchez <sandino@sandino.net> - 0.18.0-1
|
|
- 0.18.0 needed for liborcus
|
|
|
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-13
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
|
* Sat Jul 08 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.17.0-12
|
|
- Rebuilt due to spdlog 1.12 update.
|
|
|
|
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 0.17.0-11
|
|
- Rebuilt for Python 3.12
|
|
|
|
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 0.17.0-10
|
|
- Rebuilt for Boost 1.81
|
|
|
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-9
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
|
* Mon Nov 21 2022 David Tardon <dtardon@redhat.com> - 0.17.0-6
|
|
- Convert license to SPDX
|
|
|
|
* Thu Nov 03 2022 Vitaly Zaitsev <vitaly@easycoding.org> - 0.17.0-5
|
|
- Rebuilt due to spdlog update.
|
|
|
|
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
|
|
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.17.0-3
|
|
- Rebuilt for Python 3.11
|
|
|
|
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 0.17.0-2
|
|
- Rebuilt for Boost 1.78
|
|
|
|
* Wed Feb 02 2022 Caolán McNamara <colanm@redhat.com> - 0.17.0-1
|
|
- new upstream release
|
|
- TODO: i686 make check failure in python
|
|
|
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-8
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
|
* Fri Aug 06 2021 Jonathan Wakely <jwakely@redhat.com> - 0.16.1-7
|
|
- Rebuilt for Boost 1.76
|
|
|
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
|
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.16.1-5
|
|
- Rebuilt for Python 3.10
|
|
|
|
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 0.16.1-4
|
|
- Rebuilt for removed libstdc++ symbol (#1937698)
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 0.16.1-2
|
|
- Rebuilt for Boost 1.75
|
|
|
|
* Tue Sep 29 2020 Caolán McNamara <colanm@redhat.com> - 0.16.1-1
|
|
- new upstream release
|
|
|
|
* Thu Sep 24 2020 Caolán McNamara <colanm@redhat.com> - 0.16.0-1
|
|
- new upstream release
|
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
* Thu May 28 2020 Jonathan Wakely <jwakely@redhat.com> - 0.15.0-4
|
|
- Rebuilt for Boost 1.73
|
|
|
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.15.0-3
|
|
- Rebuilt for Python 3.9
|
|
|
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
* Tue Aug 20 2019 Caolán McNamara <colanm@redhat.com> - 0.15.0-1
|
|
- new upstream release
|
|
|
|
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.14.1-5
|
|
- Rebuilt for Python 3.8
|
|
|
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
* Fri Jan 25 2019 Jonathan Wakely <jwakely@redhat.com> - 0.14.1-2
|
|
- Rebuilt for Boost 1.69
|
|
|
|
* Fri Oct 26 2018 David Tardon <dtardon@redhat.com> - 0.14.1-1
|
|
- new upstream release
|
|
|
|
* Sun Sep 02 2018 David Tardon <dtardon@redhat.com> - 0.14.0-1
|
|
- new upstream release
|
|
|
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 0.13.0-4
|
|
- Rebuilt for Python 3.7
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 0.13.0-2
|
|
- Rebuilt for Boost 1.66
|
|
|
|
* Wed Oct 11 2017 David Tardon <dtardon@redhat.com> - 0.13.0-1
|
|
- new upstream release
|
|
|
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.2-7
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.2-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 0.12.2-5
|
|
- Rebuilt for Boost 1.64
|
|
|
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.2-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 0.12.2-3
|
|
- Rebuilt for Boost 1.63
|
|
|
|
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.12.2-2
|
|
- Rebuild for Python 3.6
|
|
|
|
* Thu Dec 15 2016 David Tardon <dtardon@redhat.com> - 0.12.2-1
|
|
- new upstream release
|
|
|
|
* Mon Sep 26 2016 David Tardon <dtardon@redhat.com> - 0.12.1-1
|
|
- new upstream release
|
|
|
|
* Wed Jul 20 2016 David Tardon <dtardon@redhat.com> - 0.12.0-1
|
|
- new upstream release
|
|
|
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.1-2
|
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
|
|
|
* Thu May 12 2016 David Tardon <dtardon@redhat.com> - 0.11.1-1
|
|
- new upstream release
|
|
|
|
* Fri Mar 11 2016 David Tardon <dtardon@redhat.com> - 0.11.0-2
|
|
- build python documentation
|
|
|
|
* Sun Feb 14 2016 David Tardon <dtardon@redhat.com> - 0.11.0-1
|
|
- new upstream release
|
|
|
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-8
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 0.9.1-7
|
|
- Rebuilt for Boost 1.60
|
|
|
|
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 0.9.1-6
|
|
- Rebuilt for Boost 1.59
|
|
|
|
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
|
|
|
|
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 0.9.1-4
|
|
- rebuild for Boost 1.58
|
|
|
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
* Mon Apr 13 2015 David Tardon <dtardon@redhat.com> - 0.9.1-2
|
|
- rebuild for yet another C++ ABI break
|
|
|
|
* Sun Apr 05 2015 David Tardon <dtardon@redhat.com> - 0.9.1-1
|
|
- new upstream release
|
|
|
|
* Thu Mar 05 2015 David Tardon <dtardon@redhat.com> - 0.9.0-2
|
|
- fix python bindings on i386
|
|
|
|
* Wed Feb 18 2015 David Tardon <dtardon@redhat.com> - 0.9.0-1
|
|
- new upstream release
|
|
|
|
* Tue Jan 27 2015 Petr Machata <pmachata@redhat.com> - 0.7.0-4
|
|
- Rebuild for boost 1.57.0
|
|
|
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Thu May 22 2014 David Tardon <dtardon@redhat.com> - 0.7.0-1
|
|
- initial import
|
|
|