libixion, py-libixion: Update to 0.15.0
Changelog: ixion 0.15.0 * fill_down_cells() method has been added to model_context, to fill duplicate values downward from an arbitrary cell position. For now, it always duplicate the value of the source cell; cell value enumerations are not supported. Also, filling down of formula cells is not yet supported. * cell iterator has been aded to model_context, for efficient horizontal and vertical iterations of cell values in an arbitrary range within a sheet. * improved the cmake-based build, with all test cases integrated. * switched to spdlog for compile-time debug log outputs. * improved performance by removing repeated fetching of each formula cell prior to interpretation. * reworked topological sorting of formula cells to avoid having to unnecessarily build dependency relations twice; once during the dirty cell determination and twice prior to interpretation of formula cells. The new code performs topological sorting during the dirty cell determination phase. * reworked the cell reference tracker to use R-tree. This allows more accurate tracking of references involving grouped formulas. * fixed a resource leak with dynamic loading of compute engine modules.
This commit is contained in:
parent
bad1893135
commit
5852859814
9 changed files with 95 additions and 51 deletions
|
@ -1,6 +1,4 @@
|
||||||
# $NetBSD: Makefile,v 1.16 2020/01/12 20:20:31 ryoon Exp $
|
# $NetBSD: Makefile,v 1.17 2020/02/05 13:46:13 ryoon Exp $
|
||||||
|
|
||||||
PKGREVISION= 3
|
|
||||||
|
|
||||||
.include "Makefile.common"
|
.include "Makefile.common"
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
# $NetBSD: Makefile.common,v 1.1 2019/12/04 13:33:15 nros Exp $
|
# $NetBSD: Makefile.common,v 1.2 2020/02/05 13:46:13 ryoon Exp $
|
||||||
#
|
#
|
||||||
# used by math/libixion/Makefile
|
# used by math/libixion/Makefile
|
||||||
# used by math/py-libixion/Makefile
|
# used by math/py-libixion/Makefile
|
||||||
|
|
||||||
DISTNAME= libixion-0.14.1
|
DISTNAME= libixion-0.15.0
|
||||||
CATEGORIES= math devel
|
CATEGORIES= math devel
|
||||||
MASTER_SITES= http://kohei.us/files/ixion/src/
|
MASTER_SITES= http://kohei.us/files/ixion/src/
|
||||||
EXTRACT_SUFX= .tar.xz
|
EXTRACT_SUFX= .tar.xz
|
||||||
|
@ -19,8 +19,10 @@ DISTINFO_FILE= ../../math/libixion/distinfo
|
||||||
GNU_CONFIGURE= yes
|
GNU_CONFIGURE= yes
|
||||||
USE_LIBTOOL= yes
|
USE_LIBTOOL= yes
|
||||||
USE_TOOLS+= pkg-config
|
USE_TOOLS+= pkg-config
|
||||||
USE_LANGUAGES= c c++
|
USE_LANGUAGES= c c++11
|
||||||
|
|
||||||
BUILDLINK_TRANSFORM.NetBSD+= rm:-ldl
|
BUILDLINK_TRANSFORM.NetBSD+= rm:-ldl
|
||||||
|
|
||||||
PTHREAD_AUTO_VARS= yes
|
PTHREAD_AUTO_VARS= yes
|
||||||
|
|
||||||
|
.include "../../devel/spdlog/buildlink3.mk"
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
@comment $NetBSD: PLIST,v 1.3 2019/02/19 15:55:47 ryoon Exp $
|
@comment $NetBSD: PLIST,v 1.4 2020/02/05 13:46:13 ryoon Exp $
|
||||||
bin/ixion-formula-tokenizer
|
bin/ixion-formula-tokenizer
|
||||||
bin/ixion-parser
|
bin/ixion-parser
|
||||||
bin/ixion-sorter
|
bin/ixion-sorter
|
||||||
include/libixion-0.14/ixion/address.hpp
|
include/libixion-0.15/ixion/address.hpp
|
||||||
include/libixion-0.14/ixion/address_iterator.hpp
|
include/libixion-0.15/ixion/address_iterator.hpp
|
||||||
include/libixion-0.14/ixion/cell.hpp
|
include/libixion-0.15/ixion/cell.hpp
|
||||||
include/libixion-0.14/ixion/cell_listener_tracker.hpp
|
include/libixion-0.15/ixion/column_store_type.hpp
|
||||||
include/libixion-0.14/ixion/column_store_type.hpp
|
include/libixion-0.15/ixion/compute_engine.hpp
|
||||||
include/libixion-0.14/ixion/compute_engine.hpp
|
include/libixion-0.15/ixion/config.hpp
|
||||||
include/libixion-0.14/ixion/config.hpp
|
include/libixion-0.15/ixion/dirty_cell_tracker.hpp
|
||||||
include/libixion-0.14/ixion/depth_first_search.hpp
|
include/libixion-0.15/ixion/env.hpp
|
||||||
include/libixion-0.14/ixion/env.hpp
|
include/libixion-0.15/ixion/exceptions.hpp
|
||||||
include/libixion-0.14/ixion/exceptions.hpp
|
include/libixion-0.15/ixion/formula.hpp
|
||||||
include/libixion-0.14/ixion/formula.hpp
|
include/libixion-0.15/ixion/formula_function_opcode.hpp
|
||||||
include/libixion-0.14/ixion/formula_function_opcode.hpp
|
include/libixion-0.15/ixion/formula_name_resolver.hpp
|
||||||
include/libixion-0.14/ixion/formula_name_resolver.hpp
|
include/libixion-0.15/ixion/formula_opcode.hpp
|
||||||
include/libixion-0.14/ixion/formula_opcode.hpp
|
include/libixion-0.15/ixion/formula_result.hpp
|
||||||
include/libixion-0.14/ixion/formula_result.hpp
|
include/libixion-0.15/ixion/formula_tokens.hpp
|
||||||
include/libixion-0.14/ixion/formula_tokens.hpp
|
include/libixion-0.15/ixion/formula_tokens_fwd.hpp
|
||||||
include/libixion-0.14/ixion/formula_tokens_fwd.hpp
|
include/libixion-0.15/ixion/global.hpp
|
||||||
include/libixion-0.14/ixion/global.hpp
|
include/libixion-0.15/ixion/info.hpp
|
||||||
include/libixion-0.14/ixion/info.hpp
|
include/libixion-0.15/ixion/interface/formula_model_access.hpp
|
||||||
include/libixion-0.14/ixion/interface/formula_model_access.hpp
|
include/libixion-0.15/ixion/interface/session_handler.hpp
|
||||||
include/libixion-0.14/ixion/interface/session_handler.hpp
|
include/libixion-0.15/ixion/interface/table_handler.hpp
|
||||||
include/libixion-0.14/ixion/interface/table_handler.hpp
|
include/libixion-0.15/ixion/macros.hpp
|
||||||
include/libixion-0.14/ixion/macros.hpp
|
include/libixion-0.15/ixion/matrix.hpp
|
||||||
include/libixion-0.14/ixion/matrix.hpp
|
include/libixion-0.15/ixion/mem_str_buf.hpp
|
||||||
include/libixion-0.14/ixion/mem_str_buf.hpp
|
include/libixion-0.15/ixion/model_context.hpp
|
||||||
include/libixion-0.14/ixion/model_context.hpp
|
include/libixion-0.15/ixion/model_iterator.hpp
|
||||||
include/libixion-0.14/ixion/module.hpp
|
include/libixion-0.15/ixion/module.hpp
|
||||||
include/libixion-0.14/ixion/table.hpp
|
include/libixion-0.15/ixion/table.hpp
|
||||||
include/libixion-0.14/ixion/types.hpp
|
include/libixion-0.15/ixion/types.hpp
|
||||||
lib/libixion-0.14.la
|
lib/libixion-0.15.la
|
||||||
lib/pkgconfig/libixion-0.14.pc
|
lib/pkgconfig/libixion-0.15.pc
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# $NetBSD: buildlink3.mk,v 1.5 2019/02/22 06:15:50 gutteridge Exp $
|
# $NetBSD: buildlink3.mk,v 1.6 2020/02/05 13:46:13 ryoon Exp $
|
||||||
|
|
||||||
BUILDLINK_TREE+= libixion
|
BUILDLINK_TREE+= libixion
|
||||||
|
|
||||||
.if !defined(LIBIXION_BUILDLINK3_MK)
|
.if !defined(LIBIXION_BUILDLINK3_MK)
|
||||||
LIBIXION_BUILDLINK3_MK:=
|
LIBIXION_BUILDLINK3_MK:=
|
||||||
|
|
||||||
BUILDLINK_API_DEPENDS.libixion+= libixion>=0.14.0
|
BUILDLINK_API_DEPENDS.libixion+= libixion>=0.15.0
|
||||||
BUILDLINK_PKGSRCDIR.libixion?= ../../math/libixion
|
BUILDLINK_PKGSRCDIR.libixion?= ../../math/libixion
|
||||||
|
|
||||||
.include "../../devel/mdds/buildlink3.mk"
|
.include "../../devel/mdds/buildlink3.mk"
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
$NetBSD: distinfo,v 1.5 2019/12/04 13:31:43 nros Exp $
|
$NetBSD: distinfo,v 1.6 2020/02/05 13:46:13 ryoon Exp $
|
||||||
|
|
||||||
SHA1 (libixion-0.14.1.tar.xz) = 8c8f17550177f11f26343c18c6e18cfa260df0e6
|
SHA1 (libixion-0.15.0.tar.xz) = cdf61f14b9587620573b3e6e7d8b11c686419dc0
|
||||||
RMD160 (libixion-0.14.1.tar.xz) = ff80ec9b91c64a89c5ae459f749031304148ee57
|
RMD160 (libixion-0.15.0.tar.xz) = 96f24812a77611c5554e213788bb0633ecd1d5aa
|
||||||
SHA512 (libixion-0.14.1.tar.xz) = e4ae6348833d2178c1dc76916937bcc9d7821dc6570fe13093c441ca22e0301a1ca6a4cf85d9814b83534733dba98f4c4a372791f93bc57173317657675b9ae3
|
SHA512 (libixion-0.15.0.tar.xz) = feecaa4a8e6191649a7ecbc6c0f4d7db6dba3a5e4a031c1f55236907bf94e2ece9ee05d18ed345e3503cffb4a380b04f6c4941ef4214ddf92687998a070b7543
|
||||||
Size (libixion-0.14.1.tar.xz) = 360568 bytes
|
Size (libixion-0.15.0.tar.xz) = 447388 bytes
|
||||||
SHA1 (patch-configure.ac) = 47f20ec412c7f8b8ae91b12fea9e211cecdd7d5a
|
SHA1 (patch-configure) = 7931b66d933b3ffd932ddfad3494eb40424e6b0e
|
||||||
|
SHA1 (patch-configure.ac) = 46c9d080102842d5edba6844a51d6b38063af220
|
||||||
|
SHA1 (patch-include_ixion_model__context.hpp) = 89456eacf54deb95bf48a5836d674f97ff64eb37
|
||||||
SHA1 (patch-src_python_Makefile.am) = f67180858a87e6a5af941642d1ffbfbc4610ad2a
|
SHA1 (patch-src_python_Makefile.am) = f67180858a87e6a5af941642d1ffbfbc4610ad2a
|
||||||
|
|
15
math/libixion/patches/patch-configure
Normal file
15
math/libixion/patches/patch-configure
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
$NetBSD: patch-configure,v 1.1 2020/02/05 13:46:13 ryoon Exp $
|
||||||
|
|
||||||
|
* Improve POSIX shell portability
|
||||||
|
|
||||||
|
--- configure.orig 2019-08-08 20:57:52.000000000 +0000
|
||||||
|
+++ configure
|
||||||
|
@@ -19424,7 +19424,7 @@ else
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
-if test x"$enable_werror" == "xyes"; then :
|
||||||
|
+if test x"$enable_werror" = "xyes"; then :
|
||||||
|
|
||||||
|
CXXFLAGS="$CXXFLAGS -Werror"
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
$NetBSD: patch-configure.ac,v 1.1 2019/12/04 13:31:43 nros Exp $
|
$NetBSD: patch-configure.ac,v 1.2 2020/02/05 13:46:13 ryoon Exp $
|
||||||
|
|
||||||
* check for pkgsrc libixion, used by math/py-libixion
|
* check for pkgsrc libixion, used by math/py-libixion
|
||||||
--- configure.ac.orig 2018-09-14 19:32:48.000000000 +0000
|
|
||||||
|
* Improve POSIX shell portability
|
||||||
|
|
||||||
|
--- configure.ac.orig 2019-08-08 20:56:25.000000000 +0000
|
||||||
+++ configure.ac
|
+++ configure.ac
|
||||||
@@ -123,6 +123,7 @@ PKG_CHECK_MODULES([MDDS],[mdds-1.4 >= 1.
|
@@ -142,6 +142,7 @@ AS_IF([test "x$enable_log_trace" != "xno
|
||||||
AS_IF([test "x$enable_python" != "xno"], [
|
AS_IF([test "x$enable_python" != "xno"], [
|
||||||
AM_PATH_PYTHON(3)
|
AM_PATH_PYTHON(3)
|
||||||
PKG_CHECK_MODULES([PYTHON], [python3 >= 3.4])
|
PKG_CHECK_MODULES([PYTHON], [python3 >= 3.4])
|
||||||
|
@ -10,3 +14,12 @@ $NetBSD: patch-configure.ac,v 1.1 2019/12/04 13:31:43 nros Exp $
|
||||||
])
|
])
|
||||||
|
|
||||||
AS_IF([test "x$enable_threads" != "xno"], [
|
AS_IF([test "x$enable_threads" != "xno"], [
|
||||||
|
@@ -169,7 +170,7 @@ AC_ARG_ENABLE([werror],
|
||||||
|
[enable_werror="$enableval"],
|
||||||
|
[enable_werror=no]
|
||||||
|
)
|
||||||
|
-AS_IF([test x"$enable_werror" == "xyes"], [
|
||||||
|
+AS_IF([test x"$enable_werror" = "xyes"], [
|
||||||
|
CXXFLAGS="$CXXFLAGS -Werror"
|
||||||
|
])
|
||||||
|
|
||||||
|
|
15
math/libixion/patches/patch-include_ixion_model__context.hpp
Normal file
15
math/libixion/patches/patch-include_ixion_model__context.hpp
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
$NetBSD: patch-include_ixion_model__context.hpp,v 1.1 2020/02/05 13:46:13 ryoon Exp $
|
||||||
|
|
||||||
|
* Fix build under NetBSD.
|
||||||
|
|
||||||
|
--- include/ixion/model_context.hpp.orig 2019-03-09 04:05:04.000000000 +0000
|
||||||
|
+++ include/ixion/model_context.hpp
|
||||||
|
@@ -61,7 +61,7 @@ public:
|
||||||
|
} value;
|
||||||
|
|
||||||
|
/** Initializes the cell to be empty. */
|
||||||
|
- input_cell(nullptr_t);
|
||||||
|
+ input_cell(std::nullptr_t);
|
||||||
|
/** Boolean cell value. */
|
||||||
|
input_cell(bool b);
|
||||||
|
/** The char array must be null-terminated. */
|
|
@ -1,6 +1,5 @@
|
||||||
# $NetBSD: Makefile,v 1.3 2020/01/12 20:20:31 ryoon Exp $
|
# $NetBSD: Makefile,v 1.4 2020/02/05 13:46:14 ryoon Exp $
|
||||||
|
|
||||||
PKGREVISION= 1
|
|
||||||
.include "../../math/libixion/Makefile.common"
|
.include "../../math/libixion/Makefile.common"
|
||||||
|
|
||||||
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
|
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
|
||||||
|
|
Loading…
Reference in a new issue