liborcus: 0.18.0 -> 0.18.1

This commit is contained in:
Tim Biermann 2023-02-11 09:45:48 +01:00
parent e9258fdd41
commit d722105e90
Signed by: tb
GPG Key ID: 42F8B4E30B673606
4 changed files with 6 additions and 267 deletions

View File

@ -1,11 +1,9 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF33d4W8Qkph2rpBm77zBXb/ABRmig8XZTKkiHptaSEQQEoG8Nr9ZlQ/df7CnJ3REJs5yMZyHRjbY4jzzjt6NHcQ0=
SHA256 (Pkgfile) = 9134a1f5ee50d53d16c6422fddabac9568ca56a3a33c579fb49009f858b9ce20
RWSagIOpLGJF3zaWknSERszmqiOsWvcrkj5ymxCtveT383hDQAZucjjkwtHfn8WS7dVLlf5YKtNKIRQ2XvRA2mSX2J44aUEuKww=
SHA256 (Pkgfile) = ed35eeddcf05e0a406b4139461bd620ff0d133a7dc22595e30b7ae37032e2a2a
SHA256 (.footprint) = a613b179fd785a709bcae77983d33a7a0aea6536c4c5c9cc4f1e7cfff258b4b4
SHA256 (liborcus-0.18.0.tar.xz) = 0a8c55a227f13dbda08da8a1f6e18f27ba873da55a2cdd23bd0825989d1abff8
SHA256 (liborcus-0.18.1.tar.xz) = 6006b9f1576315e313df715a7e72a17f3e0b17d7b6bd119cfa8a0b608ce971eb
SHA256 (rpath.patch.0) = 909301d40416c75cdc648234a7e0b70ece0e5ca8745bfb57db9caa99ed211f81
SHA256 (libtool.patch.0) = dbf8a0d8e7c3cb7cbdc45910bc038b15378bca6e32203e4d6c8f719ceab30675
SHA256 (fix-pch.patch.0) = bd608a42e5135cff764063c14f2b8787e459fac6cc5fb4c35b3f5176b6b4bf86
SHA256 (liborcus_newline.patch.1) = 83547a463834eec764ff19ece6b0c9829efef9b9256db8f9fe3dc243b26df9b4
SHA256 (liborcus-no-benchmark.patch.1) = 77daaa5b1c77b64808504ba40527653e56762f468464b677ba910a1ff40d3c34
SHA256 (bugfix-0.18.0-unset-border-colors.patch.1) = 5e8d6a38809bb05c101c572a791c41f0904ba337453bd995a08bdbd2afa3f91b

View File

