commit 94f188de92054d236d966f7413b89d635f5918771500ab384fbe36242f441c13 Author: Fridrich Strba <fstrba@suse.com> Date: Wed Jan 15 12:20:05 2025 +0000 - Add upstream change to fix failure with -Werror=undef: * 0001-Fix-_WIN32-is-not-defined-when-not-on-Windows.patch OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libixion?expand=0&rev=56 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Fix-_WIN32-is-not-defined-when-not-on-Windows.patch b/0001-Fix-_WIN32-is-not-defined-when-not-on-Windows.patch new file mode 100644 index 0000000..33f8316 --- /dev/null +++ b/0001-Fix-_WIN32-is-not-defined-when-not-on-Windows.patch @@ -0,0 +1,25 @@ +From 7b1df6fc2b989d8a64edaa47fe04edea95c45174 Mon Sep 17 00:00:00 2001 +From: Stefan Gerlach <stefan.gerlach@uni-konstanz.de> +Date: Thu, 25 Jul 2024 08:21:38 +0000 +Subject: [PATCH] Fix "_WIN32" is not defined when not on Windows. + +--- + include/ixion/env.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/ixion/env.hpp b/include/ixion/env.hpp +index 92812e3..7fee070 100644 +--- a/include/ixion/env.hpp ++++ b/include/ixion/env.hpp +@@ -33,7 +33,7 @@ + #define IXION_DLLPUBLIC_VAR IXION_DLLPUBLIC extern + #endif + +-#if _WIN32 ++#ifdef _WIN32 + #define IXION_MOD_EXPORT __declspec(dllexport) + #else + #define IXION_MOD_EXPORT __attribute__ ((visibility ("default"))) +-- +2.47.1 + diff --git a/libixion-0.19.0.tar.xz b/libixion-0.19.0.tar.xz new file mode 100644 index 0000000..8e3cdb2 --- /dev/null +++ b/libixion-0.19.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4864d7a55351a09adbe9be44e5c65b1d417e80e946c947951d0e8428b9dcd15 +size 536540 diff --git a/libixion-boost-system.patch b/libixion-boost-system.patch new file mode 100644 index 0000000..e27dffc --- /dev/null +++ b/libixion-boost-system.patch @@ -0,0 +1,22 @@ +--- libixion-0.17.0/src/Makefile.am 2022-01-27 14:11:13.211161581 +0100 ++++ libixion-0.17.0/src/Makefile.am 2022-01-27 14:11:40.751322069 +0100 +@@ -19,7 +19,7 @@ + table_handler.cpp + + ixion_parser_LDADD = libixion/libixion-@IXION_API_VERSION@.la \ +- $(BOOST_PROGRAM_OPTIONS_LIBS) ++ $(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_SYSTEM_LIBS) + + ixion_sorter_SOURCES = \ + ixion_sorter.cpp \ +--- libixion-0.17.0/src/python/Makefile.am 2022-01-27 14:11:13.215161603 +0100 ++++ libixion-0.17.0/src/python/Makefile.am 2022-01-27 14:20:51.778555056 +0100 +@@ -16,7 +16,7 @@ + ixion_la_CPPFLAGS = -I$(top_srcdir)/include $(PYTHON_CFLAGS) $(MDDS_CFLAGS) + ixion_la_LIBADD = \ + ../libixion/libixion-@IXION_API_VERSION@.la \ +- $(PYTHON_LIBS) ++ $(PYTHON_LIBS) $(BOOST_SYSTEM_LIBS) + + if OSX + diff --git a/libixion.changes b/libixion.changes new file mode 100644 index 0000000..1d4be5c --- /dev/null +++ b/libixion.changes @@ -0,0 +1,269 @@ +------------------------------------------------------------------- +Tue Jan 14 00:51:43 UTC 2025 - Christophe Marin <christophe@krop.fr> + +- Add upstream change to fix failure with -Werror=undef: + * 0001-Fix-_WIN32-is-not-defined-when-not-on-Windows.patch + +------------------------------------------------------------------- +Thu Feb 29 16:51:10 UTC 2024 - pgajdos@suse.com + +- Use %autosetup macro. Allows to eliminate the usage of deprecated + %patchN + +------------------------------------------------------------------- +Mon Jan 8 16:54:41 UTC 2024 - Danilo Spinella <danilo.spinella@suse.com> + +- Update to 0.19.0: + * C++ API + * added support for renaming sheets after they have been created. + * formula interpreter + * added support for inline arrays. + +------------------------------------------------------------------- +Thu Jun 29 13:27:14 UTC 2023 - Danilo Spinella <danilo.spinella@suse.com> + +- Update to 0.18.1: + * fixed a 32-bit Linux build issue as discovered on Debian, due to a clash on + two 32-bit unsigned integer types being used with std::variant. +- Update to 0.18.0: + * removed the formula_model_access interface from model_context, and switched + to using model_context directly everywhere. + * revised formula_tokens_t type to remove use of std::unique_ptr for each + formula_token instance. This should improve memory locality when + iterating through an array of formula token values. A similar change has + also been made to lexer_tokens_t and lexer_token types. + * added 41 built-in functions + * added support for multi-sheet references in Excel A1 and Excel R1C1 + grammers. + +------------------------------------------------------------------- +Thu Mar 2 10:52:36 UTC 2023 - Martin Liška <mliska@suse.cz> + +- Use -fexcess-precision=fast as GCC 13 changes the default +for C++ compiler and without the change some tests fail on i586. + +------------------------------------------------------------------- +Fri Mar 4 13:07:03 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com> + +- Fix build on SLE-12-SP5 +- Remove unneeded vulkan dependency + +------------------------------------------------------------------- +Thu Jan 27 13:22:22 UTC 2022 - Fridrich Strba <fstrba@suse.com> + +- Added patch: + * libixion-boost-system.patch + + fix missing symbols from boost_system library + +------------------------------------------------------------------- +Thu Nov 18 18:01:23 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com> + +- update to 0.17.0: + * set the baseline C++ version to 17. + * mdds has been internalized so that the public header no longer contains + references to mdds. With this change, the users can use different API + versions of mdds between the ixion build and run-time use. + * cleaned up public API to make use of std::string_view and std::variant + where appropriate. + * implemented built-in LEFT() function in the formula interpreter. + * it is no longer required to set the size of void* at build time to ensure + the binaries to be fully functional. + * fixed a bug where named expressions with names containing invalid + characters were still allowed in. + +------------------------------------------------------------------- +Wed May 19 14:49:56 UTC 2021 - Fridrich Strba <fstrba@suse.com> + +- Define conditionally make_build to fix build on systems that do + not have that macro + +------------------------------------------------------------------- +Mon Sep 28 18:15:56 UTC 2020 - Dirk Mueller <dmueller@suse.com> + +- update to 0.16.1: + * fixed a build issue on 32-bit linux platforms, caused by slicing of integer + string ID values. + * worked around floating point rounding errors which prevented two + theoretically-equal numeric values from being evaluated as equal in test + code. + * added new function to allow printing of single formula tokens. + * added method for setting cached results on formula cells in + model_context. + * changed the model_context design to ensure that all sheets are of the same + size. + * added an accessor method to formula_model_access interface (and implicitly + in model_context) that directly returns a string value from cell. + * added cell_access class for querying of cell states without knowing its + type ahead of time. + * added document class which provides a layer on top of model_context, to + abstract away the handling of formula calculations. + * deprecated model_context::erase_cell() in favor of empty_cell(). + * added support for 3D references - references that contain multiple sheets. + * added support for the exponent (^) and concatenation (&) operators. + * fixed incorrect handling of range references containing whole columns such + as A:A. + * added support for unordered range references - range references whose + start row or column is greater than their end position counterparts, such + as A3:A1. + * fixed a bug that prevented nested formula functions from working properly. + * implemented Calc A1 style reference resolver. + * formula results now directly store the string values when the results are + of string type. They previously stored string ID values after interning + the original strings. + * removed build-time dependency on spdlog. + +------------------------------------------------------------------- +Thu Aug 15 21:35:46 UTC 2019 - Jonathan Brielmaier <jbrielmaier@suse.de> + +- Update to 0.15.0 + * Update for new liborcus + * Switched to spdlog for compile-time debug log outputs + * Various fixes +- Add spdlog build dependency + +------------------------------------------------------------------- +Thu Mar 7 10:05:25 UTC 2019 - Adam Majer <adam.majer@suse.de> + +- Add missing dependency on libboost_system-devel + +------------------------------------------------------------------- +Thu Nov 15 13:48:27 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com> + +- Update to 0.14.1: + * Update for new orcus + * Various 23bit build issues + * Various coverity fixes + +------------------------------------------------------------------- +Thu Feb 15 08:19:15 UTC 2018 - tchvatal@suse.com + +- Rename python3 package to match up naming conventions +- Install license file + +------------------------------------------------------------------- +Wed Nov 29 12:44:50 UTC 2017 - tchvatal@suse.com + +- Version update to 0.13.0: + * Step lock update with orcus + * Various fixes / fuzzer crashes resolved + +------------------------------------------------------------------- +Wed Feb 1 12:54:11 UTC 2017 - adam.majer@suse.de + +- use individual libboost-*-devel packages instead of boost-devel + +------------------------------------------------------------------- +Sat Dec 3 13:44:31 UTC 2016 - tchvatal@suse.com + +- Version update to 0.12.1: + * Update to be in sync with orcus + * Small fixes around + +------------------------------------------------------------------- +Wed May 25 11:55:37 UTC 2016 - tchvatal@suse.com + +- Version update to 0.11.1: + * Switch to mdds-1.2 + * Few small fixes + +------------------------------------------------------------------- +Mon Mar 7 12:43:06 UTC 2016 - tchvatal@suse.com + +- Version update to 0.11.0: + * Switch to mdds-1.0 + * Various fixes + * Python3 bindings obsoleted python2 ones + +------------------------------------------------------------------- +Mon Apr 13 10:47:29 UTC 2015 - tchvatal@suse.com + +- Version bump to 0.9.1: + * various triv bugfixes + * Build with tests and work this time + +------------------------------------------------------------------- +Tue Mar 24 14:16:41 UTC 2015 - tchvatal@suse.com + +- Drop copy&pasto from fedora + +------------------------------------------------------------------- +Tue Mar 24 10:09:15 UTC 2015 - tchvatal@suse.com + +- Version bump to 0.9.0: + * Needed for new orcus + * Python bindings are around now +- Update homepage +- Add python subpackage +- Tests fail with this release, next one will fix it again + +------------------------------------------------------------------- +Mon May 26 21:22:15 UTC 2014 - fstrba@suse.com + +- Upgrade to upstream version 0.7.0 + * needed by libreoffice 4.3.x +- Add pkgconfig(mdds) dependency instead of mdds-devel + +------------------------------------------------------------------- +Sun Jan 26 08:57:36 UTC 2014 - tchvatal@suse.com + +- Cleanup with spec-cleaner and make the outputs verbose. + +------------------------------------------------------------------- +Wed May 15 11:42:14 UTC 2013 - cfarrell@suse.com + +- license update: MIT + The SPDX shortname for the license described in the COPYING file is MIT + +------------------------------------------------------------------- +Sat Apr 20 11:44:14 UTC 2013 - tchvatal@suse.com + +- Add URL path for the download. +- Update the package to be matching the released tarball. +- Do not force autoreconf as it is not really needed with released + package. + +------------------------------------------------------------------- +Wed Mar 27 13:58:07 UTC 2013 - kyoshida@suse.com + +- Updated the package which includes the boost patch and several + others. +- Removed distro-specific patch. + +------------------------------------------------------------------- +Tue Mar 26 17:11:53 UTC 2013 - tchvatal@suse.com + +- Cleanup a bit more for factory inclusion. + +------------------------------------------------------------------- +Tue Mar 26 14:58:20 UTC 2013 - jengelh@inai.de + +- Fix wrong order of patch application and broken sed substitution + in %prep stage +- Runtime boost dependency is automatic and not needed + +------------------------------------------------------------------- +Tue Mar 26 13:31:04 UTC 2013 - tchvatal@suse.com + +- Beautify a bit. + +------------------------------------------------------------------- +Tue Mar 26 13:26:03 UTC 2013 - tchvatal@suse.com + +- Fix boost m4 macro to pass configure stage. + +------------------------------------------------------------------- +Tue Mar 26 05:03:03 UTC 2013 - kyoshida@suse.com + +- Updated to the 0.5.0 pre-release version. + +------------------------------------------------------------------- +Tue Jan 31 16:52:01 UTC 2012 - jengelh@medozas.de + +- Remove redundant tags/sections per specfile guideline suggestions +- Add autotools BuildRequires for factory/12.2 + +------------------------------------------------------------------- +Thu Oct 27 02:57:02 UTC 2011 - kyoshida@suse.com + +- Initial package. + diff --git a/libixion.spec b/libixion.spec new file mode 100644 index 0000000..ba05729 --- /dev/null +++ b/libixion.spec @@ -0,0 +1,130 @@ +# +# spec file for package libixion +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{!?make_build:%global make_build make %{?_smp_mflags}} +%define libname libixion-0_18-0 +Name: libixion +Version: 0.19.0 +Release: 0 +Summary: Threaded multi-target formula parser & interpreter +License: MIT +URL: https://gitlab.com/ixion/ixion +Source: http://kohei.us/files/ixion/src/%{name}-%{version}.tar.xz +Patch0: libixion-boost-system.patch +# PATCH-FIX-UPSTREAM +Patch1: 0001-Fix-_WIN32-is-not-defined-when-not-on-Windows.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: coreutils +BuildRequires: gcc-c++ +BuildRequires: libstdc++-devel +BuildRequires: libtool +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(mdds-2.1) +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(spdlog) >= 0.16.0 +%if 0%{?suse_version} > 1325 +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_system-devel +%else +BuildRequires: boost-devel +BuildRequires: gcc11 +BuildRequires: gcc11-c++ +%endif + +%description +Ixion is a general purpose formula parser & interpreter that can calculate +multiple named targets, or "cells". + +%package -n %{libname} +Summary: Threaded multi-target formula parser & interpreter + +%description -n %{libname} +Ixion is a general purpose formula parser & interpreter that can calculate +multiple named targets, or "cells". + +%package devel +Summary: Threaded multi-target formula parser & interpreter +Requires: %{libname} = %{version} + +%description devel +Ixion is a general purpose formula parser & interpreter that can calculate +multiple named targets, or "cells". + +%package tools +Summary: Spreadsheet file processing library +Requires: %{libname} = %{version} + +%description tools +Tools to use ixion parser and interpreter from cli. + +%package -n python3-%{name} +Summary: Python bindings for libixion +Obsoletes: %{name}-python +# Renamed in 15.0 +Provides: %{name}-python3 = %{version} + +%description -n python3-%{name} +Python 3 bindings for %{name}. + +%prep +%autosetup -p1 + +%build +%global optflags %optflags -fexcess-precision=fast +libtoolize --force --copy +autoreconf -fi +%if 0%{?suse_version} < 1500 +export CC=gcc-11 +export CXX=g++-11 +%endif +%configure \ + --disable-silent-rules \ + --disable-static \ + --disable-vulkan \ + --docdir=%{_docdir}/%{name} +%make_build + +%check +%make_build check + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%files -n %{libname} +%license LICENSE +%{_libdir}/*.so.* + +%files devel +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc + +%files tools +%{_bindir}/* + +%files -n python3-%{name} +%{python3_sitearch}/ixion.so + +%changelog