@ -4,15 +4,13 @@
# Depends on: libixion zstd
name=liborcus
version=0.18.0
release=2
version=0.18.1
release=1
source=(https://kohei.us/files/orcus/src/$name-$version.tar.xz
rpath.patch.0
libtool.patch.0
fix-pch.patch.0
liborcus_newline.patch.1
liborcus-no-benchmark.patch.1
bugfix-0.18.0-unset-border-colors.patch.1)
liborcus_newline.patch.1)
build() {
cd $name-$version
@ -21,8 +19,6 @@ build() {
patch -Np0 -i $SRC/libtool.patch.0
patch -Np0 -i $SRC/fix-pch.patch.0
patch -Np1 -i $SRC/liborcus_newline.patch.1
patch -Np1 -i $SRC/liborcus-no-benchmark.patch.1
patch -Np1 -i $SRC/bugfix-0.18.0-unset-border-colors.patch.1
./configure --prefix=/usr --disable-python
make

View File

@ -1,236 +0,0 @@
diff --git a/src/liborcus/xls_xml_context.cpp b/src/liborcus/xls_xml_context.cpp
index 85916fc7..739678ee 100644
--- a/src/liborcus/xls_xml_context.cpp
+++ b/src/liborcus/xls_xml_context.cpp
@@ -1292,7 +1292,7 @@ void xls_xml_context::start_element_border(const xml_token_attrs_t& attrs)
{
ss::border_direction_t dir = ss::border_direction_t::unknown;
ss::border_style_t style = ss::border_style_t::unknown;
- ss::color_rgb_t color;
+ std::optional<ss::color_rgb_t> color;
long weight = 0;
for (const xml_token_attr_t& attr : attrs)
@@ -1950,8 +1950,14 @@ void xls_xml_context::commit_default_style()
{
for (const border_style_type& b : m_default_style->borders)
{
- border_style->set_style(b.dir, b.style);
- border_style->set_color(b.dir, 255, b.color.red, b.color.green, b.color.blue);
+ if (b.dir == ss::border_direction_t::unknown)
+ continue;
+
+ if (b.style != ss::border_style_t::unknown)
+ border_style->set_style(b.dir, b.style);
+
+ if (b.color)
+ border_style->set_color(b.dir, 255, b.color->red, b.color->green, b.color->blue);
}
}
@@ -2109,8 +2115,14 @@ void xls_xml_context::commit_styles()
for (const border_style_type& b : style->borders)
{
- border_style->set_style(b.dir, b.style);
- border_style->set_color(b.dir, 255, b.color.red, b.color.green, b.color.blue);
+ if (b.dir == ss::border_direction_t::unknown)
+ continue;
+
+ if (b.style != ss::border_style_t::unknown)
+ border_style->set_style(b.dir, b.style);
+
+ if (b.color)
+ border_style->set_color(b.dir, 255, b.color->red, b.color->green, b.color->blue);
}
size_t border_id = border_style->commit();
diff --git a/src/liborcus/xls_xml_context.hpp b/src/liborcus/xls_xml_context.hpp
index 9f00bb07..d7377e42 100644
--- a/src/liborcus/xls_xml_context.hpp
+++ b/src/liborcus/xls_xml_context.hpp
@@ -127,7 +127,7 @@ class xls_xml_context : public xml_context_base
{
spreadsheet::border_direction_t dir = spreadsheet::border_direction_t::unknown;
spreadsheet::border_style_t style = spreadsheet::border_style_t::unknown;
- spreadsheet::color_rgb_t color;
+ std::optional<spreadsheet::color_rgb_t> color;
};
struct font_style_type
diff --git a/src/orcus_test_xls_xml.cpp b/src/orcus_test_xls_xml.cpp
index 627c957d..f20603c6 100644
--- a/src/orcus_test_xls_xml.cpp
+++ b/src/orcus_test_xls_xml.cpp
@@ -756,73 +756,171 @@ void test_xls_xml_cell_borders_directions()
case ss::border_direction_t::top:
assert(border->top.style);
assert(*border->top.style == ss::border_style_t::thin);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(!border->bottom.style);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(!border->left.style);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(!border->right.style);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(!border->diagonal_bl_tr.style);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(!border->diagonal_tl_br.style);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
case ss::border_direction_t::left:
assert(!border->top.style);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(!border->bottom.style);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(border->left.style);
assert(*border->left.style == ss::border_style_t::thin);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(!border->right.style);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(!border->diagonal_bl_tr.style);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(!border->diagonal_tl_br.style);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
case ss::border_direction_t::right:
assert(!border->top.style);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(!border->bottom.style);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(!border->left.style);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(border->right.style);
assert(*border->right.style == ss::border_style_t::thin);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(!border->diagonal_bl_tr.style);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(!border->diagonal_tl_br.style);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
case ss::border_direction_t::bottom:
assert(!border->top.style);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(border->bottom.style);
assert(*border->bottom.style == ss::border_style_t::thin);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(!border->left.style);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(!border->right.style);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(!border->diagonal_bl_tr.style);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(!border->diagonal_tl_br.style);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
case spreadsheet::border_direction_t::diagonal:
assert(!border->top.style);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(!border->bottom.style);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(!border->left.style);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(!border->right.style);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(border->diagonal_bl_tr.style);
assert(*border->diagonal_bl_tr.style == ss::border_style_t::thin);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(border->diagonal_tl_br.style);
assert(*border->diagonal_tl_br.style == ss::border_style_t::thin);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
case spreadsheet::border_direction_t::diagonal_tl_br:
assert(!border->top.style);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(!border->bottom.style);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(!border->left.style);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(!border->right.style);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(!border->diagonal_bl_tr.style);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(border->diagonal_tl_br.style);
assert(*border->diagonal_tl_br.style == ss::border_style_t::thin);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
case spreadsheet::border_direction_t::diagonal_bl_tr:
assert(!border->top.style);
+ assert(!border->top.border_color);
+ assert(!border->top.border_width);
assert(!border->bottom.style);
+ assert(!border->bottom.border_color);
+ assert(!border->bottom.border_width);
assert(!border->left.style);
+ assert(!border->left.border_color);
+ assert(!border->left.border_width);
assert(!border->right.style);
+ assert(!border->right.border_color);
+ assert(!border->right.border_width);
assert(!border->diagonal.style);
+ assert(!border->diagonal.border_color);
+ assert(!border->diagonal.border_width);
assert(border->diagonal_bl_tr.style);
assert(*border->diagonal_bl_tr.style == ss::border_style_t::thin);
+ assert(!border->diagonal_bl_tr.border_color);
+ assert(!border->diagonal_bl_tr.border_width);
assert(!border->diagonal_tl_br.style);
+ assert(!border->diagonal_tl_br.border_color);
+ assert(!border->diagonal_tl_br.border_width);
break;
default:
assert(!"unhandled direction!");

View File

@ -1,19 +0,0 @@
-*- Mode: Diff -*-
Don't build the benchmark directory.
We won't run those anyway, and on some platforms building executables
here and there for random externals can be problematic. While at it,
skip the doc_example subdirectory too.
--- liborcus/Makefile.in
+++ liborcus/Makefile.in
@@ -423,7 +423,7 @@
top_srcdir = @top_srcdir@
valgrind_enabled_tools = @valgrind_enabled_tools@
valgrind_tools = @valgrind_tools@
-SUBDIRS = src include benchmark doc_example
+SUBDIRS = src include
ACLOCAL_AMFLAGS = -I m4
pcfiles = liborcus-@ORCUS_API_VERSION@.pc $(am__append_1)
pkgconfig_DATA = $(pcfiles)