sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (e929a6edf9f5107d2def9f774a59332b6d4dea93)
- From: Ismael Luceno <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (e929a6edf9f5107d2def9f774a59332b6d4dea93)
- Date: Sat, 27 Dec 2025 14:45:22 +0000
GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:
editors/libreoffice/DETAILS
| 14
editors/libreoffice/HISTORY
| 8
editors/libreoffice/patches/0001-Upgrade-mdds-to-3.0.0-and-liborcus-to-0.20.0.patch
| 1659 ----------
editors/libreoffice/patches/0001-boost-upgrade-to-1_89_0.patch
| 635 +++
editors/libreoffice/patches/0002-Upgrade-liborcus-to-0.21.0.patch
| 176 +
libs/orcus/DETAILS
| 1
6 files changed, 827 insertions(+), 1666 deletions(-)
New commits:
commit e929a6edf9f5107d2def9f774a59332b6d4dea93
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
libreoffice 25.8.4.2
commit d67ff0a09809e3f88b991066c70a40382447d617
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
orcus: Add Watch line
diff --git a/editors/libreoffice/DETAILS b/editors/libreoffice/DETAILS
index 3716674..faf8e90 100755
--- a/editors/libreoffice/DETAILS
+++ b/editors/libreoffice/DETAILS
@@ -1,19 +1,19 @@
# Watch: https://download.documentfoundation.org/libreoffice/src/
release-([0-9.]+)\.log
SPELL=libreoffice
- VERSION=25.2.0.3
-
SOURCE_HASH=sha512:0a39ff7f66c5def0d5a029267949b2f8001543f0b269c628d2285ac7dc62699f2258fc788a7220fca91a7af347a6ded8a4220b255906c817906e51e3a05f3031
+ VERSION=25.8.4.2
+
SOURCE_HASH=sha512:8487e818503e7026f60bbfdcc9f955ad92d048a45277213ef0bef319c676c51349db0f2ba87c68fffffecf2de8c47e9b2ad0a655fa1ecd4a39d6242210a13709
SOURCE=$SPELL-$VERSION.tar.xz
SOURCE_URL[0]="https://download.documentfoundation.org/$SPELL/src/${VERSION%.*}/$SOURCE"
addon_url="https://dev-www.libreoffice.org/src"
SOURCE2_HASH=sha512:722aa814c33a34bfffe6c0201b0035cc3b65854a0ba9ae2f51620a89d68019353e2c306651b35bca337186b22b2e9865ef3c5e3df8e9328006f882e4577f8c85
SOURCE2=dtoa-20180411.tgz
-
SOURCE3_HASH=sha512:5987bf6b3beefb4726f82ed35a25cbfe67e901f747c44cc2022e2172b1cf5d7e7c9e4f07242c2a46fc3c0aacf3fc6e79548d78e92616f15e348c3286d9bc04cb
- SOURCE3=pdfium-6764.tar.bz2
-
SOURCE4_HASH=sha512:8739b2e8b578accae14928473fb479d7014e9181dc7f363230282d4282f950f1006b2bcd746c12028fb86aeffdfd7d837435d09480cfe94714e81f8365dcf954
- SOURCE4=skia-m130-3c64459d5df2fa9794b277f0959ed8a92552bf4c.tar.xz
+
SOURCE3_HASH=sha512:816b6f4ac9627258e2b2facc03d528aab27919d0435fd73caedfa74ec772dbe289f82e374269048b156c1af80fc3f4b6d2d1e20f6af2cfbb7538765466930844
+ SOURCE3=pdfium-7012.tar.bz2
+
SOURCE4_HASH=sha512:aff11c300cb7fe8e716379c50b503a01ca8861a4b014627b5f983395c9534ba75ed1c20acf2ed07d05b201c38410095b75f905f981082ddf8105737c3d40856d
+ SOURCE4=skia-m136-28685d899b0a35894743e2cedad4c9f525e90e1e.tar.xz
SOURCE5_HASH=sha512:6a6d131dad5191614950a49323ae6d9385afe331983c1c85fde82ce6ee816051d95dde9ef90658b8f0a8a0a21754e72ff724bf41f6b96c046b7b4c2660f7095b
SOURCE5=f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
-
SOURCE6_HASH=sha256:d6b4650ff897ee1ead27cf77a5933ea197cbeef6705638dd181adc2e816b23c2
+
SOURCE6_HASH=sha512:d900f925b77906777719c91488bdc5e2df1ad1f4a8ca39a574229f5e57070e3a843bdd7530e817112605fde6d82145c872d8afdfc65b84531a73199098c81162
SOURCE6=box2d-2.4.1.tar.gz
SOURCE2_URL[0]="$addon_url/$SOURCE2"
SOURCE3_URL[0]="$addon_url/$SOURCE3"
diff --git a/editors/libreoffice/HISTORY b/editors/libreoffice/HISTORY
index ff37dbd..87c875f 100644
--- a/editors/libreoffice/HISTORY
+++ b/editors/libreoffice/HISTORY
@@ -1,3 +1,11 @@
+2025-12-27 Ismael Luceno <ismael AT sourcemage.org>
+ * DETAILS: updated spell to 25.8.4.2
+ * patches/0001-Upgrade-mdds-to-3.0.0-and-liborcus-to-0.20.0.patch:
removed,
+ no longer needed
+ * patches/0001-boost-upgrade-to-1_89_0.patch,
+ patches/0002-Upgrade-liborcus-to-0.21.0.patch:
+ fixed build against system boost and liborcus
+
2025-02-24 Ismael Luceno <ismael AT sourcemage.org>
* BUILD, DEPENDS, DETAILS: bundled box2d 2.4.1 until ported to 3.x
* patches/0001-Upgrade-mdds-to-3.0.0-and-liborcus-to-0.20.0.patch,
diff --git
a/editors/libreoffice/patches/0001-Upgrade-mdds-to-3.0.0-and-liborcus-to-0.20.0.patch
b/editors/libreoffice/patches/0001-Upgrade-mdds-to-3.0.0-and-liborcus-to-0.20.0.patch
deleted file mode 100644
index e7c2284..0000000
---
a/editors/libreoffice/patches/0001-Upgrade-mdds-to-3.0.0-and-liborcus-to-0.20.0.patch
+++ /dev/null
@@ -1,1659 +0,0 @@
-From 89285dd322e9975f874514e03a299e616a953efb Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei AT libreoffice.org>
-Date: Sat, 8 Feb 2025 11:40:28 -0500
-Subject: [PATCH] Upgrade mdds to 3.0.0 and liborcus to 0.20.0
-
-The portion of this change related to the mdds upgrade has been done by Xisco
-Fauli via https://gerrit.libreoffice.org/c/core/+/180862
-
-mdds 3.0.0
-
-* external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 is fixed
upstream
-* external/mdds/use-after-free.patch is fixed upstream
-
-Downloaded from
https://gitlab.com/api/v4/projects/mdds%2Fmdds/packages/generic/source/3.0.0/mdds-3.0.0.tar.xz
-
-liborcus 0.20.0
-
-* Pick up superscript and subscript text attributes.
-* Update the import of the font underline attributes as well as the
- strikethrough attributes applied to the cells.
-* Pick up the underline and strikethrough attributes in rich text
- strings.
-* Implementation for the previous auto filter interface has been
- removed for now.
-
-Downloaded from
https://gitlab.com/api/v4/projects/orcus%2Forcus/packages/generic/source/0.20.0/liborcus-0.20.0.tar.xz
-
-Change-Id: I93f6e5ab961d707a2bae03a4eca1466c541f086e
-Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181282
-Tested-by: Jenkins
-Reviewed-by: Kohei Yoshida <kohei AT libreoffice.org>
-Origin: Upstream
-Upstream-Status: Backport
-[ismael AT sourcemage.org: Added pre-generated configure script]
-Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
----
- RepositoryExternal.mk | 4 +-
- configure | 36
- configure.ac | 4 +-
- download.lst | 8 +-
- .../libetonyek/UnpackedTarball_libetonyek.mk | 1 +
- external/libetonyek/mdds3.0.patch.1 | 13 +
- external/liborcus/ExternalPackage_liborcus.mk | 8 +-
- external/liborcus/ExternalProject_liborcus.mk | 4 +-
- external/liborcus/Library_orcus.mk | 20 +-
- external/liborcus/UnpackedTarball_liborcus.mk | 2 +
- external/liborcus/enum-labels.patch | 47 ++
- external/liborcus/styles-element-rules.patch | 42 ++
- ...1-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 | 62 --
- external/mdds/UnpackedTarball_mdds.mk | 2 -
- .../gcc-12-silence-use-after-free.patch.1 | 8 +-
- external/mdds/use-after-free.patch | 12 -
- sc/inc/fstalgorithm.hxx | 2 +-
- sc/source/core/data/segmenttree.cxx | 8 +-
- sc/source/filter/excel/colrowst.cxx | 2 +-
- sc/source/filter/inc/orcusinterface.hxx | 169 +++--
- sc/source/filter/orcus/interface.cxx | 604 +++++++++++-------
- .../filter/xml/XMLStylesExportHelper.cxx | 2 +-
- 22 files changed, 673 insertions(+), 387 deletions(-)
- create mode 100644 external/libetonyek/mdds3.0.patch.1
- create mode 100644 external/liborcus/enum-labels.patch
- create mode 100644 external/liborcus/styles-element-rules.patch
- delete mode 100644
external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1
- delete mode 100644 external/mdds/use-after-free.patch
-
-diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
-index fd5c02d29287..6dddc1c92d38 100644
---- a/RepositoryExternal.mk
-+++ b/RepositoryExternal.mk
-@@ -3395,7 +3395,7 @@ $(call gb_LinkTarget_set_include,$(1),\
- )
-
- $(call gb_LinkTarget_add_libs,$(1),\
-- -L$(gb_UnpackedTarball_workdir)/liborcus/src/liborcus/.libs
-lorcus-0.18 \
-+ -L$(gb_UnpackedTarball_workdir)/liborcus/src/liborcus/.libs
-lorcus-0.20 \
- )
-
- $(if $(SYSTEM_BOOST), \
-@@ -3414,7 +3414,7 @@ $(call gb_LinkTarget_set_include,$(1),\
- )
-
- $(call gb_LinkTarget_add_libs,$(1),\
-- -L$(gb_UnpackedTarball_workdir)/liborcus/src/parser/.libs
-lorcus-parser-0.18 \
-+ -L$(gb_UnpackedTarball_workdir)/liborcus/src/parser/.libs
-lorcus-parser-0.20 \
- )
-
- endef
-diff --git a/configure.ac b/configure.ac
-index 4ee1e3c3b39d..97493ace6fb3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -11045,7 +11045,7 @@ dnl
===================================================================
- dnl Check for system mdds
- dnl ===================================================================
- MDDS_CFLAGS_internal="-I${WORKDIR}/UnpackedTarball/mdds/include"
--libo_CHECK_SYSTEM_MODULE([mdds],[MDDS],[mdds-2.1 >= 2.1.0])
-+libo_CHECK_SYSTEM_MODULE([mdds],[MDDS],[mdds-3.0 >= 3.0.0])
-
- dnl ===================================================================
- dnl Check for system dragonbox
-@@ -11371,7 +11371,7 @@ fi
- dnl ===================================================================
- dnl Orcus
- dnl ===================================================================
--libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.18 >= 0.19.1])
-+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.20 >= 0.20.0])
- if test "$with_system_orcus" != "yes"; then
- if test "$SYSTEM_BOOST" = "TRUE"; then
- dnl Link with Boost.System
-diff --git a/download.lst b/download.lst
-index 0b335fb637ce..fff1558c97dc 100644
---- a/download.lst
-+++ b/download.lst
-@@ -486,8 +486,8 @@ MARIADB_CONNECTOR_C_TARBALL :=
mariadb-connector-c-3.3.14-src.tar.gz
- # three static lines
- # so that git cherry-pick
- # will not run into conflicts
--MDDS_SHA256SUM :=
1483d90cefb8aa4563c4d0a85cb7b243aa95217d235d422e9ca6722fd5b97e56
--MDDS_TARBALL := mdds-2.1.1.tar.xz
-+MDDS_SHA256SUM :=
9b077e8d929050e9a432cc131beed2380ac85cfe98b17fc26d01d0ed532129c8
-+MDDS_TARBALL := mdds-3.0.0.tar.xz
- # three static lines
- # so that git cherry-pick
- # will not run into conflicts
-@@ -548,8 +548,8 @@ OPENSSL_TARBALL := openssl-3.0.15.tar.gz
- # three static lines
- # so that git cherry-pick
- # will not run into conflicts
--ORCUS_SHA256SUM :=
69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39
--ORCUS_TARBALL := liborcus-0.19.2.tar.xz
-+ORCUS_SHA256SUM :=
fb6438977a75e7f455b772acf80d861fbc787ab18d52f7997af44a212311a507
-+ORCUS_TARBALL := liborcus-0.20.0.tar.xz
- # three static lines
- # so that git cherry-pick
- # will not run into conflicts
-diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk
b/external/libetonyek/UnpackedTarball_libetonyek.mk
-index e13737cbe6a8..7bd9be889400 100644
---- a/external/libetonyek/UnpackedTarball_libetonyek.mk
-+++ b/external/libetonyek/UnpackedTarball_libetonyek.mk
-@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\
- external/libetonyek/ubsan.patch \
- external/libetonyek/rpath.patch \
- external/libetonyek/enumarith.patch \
-+ external/libetonyek/mdds3.0.patch.1 \
- ))
-
- ifneq ($(OS),MACOSX)
-diff --git a/external/libetonyek/mdds3.0.patch.1
b/external/libetonyek/mdds3.0.patch.1
-new file mode 100644
-index 000000000000..4e615e1bf0ee
---- /dev/null
-+++ b/external/libetonyek/mdds3.0.patch.1
-@@ -0,0 +1,13 @@
-+diff --git a/src/lib/IWORKTable.cpp b/src/lib/IWORKTable.cpp
-+index bde1011..a68f549 100644
-+--- a/src/lib/IWORKTable.cpp
-++++ b/src/lib/IWORKTable.cpp
-+@@ -168,7 +168,7 @@ void parseDateTimeFormat(std::string const &format,
librevenge::RVNGPropertyList
-+
-+ void writeBorder(librevenge::RVNGPropertyList &props, const char *name,
IWORKGridLine_t &line, unsigned index)
-+ {
-+- if (!line.is_tree_valid())
-++ if (!line.valid_tree())
-+ line.build_tree();
-+
-+ IWORKStylePtr_t style;
-diff --git a/external/liborcus/ExternalPackage_liborcus.mk
b/external/liborcus/ExternalPackage_liborcus.mk
-index 4adfcb247bdc..b9be5fcac405 100644
---- a/external/liborcus/ExternalPackage_liborcus.mk
-+++ b/external/liborcus/ExternalPackage_liborcus.mk
-@@ -12,11 +12,11 @@ $(eval $(call
gb_ExternalPackage_ExternalPackage,liborcus,liborcus))
- $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus))
-
- ifeq ($(OS),MACOSX)
--$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.18.0.dylib,src/liborcus/.libs/liborcus-0.18.0.dylib))
--$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.18.0.dylib,src/parser/.libs/liborcus-parser-0.18.0.dylib))
-+$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.20.0.dylib,src/liborcus/.libs/liborcus-0.20.0.dylib))
-+$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.20.0.dylib,src/parser/.libs/liborcus-parser-0.20.0.dylib))
- else ifeq ($(DISABLE_DYNLOADING),)
--$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.18.so.0,src/liborcus/.libs/liborcus-0.18.so.0.0.0))
--$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.18.so.0,src/parser/.libs/liborcus-parser-0.18.so.0.0.0))
-+$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.20.so.0,src/liborcus/.libs/liborcus-0.20.so.0.0.0))
-+$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.20.so.0,src/parser/.libs/liborcus-parser-0.20.so.0.0.0))
- endif
-
- # vim: set noet sw=4 ts=4:
-diff --git a/external/liborcus/ExternalProject_liborcus.mk
b/external/liborcus/ExternalProject_liborcus.mk
-index 7f2e5f24083f..97d1c54b02d8 100644
---- a/external/liborcus/ExternalProject_liborcus.mk
-+++ b/external/liborcus/ExternalProject_liborcus.mk
-@@ -115,8 +115,8 @@ $(call
gb_ExternalProject_get_state_target,liborcus,build) :
- $(MAKE) \
- $(if $(filter MACOSX,$(OS)),\
- && $(PERL)
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
--
$(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.18.0.dylib \
--
$(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.18.0.dylib \
-+
$(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.20.0.dylib \
-+
$(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.20.0.dylib \
- ) \
- )
- $(call gb_Trace_EndRange,liborcus,EXTERNAL)
-diff --git a/external/liborcus/Library_orcus.mk
b/external/liborcus/Library_orcus.mk
-index 7a138e11d925..776f5c2f04ad 100644
---- a/external/liborcus/Library_orcus.mk
-+++ b/external/liborcus/Library_orcus.mk
-@@ -55,6 +55,7 @@ $(eval $(call
gb_Library_add_generated_exception_objects,orcus,\
- UnpackedTarball/liborcus/src/liborcus/config \
- UnpackedTarball/liborcus/src/liborcus/css_document_tree \
- UnpackedTarball/liborcus/src/liborcus/css_selector \
-+ UnpackedTarball/liborcus/src/liborcus/debug_utils \
- UnpackedTarball/liborcus/src/liborcus/detection_result \
- UnpackedTarball/liborcus/src/liborcus/dom_tree \
- UnpackedTarball/liborcus/src/liborcus/format_detection \
-@@ -75,6 +76,7 @@ $(eval $(call
gb_Library_add_generated_exception_objects,orcus,\
- UnpackedTarball/liborcus/src/liborcus/interface \
- UnpackedTarball/liborcus/src/liborcus/json_document_tree \
- UnpackedTarball/liborcus/src/liborcus/json_map_tree \
-+ UnpackedTarball/liborcus/src/liborcus/json_path \
- UnpackedTarball/liborcus/src/liborcus/json_structure_mapper \
- UnpackedTarball/liborcus/src/liborcus/json_structure_tree \
- UnpackedTarball/liborcus/src/liborcus/json_util \
-@@ -86,10 +88,11 @@ $(eval $(call
gb_Library_add_generated_exception_objects,orcus,\
- UnpackedTarball/liborcus/src/liborcus/odf_number_format_context \
- UnpackedTarball/liborcus/src/liborcus/odf_para_context \
- UnpackedTarball/liborcus/src/liborcus/odf_style_context \
-- UnpackedTarball/liborcus/src/liborcus/odf_styles_context \
- UnpackedTarball/liborcus/src/liborcus/odf_styles \
-+ UnpackedTarball/liborcus/src/liborcus/odf_styles_context \
- UnpackedTarball/liborcus/src/liborcus/odf_tokens \
- UnpackedTarball/liborcus/src/liborcus/ods_content_xml_context \
-+ UnpackedTarball/liborcus/src/liborcus/ods_database_ranges_context \
- UnpackedTarball/liborcus/src/liborcus/ods_dde_links_context \
- UnpackedTarball/liborcus/src/liborcus/ods_session_data \
- UnpackedTarball/liborcus/src/liborcus/ooxml_content_types \
-@@ -106,8 +109,8 @@ $(eval $(call
gb_Library_add_generated_exception_objects,orcus,\
- UnpackedTarball/liborcus/src/liborcus/orcus_import_xlsx \
- UnpackedTarball/liborcus/src/liborcus/orcus_json \
- UnpackedTarball/liborcus/src/liborcus/orcus_ods \
-- UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
- UnpackedTarball/liborcus/src/liborcus/orcus_xls_xml \
-+ UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
- UnpackedTarball/liborcus/src/liborcus/orcus_xml \
- UnpackedTarball/liborcus/src/liborcus/orcus_xml_impl \
- UnpackedTarball/liborcus/src/liborcus/orcus_xml_map_def \
-@@ -117,16 +120,19 @@ $(eval $(call
gb_Library_add_generated_exception_objects,orcus,\
- UnpackedTarball/liborcus/src/liborcus/spreadsheet_interface \
- UnpackedTarball/liborcus/src/liborcus/spreadsheet_types \
- UnpackedTarball/liborcus/src/liborcus/string_helper \
-- UnpackedTarball/liborcus/src/liborcus/xlsx_autofilter_context \
-- UnpackedTarball/liborcus/src/liborcus/xlsx_conditional_format_context
\
-- UnpackedTarball/liborcus/src/liborcus/xlsx_drawing_context \
-- UnpackedTarball/liborcus/src/liborcus/xlsx_handler \
-- UnpackedTarball/liborcus/src/liborcus/xlsx_helper \
-+ UnpackedTarball/liborcus/src/liborcus/xls_filter_utils \
-+ UnpackedTarball/liborcus/src/liborcus/xls_types \
-+ UnpackedTarball/liborcus/src/liborcus/xls_xml_auto_filter_context \
- UnpackedTarball/liborcus/src/liborcus/xls_xml_context \
- UnpackedTarball/liborcus/src/liborcus/xls_xml_detection_handler \
- UnpackedTarball/liborcus/src/liborcus/xls_xml_handler \
- UnpackedTarball/liborcus/src/liborcus/xls_xml_namespace_types \
- UnpackedTarball/liborcus/src/liborcus/xls_xml_tokens \
-+ UnpackedTarball/liborcus/src/liborcus/xlsx_autofilter_context \
-+ UnpackedTarball/liborcus/src/liborcus/xlsx_conditional_format_context
\
-+ UnpackedTarball/liborcus/src/liborcus/xlsx_drawing_context \
-+ UnpackedTarball/liborcus/src/liborcus/xlsx_handler \
-+ UnpackedTarball/liborcus/src/liborcus/xlsx_helper \
- UnpackedTarball/liborcus/src/liborcus/xlsx_pivot_context \
- UnpackedTarball/liborcus/src/liborcus/xlsx_revision_context \
- UnpackedTarball/liborcus/src/liborcus/xlsx_session_data \
-diff --git a/external/liborcus/UnpackedTarball_liborcus.mk
b/external/liborcus/UnpackedTarball_liborcus.mk
-index bb399826c358..b866f59c6ac9 100644
---- a/external/liborcus/UnpackedTarball_liborcus.mk
-+++ b/external/liborcus/UnpackedTarball_liborcus.mk
-@@ -18,6 +18,8 @@ $(eval $(call
gb_UnpackedTarball_update_autoconf_configs,liborcus))
- $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
- external/liborcus/rpath.patch.0 \
- external/liborcus/libtool.patch.0 \
-+ external/liborcus/styles-element-rules.patch \
-+ external/liborcus/enum-labels.patch \
- ))
-
- ifeq ($(OS),WNT)
-diff --git a/external/liborcus/enum-labels.patch
b/external/liborcus/enum-labels.patch
-new file mode 100644
-index 000000000000..10f169c62fa1
---- /dev/null
-+++ b/external/liborcus/enum-labels.patch
-@@ -0,0 +1,47 @@
-+From 3b590cabb6f8296dcddb6588e3346a7604f97d51 Mon Sep 17 00:00:00 2001
-+From: Kohei Yoshida <kohei.yoshida AT gmail.com>
-+Date: Fri, 7 Feb 2025 23:03:34 -0500
-+Subject: [PATCH 2/2] Properly map enum types to their labels
-+
-+---
-+ src/liborcus/spreadsheet_types.cpp | 10 ++++------
-+ 1 file changed, 4 insertions(+), 6 deletions(-)
-+
-+diff --git a/src/liborcus/spreadsheet_types.cpp
b/src/liborcus/spreadsheet_types.cpp
-+index f3f51050..161e53ca 100644
-+--- a/src/liborcus/spreadsheet_types.cpp
-++++ b/src/liborcus/spreadsheet_types.cpp
-+@@ -595,10 +595,7 @@ std::ostream& operator<< (std::ostream& os,
underline_style_t uline)
-+ {
-+ static constexpr std::string_view names[] = {
-+ "none",
-+- "single-line",
-+- "single-accounting",
-+- "double-line",
-+- "double-accounting",
-++ "solid",
-+ "dotted",
-+ "dash",
-+ "long-dash",
-+@@ -633,6 +630,7 @@ std::ostream& operator<< (std::ostream& os,
underline_spacing_t ulmode)
-+ static constexpr std::string_view names[] = {
-+ "continuous",
-+ "skip-white-space",
-++ "continuous-over-field",
-+ };
-+
-+ return write_name_for_pos(os, names, std::size(names), ulmode);
-+@@ -642,8 +640,8 @@ std::ostream& operator<< (std::ostream& os,
underline_count_t ultype)
-+ {
-+ static constexpr std::string_view names[] = {
-+ "none",
-+- "single-type",
-+- "double-type",
-++ "single-count",
-++ "double-count",
-+ };
-+
-+ return write_name_for_pos(os, names, std::size(names), ultype);
-+--
-+2.34.1
-+
-diff --git a/external/liborcus/styles-element-rules.patch
b/external/liborcus/styles-element-rules.patch
-new file mode 100644
-index 000000000000..61b42478ad8e
---- /dev/null
-+++ b/external/liborcus/styles-element-rules.patch
-@@ -0,0 +1,42 @@
-+From cfa3ec177d4dd44327cd42d018a0fb88888e19c9 Mon Sep 17 00:00:00 2001
-+From: Kohei Yoshida <kohei.yoshida AT gmail.com>
-+Date: Fri, 7 Feb 2025 22:51:29 -0500
-+Subject: [PATCH 1/2] Define missing element rules for immediate child
elements
-+ of root
-+
-+---
-+ src/liborcus/odf_styles_context.cpp | 18 ++++++++++++++++++
-+ 1 file changed, 18 insertions(+)
-+
-+diff --git a/src/liborcus/odf_styles_context.cpp
b/src/liborcus/odf_styles_context.cpp
-+index a60e47da..0e45783e 100644
-+--- a/src/liborcus/odf_styles_context.cpp
-++++ b/src/liborcus/odf_styles_context.cpp
-+@@ -67,6 +67,24 @@ styles_context::styles_context(
-+ // parent element -> child element
-+ { XMLNS_UNKNOWN_ID, XML_UNKNOWN_TOKEN, NS_odf_office,
XML_automatic_styles }, // root element
-+ { XMLNS_UNKNOWN_ID, XML_UNKNOWN_TOKEN, NS_odf_office, XML_styles
}, // root element
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_boolean_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_currency_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_date_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_number_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_percentage_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_text_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_number,
XML_time_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_style,
XML_default_style },
-++ { NS_odf_office, XML_automatic_styles, NS_odf_style, XML_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_boolean_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_currency_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_date_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_number_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_percentage_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_text_style },
-++ { NS_odf_office, XML_styles, NS_odf_number, XML_time_style },
-++ { NS_odf_office, XML_styles, NS_odf_style, XML_default_style },
-++ { NS_odf_office, XML_styles, NS_odf_style, XML_style },
-+ };
-+
-+ init_element_validator(rules, std::size(rules));
-+--
-+2.34.1
-+
-diff --git a/external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1
b/external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1
-deleted file mode 100644
-index 9c47e1d22767..000000000000
---- a/external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1
-+++ /dev/null
-@@ -1,62 +0,0 @@
--From f7d8d7eaf2b4160354887ac740a1efed9b6fc23b Mon Sep 17 00:00:00 2001
--From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara AT collabora.com>
--Date: Sun, 14 Jan 2024 21:03:12 +0000
--Subject: [PATCH] cid#1546160 COPY_INSTEAD_OF_MOVE
--
--and
--
--cid#1545547 COPY_INSTEAD_OF_MOVE
--cid#1545642 COPY_INSTEAD_OF_MOVE
--cid#1557206 COPY_INSTEAD_OF_MOVE
-----
-- include/mdds/flat_segment_tree.hpp | 2 +-
-- include/mdds/flat_segment_tree_def.inl | 6 +++---
-- 2 files changed, 4 insertions(+), 4 deletions(-)
--
--diff --git a/include/mdds/flat_segment_tree.hpp
b/include/mdds/flat_segment_tree.hpp
--index bf8e0956..317eb279 100644
----- a/include/mdds/flat_segment_tree.hpp
--+++ b/include/mdds/flat_segment_tree.hpp
--@@ -767,7 +767,7 @@ private:
-- {
-- node_ptr next_node = cur_node->next;
-- disconnect_all_nodes(cur_node.get());
--- cur_node = next_node;
--+ cur_node = std::move(next_node);
-- }
-- last_node->next = end_node;
-- end_node->prev = last_node;
--diff --git a/include/mdds/flat_segment_tree_def.inl
b/include/mdds/flat_segment_tree_def.inl
--index 76350656..d07cae82 100644
----- a/include/mdds/flat_segment_tree_def.inl
--+++ b/include/mdds/flat_segment_tree_def.inl
--@@ -114,7 +114,7 @@
-- // Move on to the next destination node, and have the next node
point
-- // back to the previous node.
-- node_ptr old_node = dest_node;
--- dest_node->next->prev = old_node;
--+ dest_node->next->prev = std::move(old_node);
-- dest_node = dest_node->next;
--
-- if (src_node == r.m_right_leaf.get())
--@@ -380,7 +380,7 @@
--
-- p = get_insertion_pos_leaf(start_key, p);
-- node_ptr start_pos(const_cast<node*>(p));
--- return insert_to_pos(start_pos, start_key, end_key, val);
--+ return insert_to_pos(std::move(start_pos), start_key, end_key, val);
-- }
--
-- template<typename Key, typename Value>
--@@ -456,7 +456,7 @@
-- last_seg_value = node_pos->value_leaf.value;
-- node_ptr next = node_pos->next;
-- disconnect_all_nodes(node_pos.get());
--- node_pos = next;
--+ node_pos = std::move(next);
-- }
--
-- start_pos->value_leaf.value = last_seg_value;
----
--2.42.0
--
-diff --git a/external/mdds/UnpackedTarball_mdds.mk
b/external/mdds/UnpackedTarball_mdds.mk
-index ce1ba745be43..fe10a60bde59 100644
---- a/external/mdds/UnpackedTarball_mdds.mk
-+++ b/external/mdds/UnpackedTarball_mdds.mk
-@@ -14,9 +14,7 @@ $(eval $(call
gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
- $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
-
- $(eval $(call gb_UnpackedTarball_add_patches,mdds,\
-- external/mdds/use-after-free.patch \
- external/mdds/gcc-12-silence-use-after-free.patch.1 \
-- external/mdds/0001-cid-1546160-COPY_INSTEAD_OF_MOVE.patch.1 \
- ))
-
- # vim: set noet sw=4 ts=4:
-diff --git a/external/mdds/gcc-12-silence-use-after-free.patch.1
b/external/mdds/gcc-12-silence-use-after-free.patch.1
-index 94f7ba979e61..4fd742182d32 100644
---- a/external/mdds/gcc-12-silence-use-after-free.patch.1
-+++ b/external/mdds/gcc-12-silence-use-after-free.patch.1
-@@ -22,9 +22,9 @@ cc1plus: all warnings being treated as errors
- diff -ur mdds.org/include/mdds/node.hpp mdds/include/mdds/node.hpp
- --- mdds.org/include/mdds/node.hpp 2023-07-24 18:27:14.427139325 +0000
- +++ mdds/include/mdds/node.hpp 2023-07-24 18:26:54.554461294 +0000
--@@ -244,9 +244,15 @@
-- template<typename T>
-- inline void intrusive_ptr_release(node<T>* p)
-+@@ -210,9 +210,15 @@
-+ template<typename KeyT, typename ValueT>
-+ inline void intrusive_ptr_release(node<KeyT, ValueT>* p)
- {
- - --p->refcount;
- - if (!p->refcount)
-@@ -39,4 +39,4 @@ diff -ur mdds.org/include/mdds/node.hpp
mdds/include/mdds/node.hpp
- +#endif
- }
-
-- template<typename T>
-+ template<typename NodePtrT>
-diff --git a/external/mdds/use-after-free.patch
b/external/mdds/use-after-free.patch
-deleted file mode 100644
-index 981c945821a7..000000000000
---- a/external/mdds/use-after-free.patch
-+++ /dev/null
-@@ -1,12 +0,0 @@
----- include/mdds/flat_segment_tree_def.inl
--+++ include/mdds/flat_segment_tree_def.inl
--@@ -84,8 +84,8 @@
-- // Move on to the next destination node, and have the next node
point
-- // back to the previous node.
-- node_ptr old_node = dest_node;
--+ dest_node->next->prev = old_node;
-- dest_node = dest_node->next;
--- dest_node->prev = old_node;
--
-- if (src_node == r.m_right_leaf.get())
-- {
-diff --git a/sc/inc/fstalgorithm.hxx b/sc/inc/fstalgorithm.hxx
-index 4d46cfaaa28c..40b28d8d8a8f 100644
---- a/sc/inc/fstalgorithm.hxx
-+++ b/sc/inc/fstalgorithm.hxx
-@@ -103,7 +103,7 @@ std::vector<Span> toSpanArray( const
mdds::flat_segment_tree<Key,bool>& rTree, K
- typedef mdds::flat_segment_tree<Key,bool> FstType;
-
- std::vector<Span> aSpans;
-- if (!rTree.is_tree_valid())
-+ if (!rTree.valid_tree())
- return aSpans;
-
- bool bThisVal = false;
-diff --git a/sc/source/core/data/segmenttree.cxx
b/sc/source/core/data/segmenttree.cxx
-index a39c956a478b..470cc90ff2f4 100644
---- a/sc/source/core/data/segmenttree.cxx
-+++ b/sc/source/core/data/segmenttree.cxx
-@@ -134,7 +134,7 @@ typename ScFlatSegmentsImpl<ValueType_,
ExtValueType_>::ValueType ScFlatSegments
- return nValue;
- }
-
-- if (!maSegments.is_tree_valid())
-+ if (!maSegments.valid_tree())
- {
- assert(!ScGlobal::bThreadedGroupCalcInProgress);
- maSegments.build_tree();
-@@ -150,7 +150,7 @@ sal_uInt64 ScFlatSegmentsImpl<ValueType_,
ExtValueType_>::getSumValue(SCCOLROW n
- if (mbTreeSearchEnabled)
- {
-
-- if (!maSegments.is_tree_valid())
-+ if (!maSegments.valid_tree())
- {
- assert(!ScGlobal::bThreadedGroupCalcInProgress);
- maSegments.build_tree();
-@@ -242,7 +242,7 @@ bool ScFlatSegmentsImpl<ValueType_,
ExtValueType_>::getRangeData(SCCOLROW nPos,
- if (!mbTreeSearchEnabled)
- return getRangeDataLeaf(nPos, rData);
-
-- if (!maSegments.is_tree_valid())
-+ if (!maSegments.valid_tree())
- {
- assert(!ScGlobal::bThreadedGroupCalcInProgress);
- maSegments.build_tree();
-@@ -333,7 +333,7 @@ template<typename ValueType_, typename ExtValueType_>
- void ScFlatSegmentsImpl<ValueType_, ExtValueType_>::makeReady()
- {
- assert(!ScGlobal::bThreadedGroupCalcInProgress);
-- if (!maSegments.is_tree_valid())
-+ if (!maSegments.valid_tree())
- maSegments.build_tree();
- }
-
-diff --git a/sc/source/filter/excel/colrowst.cxx
b/sc/source/filter/excel/colrowst.cxx
-index e194b7309d9b..663fe5d864ea 100644
---- a/sc/source/filter/excel/colrowst.cxx
-+++ b/sc/source/filter/excel/colrowst.cxx
-@@ -215,7 +215,7 @@ void XclImpColRowSettings::Convert( SCTAB nScTab )
- rDoc.SetRowFlags( 0, rDoc.MaxRow(), nScTab, CRFlags::ManualSize );
-
- maRowHeights.build_tree();
-- if (!maRowHeights.is_tree_valid())
-+ if (!maRowHeights.valid_tree())
- return;
-
- SCROW nPrevRow = -1;
-diff --git a/sc/source/filter/inc/orcusinterface.hxx
b/sc/source/filter/inc/orcusinterface.hxx
-index 2fd1d5ed40f3..d9c7e2eacacc 100644
---- a/sc/source/filter/inc/orcusinterface.hxx
-+++ b/sc/source/filter/inc/orcusinterface.hxx
-@@ -27,6 +27,8 @@
-
- #include <orcus/spreadsheet/import_interface.hpp>
- #include <orcus/spreadsheet/import_interface_styles.hpp>
-+#include <orcus/spreadsheet/import_interface_underline.hpp>
-+#include <orcus/spreadsheet/import_interface_strikethrough.hpp>
-
- #include <memory>
- #include <map>
-@@ -37,6 +39,8 @@
- class ScOrcusSheet;
- class ScOrcusStyles;
- class ScOrcusFactory;
-+class ScOrcusImportFontStyle;
-+class ScOrcusSharedStrings;
- class SfxItemSet;
- namespace com::sun::star::task { class XStatusIndicator; }
-
-@@ -103,6 +107,69 @@ public:
- virtual void commit() override;
- };
-
-+struct ScOrcusStrikethrough
-+{
-+ std::optional<orcus::spreadsheet::strikethrough_style_t> meStyle;
-+ std::optional<orcus::spreadsheet::strikethrough_type_t> meType;
-+ std::optional<orcus::spreadsheet::strikethrough_width_t> meWidth;
-+ std::optional<orcus::spreadsheet::strikethrough_text_t> meText;
-+
-+ void reset();
-+ std::optional<FontStrikeout> toFontStrikeout() const;
-+};
-+
-+struct ScOrcusUnderline
-+{
-+ std::optional<orcus::spreadsheet::underline_style_t> meStyle;
-+ std::optional<orcus::spreadsheet::underline_thickness_t> meThickness;
-+ std::optional<orcus::spreadsheet::underline_spacing_t> meSpacing;
-+ std::optional<orcus::spreadsheet::underline_count_t> meCount;
-+
-+ void reset();
-+ std::optional<FontLineStyle> toFontLineStyle() const;
-+};
-+
-+class ScOrcusSegmentStrikethrough : public
orcus::spreadsheet::iface::import_strikethrough
-+{
-+ friend class ScOrcusSharedStrings;
-+
-+ SfxItemSet* mpDestFormat = nullptr;
-+ ScOrcusStrikethrough maAttrs;
-+
-+ void reset(SfxItemSet* pDestFormat);
-+
-+public:
-+ void set_style(orcus::spreadsheet::strikethrough_style_t s) override;
-+ void set_type(orcus::spreadsheet::strikethrough_type_t s) override;
-+ void set_width(orcus::spreadsheet::strikethrough_width_t s) override;
-+ void set_text(orcus::spreadsheet::strikethrough_text_t s) override;
-+ void commit() override;
-+};
-+
-+class ScOrcusSegmentUnderline : public
orcus::spreadsheet::iface::import_underline
-+{
-+ friend class ScOrcusSharedStrings;
-+
-+ SfxItemSet* mpDestFormat = nullptr;
-+
-+ ScOrcusUnderline maAttrs;
-+ std::optional<Color> maColor;
-+
-+ void reset(SfxItemSet* pDestFormat);
-+
-+public:
-+ void set_style(orcus::spreadsheet::underline_style_t e) override;
-+ void set_thickness(orcus::spreadsheet::underline_thickness_t e)
override;
-+ void set_spacing(orcus::spreadsheet::underline_spacing_t e) override;
-+ void set_count(orcus::spreadsheet::underline_count_t e) override;
-+ void set_color(
-+ orcus::spreadsheet::color_elem_t alpha,
-+ orcus::spreadsheet::color_elem_t red,
-+ orcus::spreadsheet::color_elem_t green,
-+ orcus::spreadsheet::color_elem_t blue) override;
-+ void commit() override;
-+};
-+
- class ScOrcusSharedStrings : public
orcus::spreadsheet::iface::import_shared_strings
- {
- ScOrcusFactory& mrFactory;
-@@ -111,6 +178,9 @@ class ScOrcusSharedStrings : public
orcus::spreadsheet::iface::import_shared_str
- SfxItemSet maCurFormat;
- std::vector<std::pair<ESelection, SfxItemSet>> maFormatSegments;
-
-+ ScOrcusSegmentUnderline maImportUnderline;
-+ ScOrcusSegmentStrikethrough maImportStrikethrough;
-+
- OUString toOUString(std::string_view s);
-
- public:
-@@ -121,6 +191,8 @@ public:
-
- virtual void set_segment_bold(bool b) override;
- virtual void set_segment_italic(bool b) override;
-+ virtual void set_segment_superscript(bool b) override;
-+ virtual void set_segment_subscript(bool b) override;
- virtual void set_segment_font(size_t font_index) override;
- virtual void set_segment_font_name(std::string_view s) override;
- virtual void set_segment_font_size(double point) override;
-@@ -128,6 +200,10 @@ public:
- orcus::spreadsheet::color_elem_t red,
- orcus::spreadsheet::color_elem_t green,
- orcus::spreadsheet::color_elem_t blue) override;
-+
-+ virtual orcus::spreadsheet::iface::import_underline* start_underline()
override;
-+ virtual orcus::spreadsheet::iface::import_strikethrough*
start_strikethrough() override;
-+
- virtual void append_segment(std::string_view s) override;
-
- virtual size_t commit_segments() override;
-@@ -195,28 +271,6 @@ private:
- ScFormatEntry::Type meEntryType;
- };
-
--class ScOrcusAutoFilter : public
orcus::spreadsheet::iface::import_auto_filter
--{
--public:
-- ScOrcusAutoFilter( const ScOrcusGlobalSettings& rGS );
--
-- virtual ~ScOrcusAutoFilter() override;
--
-- virtual void set_range(const orcus::spreadsheet::range_t& range)
override;
--
-- virtual void set_column(orcus::spreadsheet::col_t col) override;
--
-- virtual void append_column_match_value(std::string_view value) override;
--
-- virtual void commit_column() override;
--
-- virtual void commit() override;
--
--private:
-- const ScOrcusGlobalSettings& mrGlobalSettings;
-- ScRange maRange;
--};
--
- class ScOrcusSheetProperties : public
orcus::spreadsheet::iface::import_sheet_properties
- {
- ScDocumentImport& mrDoc;
-@@ -233,9 +287,12 @@ public:
- orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span,
- bool hidden) override;
-
-- virtual void set_row_height(orcus::spreadsheet::row_t row, double
height, orcus::length_unit_t unit) override;
-+ virtual void set_row_height(
-+ orcus::spreadsheet::row_t row, orcus::spreadsheet::row_t row_span,
-+ double height, orcus::length_unit_t unit) override;
-
-- virtual void set_row_hidden(orcus::spreadsheet::row_t row, bool hidden)
override;
-+ virtual void set_row_hidden(
-+ orcus::spreadsheet::row_t row, orcus::spreadsheet::row_t row_span,
bool hidden) override;
-
- virtual void set_merge_cell_range(const orcus::spreadsheet::range_t&
range) override;
- };
-@@ -314,7 +371,6 @@ class ScOrcusSheet : public
orcus::spreadsheet::iface::import_sheet
- ScOrcusStyles& mrStyles;
- sc::SharedFormulaGroups maFormulaGroups;
-
-- ScOrcusAutoFilter maAutoFilter;
- ScOrcusSheetProperties maProperties;
- ScOrcusConditionalFormat maConditionalFormat;
- ScOrcusNamedExpression maNamedExpressions;
-@@ -330,8 +386,6 @@ class ScOrcusSheet : public
orcus::spreadsheet::iface::import_sheet
- public:
- ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory&
rFactory);
-
-- virtual orcus::spreadsheet::iface::import_auto_filter*
get_auto_filter() override;
-- virtual orcus::spreadsheet::iface::import_table* get_table() override;
- virtual orcus::spreadsheet::iface::import_sheet_properties*
get_sheet_properties() override;
- virtual orcus::spreadsheet::iface::import_conditional_format*
get_conditional_format() override;
- virtual orcus::spreadsheet::iface::import_named_expression*
get_named_expression() override;
-@@ -458,12 +512,55 @@ struct ScOrcusCellStyle
- ScOrcusCellStyle();
- };
-
-+class ScOrcusImportFontUnderlineStyle : public
orcus::spreadsheet::iface::import_underline
-+{
-+ friend class ScOrcusImportFontStyle;
-+
-+ ScOrcusFont* mpDestFont = nullptr;
-+ ScOrcusUnderline maAttrs;
-+ std::optional<Color> maColor;
-+
-+ void reset(ScOrcusFont* pDest);
-+
-+public:
-+ void set_style(orcus::spreadsheet::underline_style_t e) override;
-+ void set_thickness(orcus::spreadsheet::underline_thickness_t e)
override;
-+ void set_spacing(orcus::spreadsheet::underline_spacing_t e) override;
-+ void set_count(orcus::spreadsheet::underline_count_t e) override;
-+ void set_color(
-+ orcus::spreadsheet::color_elem_t alpha,
-+ orcus::spreadsheet::color_elem_t red,
-+ orcus::spreadsheet::color_elem_t green,
-+ orcus::spreadsheet::color_elem_t blue) override;
-+ void commit() override;
-+};
-+
-+class ScOrcusImportFontStrikethroughStyle : public
orcus::spreadsheet::iface::import_strikethrough
-+{
-+ friend class ScOrcusImportFontStyle;
-+
-+ ScOrcusFont* mpDestFont = nullptr;
-+ ScOrcusStrikethrough maAttrs;
-+
-+ void reset(ScOrcusFont* pDest);
-+
-+public:
-+ void set_style(orcus::spreadsheet::strikethrough_style_t s) override;
-+ void set_type(orcus::spreadsheet::strikethrough_type_t s) override;
-+ void set_width(orcus::spreadsheet::strikethrough_width_t s) override;
-+ void set_text(orcus::spreadsheet::strikethrough_text_t s) override;
-+ void commit() override;
-+};
-+
- class ScOrcusImportFontStyle : public
orcus::spreadsheet::iface::import_font_style
- {
- ScOrcusFont maCurrentFont;
- ScOrcusFactory& mrFactory;
- std::vector<ScOrcusFont>& mrFonts;
-
-+ ScOrcusImportFontUnderlineStyle maUnderlineImport;
-+ ScOrcusImportFontStrikethroughStyle maStrikeoutImport;
-+
- public:
- ScOrcusImportFontStyle( ScOrcusFactory& rFactory,
std::vector<ScOrcusFont>& rFonts );
-
-@@ -481,24 +578,16 @@ public:
- void set_size(double point) override;
- void set_size_asian(double point) override;
- void set_size_complex(double point) override;
-- void set_underline(orcus::spreadsheet::underline_t e) override;
-- void set_underline_width(orcus::spreadsheet::underline_width_t e)
override;
-- void set_underline_mode(orcus::spreadsheet::underline_mode_t e)
override;
-- void set_underline_type(orcus::spreadsheet::underline_type_t e)
override;
-- void set_underline_color(
-- orcus::spreadsheet::color_elem_t alpha,
-- orcus::spreadsheet::color_elem_t red,
-- orcus::spreadsheet::color_elem_t green,
-- orcus::spreadsheet::color_elem_t blue) override;
-+
- void set_color(
- orcus::spreadsheet::color_elem_t alpha,
- orcus::spreadsheet::color_elem_t red,
- orcus::spreadsheet::color_elem_t green,
- orcus::spreadsheet::color_elem_t blue) override;
-- void set_strikethrough_style(orcus::spreadsheet::strikethrough_style_t
s) override;
-- void set_strikethrough_type(orcus::spreadsheet::strikethrough_type_t s)
override;
-- void set_strikethrough_width(orcus::spreadsheet::strikethrough_width_t
s) override;
-- void set_strikethrough_text(orcus::spreadsheet::strikethrough_text_t s)
override;
-+
-+ orcus::spreadsheet::iface::import_underline* start_underline() override;
-+ orcus::spreadsheet::iface::import_strikethrough* start_strikethrough()
override;
-+
- std::size_t commit() override;
- };
-
-diff --git a/sc/source/filter/orcus/interface.cxx
b/sc/source/filter/orcus/interface.cxx
-index e4b5667643b5..e64a6134c674 100644
---- a/sc/source/filter/orcus/interface.cxx
-+++ b/sc/source/filter/orcus/interface.cxx
-@@ -38,6 +38,7 @@
- #include <editeng/crossedoutitem.hxx>
- #include <editeng/justifyitem.hxx>
- #include <editeng/eeitem.hxx>
-+#include <editeng/escapementitem.hxx>
-
- #include <svl/sharedstringpool.hxx>
- #include <svl/numformat.hxx>
-@@ -420,6 +421,7 @@ os::iface::import_reference_resolver*
ScOrcusFactory::get_reference_resolver(os:
- return &maRefResolver;
- case os::formula_ref_context_t::named_expression_base:
- case os::formula_ref_context_t::named_range:
-+ case os::formula_ref_context_t::table_range:
- return nullptr;
- }
-
-@@ -787,16 +789,20 @@ void
ScOrcusSheetProperties::set_column_hidden(os::col_t col, os::col_t col_span
- mrDoc.getDoc().SetColHidden(col, col + col_span - 1, mnTab, hidden);
- }
-
--void ScOrcusSheetProperties::set_row_height(os::row_t row, double height,
orcus::length_unit_t unit)
-+void ScOrcusSheetProperties::set_row_height(
-+ os::row_t row, os::row_t row_span, double height, orcus::length_unit_t
unit)
- {
- double nNewHeight = translateToInternal(height, unit);
-- mrDoc.getDoc().SetRowHeightOnly(row, row,mnTab, nNewHeight);
-+ SCROW nStartRow = row;
-+ SCROW nEndRow = row + row_span - 1;
-+ mrDoc.getDoc().SetRowHeightOnly(nStartRow, nEndRow, mnTab, nNewHeight);
- }
-
--void ScOrcusSheetProperties::set_row_hidden(os::row_t row, bool hidden)
-+void ScOrcusSheetProperties::set_row_hidden(os::row_t row, os::row_t
row_span, bool hidden)
- {
-- if (hidden)
-- mrDoc.getDoc().SetRowHidden(row, row, mnTab, hidden);
-+ SCROW nStartRow = row;
-+ SCROW nEndRow = row + row_span - 1;
-+ mrDoc.getDoc().SetRowHidden(nStartRow, nEndRow, mnTab, hidden);
- }
-
- void ScOrcusSheetProperties::set_merge_cell_range(const
orcus::spreadsheet::range_t& range)
-@@ -962,7 +968,6 @@ ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB
nTab, ScOrcusFactory& r
- mnTab(nTab),
- mrFactory(rFactory),
- mrStyles(static_cast<ScOrcusStyles&>(*mrFactory.get_styles())),
-- maAutoFilter(rFactory.getGlobalSettings()),
- maProperties(mnTab, mrDoc),
- maConditionalFormat(mnTab, rDoc.getDoc()),
- maNamedExpressions(rDoc, rFactory.getGlobalSettings(), nTab),
-@@ -1169,16 +1174,6 @@ ScDocumentImport& ScOrcusSheet::getDoc()
- return mrDoc;
- }
-
--os::iface::import_auto_filter* ScOrcusSheet::get_auto_filter()
--{
-- return &maAutoFilter;
--}
--
--os::iface::import_table* ScOrcusSheet::get_table()
--{
-- return nullptr;
--}
--
- os::iface::import_sheet_properties* ScOrcusSheet::get_sheet_properties()
- {
- return &maProperties;
-@@ -1321,6 +1316,277 @@ ScOrcusFactory& ScOrcusSheet::getFactory()
- return mrFactory;
- }
-
-+void ScOrcusStrikethrough::reset()
-+{
-+ meStyle.reset();
-+ meType.reset();
-+ meWidth.reset();
-+ meText.reset();
-+}
-+
-+std::optional<FontStrikeout> ScOrcusStrikethrough::toFontStrikeout() const
-+{
-+ std::optional<FontStrikeout> eStrikeout;
-+
-+ if (meType)
-+ {
-+ switch (*meType)
-+ {
-+ case os::strikethrough_type_t::unknown:
-+ eStrikeout = STRIKEOUT_DONTKNOW;
-+ break;
-+ case os::strikethrough_type_t::none:
-+ eStrikeout = STRIKEOUT_NONE;
-+ break;
-+ case os::strikethrough_type_t::single_type:
-+ eStrikeout = STRIKEOUT_SINGLE;
-+ break;
-+ case os::strikethrough_type_t::double_type:
-+ eStrikeout = STRIKEOUT_DOUBLE;
-+ break;
-+ }
-+ }
-+
-+ if (meWidth)
-+ {
-+ switch (*meWidth)
-+ {
-+ case os::strikethrough_width_t::bold:
-+ eStrikeout = STRIKEOUT_BOLD;
-+ break;
-+ default:;
-+ }
-+ }
-+
-+ if (meText)
-+ {
-+ switch (*meText)
-+ {
-+ case os::strikethrough_text_t::slash:
-+ eStrikeout = STRIKEOUT_SLASH;
-+ break;
-+ case os::strikethrough_text_t::cross:
-+ eStrikeout = STRIKEOUT_X;
-+ break;
-+ case os::strikethrough_text_t::unknown:
-+ break;
-+ }
-+ }
-+
-+ return eStrikeout;
-+}
-+
-+
-+void ScOrcusUnderline::reset()
-+{
-+ meStyle.reset();
-+ meThickness.reset();
-+ meSpacing.reset();
-+ meCount.reset();
-+}
-+
-+std::optional<FontLineStyle> ScOrcusUnderline::toFontLineStyle() const
-+{
-+ std::optional<FontLineStyle> eUnderline;
-+
-+ if (meStyle)
-+ {
-+ switch (*meStyle)
-+ {
-+ case os::underline_style_t::none:
-+ eUnderline = LINESTYLE_NONE;
-+ break;
-+ case os::underline_style_t::solid:
-+ {
-+ if (meCount)
-+ {
-+ switch (*meCount)
-+ {
-+ case os::underline_count_t::single_count:
-+ eUnderline = LINESTYLE_SINGLE;
-+ break;
-+ case os::underline_count_t::double_count:
-+ eUnderline = LINESTYLE_DOUBLE;
-+ break;
-+ case os::underline_count_t::none:
-+ break;
-+ }
-+ }
-+ else
-+ eUnderline = LINESTYLE_SINGLE;
-+ break;
-+ }
-+ case os::underline_style_t::dotted:
-+ eUnderline = LINESTYLE_DOTTED;
-+ break;
-+ case os::underline_style_t::dash:
-+ eUnderline = LINESTYLE_DASH;
-+ break;
-+ case os::underline_style_t::long_dash:
-+ eUnderline = LINESTYLE_LONGDASH;
-+ break;
-+ case os::underline_style_t::dot_dash:
-+ eUnderline = LINESTYLE_DASHDOT;
-+ break;
-+ case os::underline_style_t::dot_dot_dash:
-+ eUnderline = LINESTYLE_DASHDOTDOT;
-+ break;
-+ case os::underline_style_t::wave:
-+ {
-+ if (meCount)
-+ {
-+ switch (*meCount)
-+ {
-+ case os::underline_count_t::single_count:
-+ eUnderline = LINESTYLE_WAVE;
-+ break;
-+ case os::underline_count_t::double_count:
-+ eUnderline = LINESTYLE_DOUBLEWAVE;
-+ break;
-+ case os::underline_count_t::none:
-+ break;
-+ }
-+ }
-+ else
-+ eUnderline = LINESTYLE_WAVE;
-+ break;
-+ }
-+ }
-+ }
-+
-+ bool bApplyBold = false;
-+
-+ if (meThickness)
-+ {
-+ switch (*meThickness)
-+ {
-+ case os::underline_thickness_t::bold:
-+ case os::underline_thickness_t::thick:
-+ bApplyBold = true;
-+ break;
-+ default:;
-+ }
-+ }
-+
-+ if (bApplyBold)
-+ {
-+ if (eUnderline)
-+ {
-+ switch (*eUnderline)
-+ {
-+ case LINESTYLE_NONE:
-+ case LINESTYLE_SINGLE:
-+ eUnderline = LINESTYLE_BOLD;
-+ break;
-+ case LINESTYLE_DOTTED:
-+ eUnderline = LINESTYLE_BOLDDOTTED;
-+ break;
-+ case LINESTYLE_DASH:
-+ eUnderline = LINESTYLE_BOLDDASH;
-+ break;
-+ case LINESTYLE_LONGDASH:
-+ eUnderline = LINESTYLE_BOLDLONGDASH;
-+ break;
-+ case LINESTYLE_DASHDOT:
-+ eUnderline = LINESTYLE_BOLDDASHDOT;
-+ break;
-+ case LINESTYLE_DASHDOTDOT:
-+ eUnderline = LINESTYLE_BOLDDASHDOTDOT;
-+ break;
-+ case LINESTYLE_WAVE:
-+ eUnderline = LINESTYLE_BOLDWAVE;
-+ break;
-+ default:
-+ ;
-+ }
-+ }
-+ }
-+
-+ return eUnderline;
-+}
-+
-+void ScOrcusSegmentStrikethrough::reset(SfxItemSet* pDestFormat)
-+{
-+ mpDestFormat = pDestFormat;
-+ maAttrs.reset();
-+}
-+
-+void ScOrcusSegmentStrikethrough::set_style(os::strikethrough_style_t s)
-+{
-+ maAttrs.meStyle = s;
-+}
-+
-+void ScOrcusSegmentStrikethrough::set_type(os::strikethrough_type_t s)
-+{
-+ maAttrs.meType = s;
-+}
-+
-+void ScOrcusSegmentStrikethrough::set_width(os::strikethrough_width_t s)
-+{
-+ maAttrs.meWidth = s;
-+}
-+
-+void ScOrcusSegmentStrikethrough::set_text(os::strikethrough_text_t s)
-+{
-+ maAttrs.meText = s;
-+}
-+
-+void ScOrcusSegmentStrikethrough::commit()
-+{
-+ auto eStrikeout = maAttrs.toFontStrikeout();
-+ if (!eStrikeout)
-+ return;
-+
-+ mpDestFormat->Put(SvxCrossedOutItem(*eStrikeout, EE_CHAR_STRIKEOUT));
-+}
-+
-+void ScOrcusSegmentUnderline::reset(SfxItemSet* pDestFormat)
-+{
-+ mpDestFormat = pDestFormat;
-+ maAttrs.reset();
-+ maColor.reset();
-+}
-+
-+void ScOrcusSegmentUnderline::set_style(os::underline_style_t e)
-+{
-+ maAttrs.meStyle = e;
-+}
-+
-+void ScOrcusSegmentUnderline::set_thickness(os::underline_thickness_t e)
-+{
-+ maAttrs.meThickness = e;
-+}
-+
-+void ScOrcusSegmentUnderline::set_spacing(os::underline_spacing_t e)
-+{
-+ maAttrs.meSpacing = e;
-+}
-+
-+void ScOrcusSegmentUnderline::set_count(os::underline_count_t e)
-+{
-+ maAttrs.meCount = e;
-+}
-+
-+void ScOrcusSegmentUnderline::set_color(
-+ os::color_elem_t alpha, os::color_elem_t red, os::color_elem_t green,
os::color_elem_t blue)
-+{
-+ maColor = Color(ColorAlpha, alpha, red, green, blue);
-+}
-+
-+void ScOrcusSegmentUnderline::commit()
-+{
-+ auto eUnderline = maAttrs.toFontLineStyle();
-+ if (!eUnderline)
-+ return;
-+
-+ SvxUnderlineItem aItem(*eUnderline, EE_CHAR_UNDERLINE);
-+
-+ if (maColor)
-+ aItem.SetColor(*maColor);
-+
-+ mpDestFormat->Put(aItem);
-+}
-+
- OUString ScOrcusSharedStrings::toOUString(std::string_view s)
- {
- return {s.data(), sal_Int32(s.size()),
mrFactory.getGlobalSettings().getTextEncoding()};
-@@ -1360,6 +1626,18 @@ void ScOrcusSharedStrings::set_segment_italic(bool b)
- maCurFormat.Put(SvxPostureItem(eItalic, EE_CHAR_ITALIC));
- }
-
-+void ScOrcusSharedStrings::set_segment_superscript(bool b)
-+{
-+ if (b)
-+ maCurFormat.Put(SvxEscapementItem(SvxEscapement::Superscript,
EE_CHAR_ESCAPEMENT));
-+}
-+
-+void ScOrcusSharedStrings::set_segment_subscript(bool b)
-+{
-+ if (b)
-+ maCurFormat.Put(SvxEscapementItem(SvxEscapement::Subscript,
EE_CHAR_ESCAPEMENT));
-+}
-+
- void ScOrcusSharedStrings::set_segment_font_name(std::string_view s)
- {
- OUString aName = toOUString(s);
-@@ -1386,6 +1664,18 @@ void ScOrcusSharedStrings::set_segment_font_color(
- maCurFormat.Put(SvxColorItem(aColor, EE_CHAR_COLOR));
- }
-
-+os::iface::import_underline* ScOrcusSharedStrings::start_underline()
-+{
-+ maImportUnderline.reset(&maCurFormat);
-+ return &maImportUnderline;
-+}
-+
-+os::iface::import_strikethrough* ScOrcusSharedStrings::start_strikethrough()
-+{
-+ maImportStrikethrough.reset(&maCurFormat);
-+ return &maImportStrikethrough;
-+}
-+
- void ScOrcusSharedStrings::append_segment(std::string_view s)
- {
- ESelection aSel{ mrEditEngine.GetEnd() }; // end of current text
-@@ -1616,6 +1906,77 @@ ScOrcusCellStyle::ScOrcusCellStyle() :
- {
- }
-
-+void ScOrcusImportFontUnderlineStyle::reset(ScOrcusFont* pDest)
-+{
-+ mpDestFont = pDest;
-+
-+ maAttrs.reset();
-+ maColor.reset();
-+}
-+
-+void ScOrcusImportFontUnderlineStyle::set_style(os::underline_style_t e)
-+{
-+ maAttrs.meStyle = e;
-+}
-+
-+void
ScOrcusImportFontUnderlineStyle::set_thickness(os::underline_thickness_t e)
-+{
-+ maAttrs.meThickness = e;
-+}
-+
-+void ScOrcusImportFontUnderlineStyle::set_spacing(os::underline_spacing_t e)
-+{
-+ maAttrs.meSpacing = e;
-+}
-+
-+void ScOrcusImportFontUnderlineStyle::set_count(os::underline_count_t e)
-+{
-+ maAttrs.meCount = e;
-+}
-+
-+void ScOrcusImportFontUnderlineStyle::set_color(
-+ os::color_elem_t alpha, os::color_elem_t red, os::color_elem_t green,
os::color_elem_t blue)
-+{
-+ maColor = Color(ColorAlpha, alpha, red, green, blue);
-+}
-+
-+void ScOrcusImportFontUnderlineStyle::commit()
-+{
-+ mpDestFont->meUnderline = maAttrs.toFontLineStyle();
-+ mpDestFont->maUnderlineColor = maColor;
-+}
-+
-+void ScOrcusImportFontStrikethroughStyle::reset(ScOrcusFont* pDest)
-+{
-+ mpDestFont = pDest;
-+ maAttrs.reset();
-+}
-+
-+void
ScOrcusImportFontStrikethroughStyle::set_style(orcus::spreadsheet::strikethrough_style_t
s)
-+{
-+ maAttrs.meStyle = s;
-+}
-+
-+void
ScOrcusImportFontStrikethroughStyle::set_type(orcus::spreadsheet::strikethrough_type_t
s)
-+{
-+ maAttrs.meType = s;
-+}
-+
-+void
ScOrcusImportFontStrikethroughStyle::set_width(orcus::spreadsheet::strikethrough_width_t
s)
-+{
-+ maAttrs.meWidth = s;
-+}
-+
-+void
ScOrcusImportFontStrikethroughStyle::set_text(orcus::spreadsheet::strikethrough_text_t
s)
-+{
-+ maAttrs.meText = s;
-+}
-+
-+void ScOrcusImportFontStrikethroughStyle::commit()
-+{
-+ mpDestFont->meStrikeout = maAttrs.toFontStrikeout();
-+}
-+
- ScOrcusImportFontStyle::ScOrcusImportFontStyle( ScOrcusFactory& rFactory,
std::vector<ScOrcusFont>& rFonts ) :
- mrFactory(rFactory),
- mrFonts(rFonts)
-@@ -1690,181 +2051,22 @@ void
ScOrcusImportFontStyle::set_size_complex(double point)
- maCurrentFont.mnSizeComplex = point;
- }
-
--void ScOrcusImportFontStyle::set_underline(os::underline_t e)
--{
-- switch(e)
-- {
-- case os::underline_t::single_line:
-- case os::underline_t::single_accounting:
-- maCurrentFont.meUnderline = LINESTYLE_SINGLE;
-- break;
-- case os::underline_t::double_line:
-- case os::underline_t::double_accounting:
-- maCurrentFont.meUnderline = LINESTYLE_DOUBLE;
-- break;
-- case os::underline_t::none:
-- maCurrentFont.meUnderline = LINESTYLE_NONE;
-- break;
-- case os::underline_t::dotted:
-- maCurrentFont.meUnderline = LINESTYLE_DOTTED;
-- break;
-- case os::underline_t::dash:
-- maCurrentFont.meUnderline = LINESTYLE_DASH;
-- break;
-- case os::underline_t::long_dash:
-- maCurrentFont.meUnderline = LINESTYLE_LONGDASH;
-- break;
-- case os::underline_t::dot_dash:
-- maCurrentFont.meUnderline = LINESTYLE_DASHDOT;
-- break;
-- case os::underline_t::dot_dot_dash:
-- maCurrentFont.meUnderline = LINESTYLE_DASHDOTDOT;
-- break;
-- case os::underline_t::wave:
-- maCurrentFont.meUnderline = LINESTYLE_WAVE;
-- break;
-- default:
-- ;
-- }
--}
--
--void ScOrcusImportFontStyle::set_underline_width(os::underline_width_t e)
--{
-- if (e == os::underline_width_t::bold || e ==
os::underline_width_t::thick)
-- {
-- if (maCurrentFont.meUnderline)
-- {
-- switch (*maCurrentFont.meUnderline)
-- {
-- case LINESTYLE_NONE:
-- case LINESTYLE_SINGLE:
-- maCurrentFont.meUnderline = LINESTYLE_BOLD;
-- break;
-- case LINESTYLE_DOTTED:
-- maCurrentFont.meUnderline = LINESTYLE_BOLDDOTTED;
-- break;
-- case LINESTYLE_DASH:
-- maCurrentFont.meUnderline = LINESTYLE_BOLDDASH;
-- break;
-- case LINESTYLE_LONGDASH:
-- maCurrentFont.meUnderline = LINESTYLE_BOLDLONGDASH;
-- break;
-- case LINESTYLE_DASHDOT:
-- maCurrentFont.meUnderline = LINESTYLE_BOLDDASHDOT;
-- break;
-- case LINESTYLE_DASHDOTDOT:
-- maCurrentFont.meUnderline = LINESTYLE_BOLDDASHDOTDOT;
-- break;
-- case LINESTYLE_WAVE:
-- maCurrentFont.meUnderline = LINESTYLE_BOLDWAVE;
-- break;
-- default:
-- ;
-- }
-- }
-- else
-- maCurrentFont.meUnderline = LINESTYLE_BOLD;
-- }
--}
--
--void ScOrcusImportFontStyle::set_underline_mode(os::underline_mode_t /*e*/)
--{
--}
--
--void ScOrcusImportFontStyle::set_underline_type(os::underline_type_t e )
--{
-- if (e == os::underline_type_t::double_type)
-- {
-- if (maCurrentFont.meUnderline)
-- {
-- switch (*maCurrentFont.meUnderline)
-- {
-- case LINESTYLE_NONE:
-- case LINESTYLE_SINGLE:
-- maCurrentFont.meUnderline = LINESTYLE_DOUBLE;
-- break;
-- case LINESTYLE_WAVE:
-- maCurrentFont.meUnderline = LINESTYLE_DOUBLEWAVE;
-- break;
-- default:
-- ;
-- }
-- }
-- else
-- maCurrentFont.meUnderline = LINESTYLE_DOUBLE;
-- }
--}
--
--void ScOrcusImportFontStyle::set_underline_color(
-- os::color_elem_t alpha, os::color_elem_t red, os::color_elem_t green,
os::color_elem_t blue)
--{
-- maCurrentFont.maUnderlineColor = Color(ColorAlpha, alpha, red, green,
blue);
--}
--
- void ScOrcusImportFontStyle::set_color(
- os::color_elem_t alpha, os::color_elem_t red, os::color_elem_t green,
os::color_elem_t blue)
- {
- maCurrentFont.maColor = Color(ColorAlpha, alpha, red, green, blue);
- }
-
--void
ScOrcusImportFontStyle::set_strikethrough_style(os::strikethrough_style_t
/*s*/)
-+orcus::spreadsheet::iface::import_underline*
ScOrcusImportFontStyle::start_underline()
- {
-+ maUnderlineImport.reset(&maCurrentFont);
-+ return &maUnderlineImport;
- }
-
--void
ScOrcusImportFontStyle::set_strikethrough_type(os::strikethrough_type_t s)
-+orcus::spreadsheet::iface::import_strikethrough*
ScOrcusImportFontStyle::start_strikethrough()
- {
-- if (maCurrentFont.meStrikeout)
-- {
-- if (*maCurrentFont.meStrikeout == STRIKEOUT_BOLD ||
-- *maCurrentFont.meStrikeout == STRIKEOUT_SLASH ||
-- *maCurrentFont.meStrikeout == STRIKEOUT_X)
-- return;
-- }
--
-- switch (s)
-- {
-- case os::strikethrough_type_t::unknown:
-- maCurrentFont.meStrikeout = STRIKEOUT_DONTKNOW;
-- break;
-- case os::strikethrough_type_t::none:
-- maCurrentFont.meStrikeout = STRIKEOUT_NONE;
-- break;
-- case os::strikethrough_type_t::single_type:
-- maCurrentFont.meStrikeout = STRIKEOUT_SINGLE;
-- break;
-- case os::strikethrough_type_t::double_type:
-- maCurrentFont.meStrikeout = STRIKEOUT_DOUBLE;
-- break;
-- default:
-- ;
-- }
--}
--
--void
ScOrcusImportFontStyle::set_strikethrough_width(os::strikethrough_width_t s)
--{
-- switch (s)
-- {
-- case os::strikethrough_width_t::bold:
-- maCurrentFont.meStrikeout = STRIKEOUT_BOLD;
-- break;
-- default:
-- ;
-- }
--}
--
--void
ScOrcusImportFontStyle::set_strikethrough_text(os::strikethrough_text_t s)
--{
-- switch (s)
-- {
-- case os::strikethrough_text_t::slash:
-- maCurrentFont.meStrikeout = STRIKEOUT_SLASH;
-- break;
-- case os::strikethrough_text_t::cross:
-- maCurrentFont.meStrikeout = STRIKEOUT_X;
-- break;
-- default:
-- ;
-- }
-+ maStrikeoutImport.reset(&maCurrentFont);
-+ return &maStrikeoutImport;
- }
-
- std::size_t ScOrcusImportFontStyle::commit()
-@@ -2437,44 +2639,4 @@ void ScOrcusStyles::set_cell_style_count(size_t /*n*/)
- {
- }
-
--// auto filter import
--
--ScOrcusAutoFilter::ScOrcusAutoFilter( const ScOrcusGlobalSettings& rGS ) :
-- mrGlobalSettings(rGS)
--{
--}
--
--ScOrcusAutoFilter::~ScOrcusAutoFilter()
--{
--}
--
--void ScOrcusAutoFilter::set_range(const os::range_t& range)
--{
-- maRange.aStart.SetRow(range.first.row);
-- maRange.aStart.SetCol(range.first.column);
-- maRange.aEnd.SetRow(range.last.row);
-- maRange.aEnd.SetCol(range.last.column);
--}
--
--void ScOrcusAutoFilter::set_column(os::col_t col)
--{
-- SAL_INFO("sc.orcus.autofilter", "set_column: " << col);
--}
--
--void ScOrcusAutoFilter::append_column_match_value(std::string_view value)
--{
-- OUString aString(value.data(), value.size(),
mrGlobalSettings.getTextEncoding());
-- SAL_INFO("sc.orcus.autofilter", "append_column_match_value: " <<
aString);
--}
--
--void ScOrcusAutoFilter::commit_column()
--{
-- SAL_INFO("sc.orcus.autofilter", "commit column");
--}
--
--void ScOrcusAutoFilter::commit()
--{
-- SAL_INFO("sc.orcus.autofilter", "commit");
--}
--
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/sc/source/filter/xml/XMLStylesExportHelper.cxx
b/sc/source/filter/xml/XMLStylesExportHelper.cxx
-index 9d81eb609436..c6dfd84c3bdb 100644
---- a/sc/source/filter/xml/XMLStylesExportHelper.cxx
-+++ b/sc/source/filter/xml/XMLStylesExportHelper.cxx
-@@ -1021,7 +1021,7 @@ sal_Int32 ScRowStyles::GetStyleNameIndex(const
sal_Int32 nTable, const sal_Int32
- return maCache.mnStyle;
-
- StylesType& r = *aTables[nTable];
-- if (!r.is_tree_valid())
-+ if (!r.valid_tree())
- r.build_tree();
- sal_Int32 nStyle(0);
- sal_Int32 nStart(0), nEnd(0);
-diff --git a/configure b/configure
-index f5ffe5ca98f8..c4ec9dc15350 100755
---- a/configure
-+++ b/configure
-@@ -35090,12 +35090,12 @@ fi
- pkg_cv_MDDS_CFLAGS="$MDDS_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
-- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"mdds-2.1 >= 2.1.0\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "mdds-2.1 >= 2.1.0") 2>&5
-+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"mdds-3.0 >= 3.0.0\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "mdds-3.0 >= 3.0.0") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_MDDS_CFLAGS=`$PKG_CONFIG --cflags "mdds-2.1 >= 2.1.0" 2>/dev/null`
-+ pkg_cv_MDDS_CFLAGS=`$PKG_CONFIG --cflags "mdds-3.0 >= 3.0.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
- else
- pkg_failed=yes
-@@ -35158,12 +34414,12 @@ if test -n "$MDDS_LIBS"; then
- pkg_cv_MDDS_LIBS="$MDDS_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
-- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"mdds-2.1 >= 2.1.0\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "mdds-2.1 >= 2.1.0") 2>&5
-+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"mdds-3.0 >= 3.0.0\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "mdds-3.0 >= 3.0.0") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_MDDS_LIBS=`$PKG_CONFIG --libs "mdds-2.1 >= 2.1.0" 2>/dev/null`
-+ pkg_cv_MDDS_LIBS=`$PKG_CONFIG --libs "mdds-3.0 >= 3.0.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
- else
- pkg_failed=yes
-@@ -35184,14 +34440,14 @@ else
- _pkg_short_errors_supported=no
- fi
- if test $_pkg_short_errors_supported = yes; then
-- MDDS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors
--cflags --libs "mdds-2.1 >= 2.1.0" 2>&1`
-+ MDDS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors
--cflags --libs "mdds-3.0 >= 3.0.0" 2>&1`
- else
-- MDDS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs
"mdds-2.1 >= 2.1.0" 2>&1`
-+ MDDS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs
"mdds-3.0 >= 3.0.0" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$MDDS_PKG_ERRORS" >&5
-
-- as_fn_error $? "Package requirements (mdds-2.1 >= 2.1.0) were not met:
-+ as_fn_error $? "Package requirements (mdds-3.0 >= 3.0.0) were not met:
-
- $MDDS_PKG_ERRORS
-
-@@ -36339,12 +35516,12 @@ if test "$enable_libcmis" = "yes"; then
- pkg_cv_ORCUS_CFLAGS="$ORCUS_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
-- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.18 >= 0.19.1\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "liborcus-0.18 >= 0.19.1") 2>&5
-+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.20 >= 0.20.0\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "liborcus-0.20 >= 0.20.0") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_ORCUS_CFLAGS=`$PKG_CONFIG --cflags "liborcus-0.18 >= 0.19.1"
2>/dev/null`
-+ pkg_cv_ORCUS_CFLAGS=`$PKG_CONFIG --cflags "liborcus-0.20 >= 0.20.0"
2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
- else
- pkg_failed=yes
-@@ -36407,12 +35558,12 @@ if test -n "$ORCUS_LIBS"; then
- pkg_cv_ORCUS_LIBS="$ORCUS_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
-- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.18 >= 0.19.1\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "liborcus-0.18 >= 0.19.1") 2>&5
-+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.20 >= 0.20.0\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "liborcus-0.20 >= 0.20.0") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_ORCUS_LIBS=`$PKG_CONFIG --libs "liborcus-0.18 >= 0.19.1"
2>/dev/null`
-+ pkg_cv_ORCUS_LIBS=`$PKG_CONFIG --libs "liborcus-0.20 >= 0.20.0"
2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
- else
- pkg_failed=yes
-@@ -36433,14 +35584,14 @@ else
- _pkg_short_errors_supported=no
- fi
- if test $_pkg_short_errors_supported = yes; then
-- ORCUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors
--cflags --libs "liborcus-0.18 >= 0.19.1" 2>&1`
-+ ORCUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors
--cflags --libs "liborcus-0.20 >= 0.20.0" 2>&1`
- else
-- ORCUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs
"liborcus-0.18 >= 0.19.1" 2>&1`
-+ ORCUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs
"liborcus-0.20 >= 0.20.0" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$ORCUS_PKG_ERRORS" >&5
-
-- as_fn_error $? "Package requirements (liborcus-0.18 >= 0.19.1) were
not met:
-+ as_fn_error $? "Package requirements (liborcus-0.20 >= 0.20.0) were
not met:
-
- $ORCUS_PKG_ERRORS
-
---
-2.48.1
-
diff --git a/editors/libreoffice/patches/0001-boost-upgrade-to-1_89_0.patch
b/editors/libreoffice/patches/0001-boost-upgrade-to-1_89_0.patch
new file mode 100644
index 0000000..2ebc04a
--- /dev/null
+++ b/editors/libreoffice/patches/0001-boost-upgrade-to-1_89_0.patch
@@ -0,0 +1,635 @@
+From d6d7f6c1522865e41538f36d76b8638539b692a6 Mon Sep 17 00:00:00 2001
+From: Xisco Fauli <xiscofauli AT libreoffice.org>
+Date: Mon, 18 Aug 2025 15:55:17 +0200
+Subject: [PATCH 1/2] boost: upgrade to 1_89_0
+
+libs/system/src/error_code.cpp no longer exists in boost so the static
+boost_system library can be removed
+
+<https://dev-www.libreoffice.org/src/boost_1_89_0.tar.xz> has been generated
(on
+Debian 12) with
+
+> $ wget https://archives.boost.io/release/1.89.0/source/boost_1_89_0.tar.bz2
+> $ printf '85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a
boost_1_89_0.tar.bz2' | sha256sum -c # cf.
<https://www.boost.org/users/history/version_1_89_0.html>
+> boost_1_89_0.tar.bz2: OK
+> $ external/boost/repack_tarball.sh boost_1_89_0.tar.bz2
+> Unpacking boost_1_89_0.tar.bz2 ...
+> Removing unnecessary files ...
+> Creating boost_1_89_0.tar.xz ...
+> Cleaning up ...
+> b3a976c659961f1d7fae9a8e58d6729a11f5473abaf2ef0e623f53777c86475d
boost_1_89_0.tar.xz
+> Done.
+
+Change-Id: I1278e7f301b083c692539165293ca5ee7f0ab5ae
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189876
+Reviewed-by: Xisco Fauli <xiscofauli AT libreoffice.org>
+Tested-by: Jenkins
+[ismael AT sourcemage.org: Added autoconf output]
+Signed-off-by: Ismael Luceno <ismael AT iodev.co.uk>
+---
+ RepositoryExternal.mk | 17 -
+ configure | 249 ------------------------
+ configure.ac | 11 -
+ download.lst | 4
+ external/boost/Module_boost.mk | 1
+ external/boost/StaticLibrary_boost_system.mk | 29 --
+ external/liborcus/ExternalProject_liborcus.mk | 3
+ external/liborcus/Library_orcus-parser.mk | 1
+ external/liborcus/Library_orcus.mk | 1
+ m4/ax_boost_system.m4 | 121 -----------
+ solenv/gbuild/platform/com_GCC_defs.mk | 1
+ solenv/gbuild/platform/com_MSC_defs.mk | 1
+ vcl/commonfuzzer.mk | 1
+ 13 files changed, 4 insertions(+), 435 deletions(-)
+ delete mode 100644 external/boost/StaticLibrary_boost_system.mk
+ delete mode 100644 m4/ax_boost_system.m4
+
+diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
+index 757a38162190..8820a1ed34bd 100644
+--- a/RepositoryExternal.mk
++++ b/RepositoryExternal.mk
+@@ -642,13 +642,6 @@ endef
+
+ gb_ExternalProject__use_boost_iostreams :=
+
+-define gb_LinkTarget__use_boost_system
+-$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
+-
+-endef
+-
+-gb_ExternalProject__use_boost_system :=
+-
+ define gb_LinkTarget__use_boost_headers
+ $(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+@@ -701,15 +694,6 @@ define gb_ExternalProject__use_boost_iostreams
+ $(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
+ endef
+
+-define gb_LinkTarget__use_boost_system
+-$(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
+-
+-endef
+-
+-define gb_ExternalProject__use_boost_system
+-$(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
+-endef
+-
+ define gb_LinkTarget__use_boost_headers
+ $(call gb_LinkTarget_use_unpacked,$(1),boost)
+ $(call gb_LinkTarget_set_include,$(1),\
+diff --git a/configure.ac b/configure.ac
+index ca159d01f4a3..a95455dc4468 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11456,19 +11456,10 @@ fi
+ dnl ===================================================================
+ dnl Orcus
+ dnl ===================================================================
+ libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.20 >= 0.20.0])
+-if test "$with_system_orcus" != "yes"; then
+- if test "$SYSTEM_BOOST" = "TRUE"; then
+- dnl Link with Boost.System
+- dnl This seems to be necessary since boost 1.50 (1.48 does not need
it,
+- dnl 1.49 is untested). The macro BOOST_THREAD_DONT_USE_SYSTEM
mentioned
+- dnl in documentation has no effect.
+- AX_BOOST_SYSTEM
+- fi
+-fi
++
+ dnl FIXME by renaming SYSTEM_LIBORCUS to SYSTEM_ORCUS in the build system
world
+ SYSTEM_LIBORCUS=$SYSTEM_ORCUS
+-AC_SUBST([BOOST_SYSTEM_LIB])
+ AC_SUBST(SYSTEM_LIBORCUS)
+
+ dnl ===================================================================
+diff --git a/download.lst b/download.lst
+index b248aa60c0db..c558cfaa6795 100644
+--- a/download.lst
++++ b/download.lst
+@@ -14,8 +14,8 @@ ARGON2_TARBALL := phc-winner-argon2-20190702.tar.gz
+ # so that git cherry-pick
+ # will not run into conflicts
+ # please repack the tarball using external/boost/repack_tarball.sh
+-BOOST_SHA256SUM :=
5c67a448c562f1606e38203ba7ed7e8d7453581b6b9ca324e96205eae0da5ff8
+-BOOST_TARBALL := boost_1_88_0.tar.xz
++BOOST_SHA256SUM :=
b3a976c659961f1d7fae9a8e58d6729a11f5473abaf2ef0e623f53777c86475d
++BOOST_TARBALL := boost_1_89_0.tar.xz
+ # three static lines
+ # so that git cherry-pick
+ # will not run into conflicts
+diff --git a/external/boost/Module_boost.mk b/external/boost/Module_boost.mk
+index 252bf1c9a3b3..f12e5dafa980 100644
+--- a/external/boost/Module_boost.mk
++++ b/external/boost/Module_boost.mk
+@@ -13,7 +13,6 @@ $(eval $(call gb_Module_add_targets,boost,\
+ StaticLibrary_boost_date_time \
+ StaticLibrary_boost_filesystem \
+ StaticLibrary_boost_locale \
+- StaticLibrary_boost_system \
+ StaticLibrary_boost_iostreams \
+ UnpackedTarball_boost \
+ ))
+diff --git a/external/boost/StaticLibrary_boost_system.mk
b/external/boost/StaticLibrary_boost_system.mk
+deleted file mode 100644
+index e4b05d7b5cde..000000000000
+--- a/external/boost/StaticLibrary_boost_system.mk
++++ /dev/null
+@@ -1,29 +0,0 @@
+-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+-#
+-# This file is part of the LibreOffice project.
+-#
+-# This Source Code Form is subject to the terms of the Mozilla Public
+-# License, v. 2.0. If a copy of the MPL was not distributed with this
+-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-#
+-
+-$(eval $(call gb_StaticLibrary_StaticLibrary,boost_system))
+-
+-$(eval $(call gb_StaticLibrary_use_unpacked,boost_system,boost))
+-
+-$(eval $(call gb_StaticLibrary_set_warnings_disabled,boost_system))
+-
+-# disable "auto link" "feature" on MSVC
+-$(eval $(call gb_StaticLibrary_add_defs,boost_system,\
+- -DBOOST_ALL_NO_LIB \
+-))
+-
+-$(eval $(call gb_StaticLibrary_use_external,boost_system,boost_headers))
+-
+-$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boost_system,cpp))
+-
+-$(eval $(call
gb_StaticLibrary_add_generated_exception_objects,boost_system,\
+- UnpackedTarball/boost/libs/system/src/error_code \
+-))
+-
+-# vim: set noet sw=4 ts=4:
+diff --git a/external/liborcus/ExternalProject_liborcus.mk
b/external/liborcus/ExternalProject_liborcus.mk
+index 97d1c54b02d8..d2e05226e4f1 100644
+--- a/external/liborcus/ExternalProject_liborcus.mk
++++ b/external/liborcus/ExternalProject_liborcus.mk
+@@ -15,7 +15,6 @@ $(eval $(call gb_ExternalProject_use_externals,liborcus, \
+ boost_headers \
+ boost_filesystem \
+ boost_iostreams \
+- boost_system \
+ mdds_headers \
+ zlib \
+ ))
+@@ -41,7 +40,7 @@ endif
+ ifneq ($(SYSTEM_BOOST),)
+ liborcus_LIBS+=$(BOOST_SYSTEM_LIB) $(BOOST_IOSTREAMS_LIB)
$(BOOST_FILESYSTEM_LIB)
+ else
+-liborcus_LIBS+=-L$(gb_StaticLibrary_WORKDIR) -lboost_system
-lboost_iostreams -lboost_filesystem
++liborcus_LIBS+=-L$(gb_StaticLibrary_WORKDIR) -lboost_iostreams
-lboost_filesystem
+ endif
+ ifeq ($(OS),ANDROID)
+ liborcus_LIBS+=$(gb_STDLIBS)
+diff --git a/external/liborcus/Library_orcus-parser.mk
b/external/liborcus/Library_orcus-parser.mk
+index ef1393a998d1..5d0667953941 100644
+--- a/external/liborcus/Library_orcus-parser.mk
++++ b/external/liborcus/Library_orcus-parser.mk
+@@ -14,7 +14,6 @@ $(eval $(call
gb_Library_use_unpacked,orcus-parser,liborcus))
+ $(eval $(call gb_Library_use_externals,orcus-parser,\
+ boost_headers \
+ boost_filesystem \
+- boost_system \
+ mdds_headers \
+ zlib \
+ ))
+diff --git a/external/liborcus/Library_orcus.mk
b/external/liborcus/Library_orcus.mk
+index 776f5c2f04ad..f896e4236695 100644
+--- a/external/liborcus/Library_orcus.mk
++++ b/external/liborcus/Library_orcus.mk
+@@ -15,7 +15,6 @@ $(eval $(call gb_Library_use_externals,orcus,\
+ boost_headers \
+ boost_filesystem \
+ boost_iostreams \
+- boost_system \
+ mdds_headers \
+ zlib \
+ ))
+diff --git a/m4/ax_boost_system.m4 b/m4/ax_boost_system.m4
+deleted file mode 100644
+index 323e2a676a8e..000000000000
+--- a/m4/ax_boost_system.m4
++++ /dev/null
+@@ -1,121 +0,0 @@
+-#
===========================================================================
+-# https://www.gnu.org/software/autoconf-archive/ax_boost_system.html
+-#
===========================================================================
+-#
+-# SYNOPSIS
+-#
+-# AX_BOOST_SYSTEM
+-#
+-# DESCRIPTION
+-#
+-# Test for System library from the Boost C++ libraries. The macro requires
+-# a preceding call to AX_BOOST_BASE. Further documentation is available at
+-# <http://randspringer.de/boost/index.html>.
+-#
+-# This macro calls:
+-#
+-# AC_SUBST(BOOST_SYSTEM_LIB)
+-#
+-# And sets:
+-#
+-# HAVE_BOOST_SYSTEM
+-#
+-# LICENSE
+-#
+-# Copyright (c) 2008 Thomas Porschberg <thomas AT randspringer.de>
+-# Copyright (c) 2008 Michael Tindal
+-# Copyright (c) 2008 Daniel Casimiro <dan.casimiro AT gmail.com>
+-#
+-# Copying and distribution of this file, with or without modification, are
+-# permitted in any medium without royalty provided the copyright notice
+-# and this notice are preserved. This file is offered as-is, without any
+-# warranty.
+-
+-#serial 20
+-
+-AC_DEFUN([AX_BOOST_SYSTEM],
+-[
+- AC_ARG_WITH([boost-system],
+- AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@],
+- [use the System library from boost - it is possible to
specify a certain library for the linker
+- e.g. --with-boost-system=boost_system-gcc-mt ]),
+- [
+- if test "$withval" = "no"; then
+- want_boost="no"
+- elif test "$withval" = "yes"; then
+- want_boost="yes"
+- ax_boost_user_system_lib=""
+- else
+- want_boost="yes"
+- ax_boost_user_system_lib="$withval"
+- fi
+- ],
+- [want_boost="yes"]
+- )
+-
+- if test "x$want_boost" = "xyes"; then
+- AC_REQUIRE([AC_PROG_CC])
+- AC_REQUIRE([AC_CANONICAL_BUILD])
+- CPPFLAGS_SAVED="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+- export CPPFLAGS
+-
+- LDFLAGS_SAVED="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+- export LDFLAGS
+-
+- AC_CACHE_CHECK(whether the Boost::System library is available,
+- ax_cv_boost_system,
+- [AC_LANG_PUSH([C++])
+- CXXFLAGS_SAVE=$CXXFLAGS
+- CXXFLAGS=
+-
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include
<boost/system/error_code.hpp>]],
+- [[boost::system::error_category *a =
0;]])],
+- ax_cv_boost_system=yes, ax_cv_boost_system=no)
+- CXXFLAGS=$CXXFLAGS_SAVE
+- AC_LANG_POP([C++])
+- ])
+- if test "x$ax_cv_boost_system" = "xyes"; then
+- AC_SUBST(BOOST_CPPFLAGS)
+-
+- AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the
Boost::System library is available])
+- BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+-
+- LDFLAGS_SAVE=$LDFLAGS
+- if test "x$ax_boost_user_system_lib" = "x"; then
+- for libextension in `ls -r $BOOSTLIBDIR/libboost_system*
2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+- ax_lib=${libextension}
+- AC_CHECK_LIB($ax_lib, exit,
+- [BOOST_SYSTEM_LIB="-l$ax_lib";
AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+- [link_system="no"])
+- done
+- if test "x$link_system" != "xyes"; then
+- for libextension in `ls -r $BOOSTLIBDIR/boost_system*
2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+- ax_lib=${libextension}
+- AC_CHECK_LIB($ax_lib, exit,
+- [BOOST_SYSTEM_LIB="-l$ax_lib";
AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+- [link_system="no"])
+- done
+- fi
+-
+- else
+- for ax_lib in $ax_boost_user_system_lib
boost_system-$ax_boost_user_system_lib; do
+- AC_CHECK_LIB($ax_lib, exit,
+- [BOOST_SYSTEM_LIB="-l$ax_lib";
AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+- [link_system="no"])
+- done
+-
+- fi
+- if test "x$ax_lib" = "x"; then
+- AC_MSG_ERROR(Could not find a version of the Boost::System
library!)
+- fi
+- if test "x$link_system" = "xno"; then
+- AC_MSG_ERROR(Could not link against $ax_lib !)
+- fi
+- fi
+-
+- CPPFLAGS="$CPPFLAGS_SAVED"
+- LDFLAGS="$LDFLAGS_SAVED"
+- fi
+-])
+diff --git a/solenv/gbuild/platform/com_GCC_defs.mk
b/solenv/gbuild/platform/com_GCC_defs.mk
+index 0dbeecf531f1..ba0dc22cce9b 100644
+--- a/solenv/gbuild/platform/com_GCC_defs.mk
++++ b/solenv/gbuild/platform/com_GCC_defs.mk
+@@ -46,7 +46,6 @@ gb_COMPILEROPTFLAGS += $(if
$(ENABLE_HARDENING_FLAGS),$(HARDENING_OPT_CFLAGS))
+ gb_AFLAGS := $(AFLAGS)
+
+ gb_COMPILERDEFS := \
+- -DBOOST_SYSTEM_NO_DEPRECATED \
+ -DCPPU_ENV=$(CPPU_ENV) \
+ $(if $(filter EMSCRIPTEN,$(OS)),-U_FORTIFY_SOURCE) \
+
+diff --git a/solenv/gbuild/platform/com_MSC_defs.mk
b/solenv/gbuild/platform/com_MSC_defs.mk
+index e915036b54c8..12bac932532d 100644
+--- a/solenv/gbuild/platform/com_MSC_defs.mk
++++ b/solenv/gbuild/platform/com_MSC_defs.mk
+@@ -47,7 +47,6 @@ endif
+
+ gb_COMPILERDEFS := \
+ -DBOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE \
+- -DBOOST_SYSTEM_NO_DEPRECATED \
+ -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING \
+ -D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING \
+ -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING \
+diff --git a/vcl/commonfuzzer.mk b/vcl/commonfuzzer.mk
+index 15f68b5ce3c6..d38fdd27fe35 100644
+--- a/vcl/commonfuzzer.mk
++++ b/vcl/commonfuzzer.mk
+@@ -14,7 +14,6 @@ fuzzer_externals = \
+ orcus-parser \
+ boost_locale \
+ boost_filesystem \
+- boost_system \
+ boost_iostreams \
+ curl \
+ dtoa \
+diff --git a/configure b/configure
+index 8bea2f488629..17986d68b015 100755
+--- a/configure
++++ b/configure
+@@ -37785,255 +37785,6 @@ fi
+
+
+
+-if test "$with_system_orcus" != "yes"; then
+- if test "$SYSTEM_BOOST" = "TRUE"; then
+-
+-
+-# Check whether --with-boost-system was given.
+-if test ${with_boost_system+y}
+-then :
+- withval=$with_boost_system;
+- if test "$withval" = "no"; then
+- want_boost="no"
+- elif test "$withval" = "yes"; then
+- want_boost="yes"
+- ax_boost_user_system_lib=""
+- else
+- want_boost="yes"
+- ax_boost_user_system_lib="$withval"
+- fi
+-
+-else $as_nop
+- want_boost="yes"
+-
+-fi
+-
+-
+- if test "x$want_boost" = "xyes"; then
+-
+-
+- CPPFLAGS_SAVED="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+- export CPPFLAGS
+-
+- LDFLAGS_SAVED="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+- export LDFLAGS
+-
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the
Boost::System library is available" >&5
+-printf %s "checking whether the Boost::System library is available... "
>&6; }
+-if test ${ax_cv_boost_system+y}
+-then :
+- printf %s "(cached) " >&6
+-else $as_nop
+- ac_ext=cpp
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS
conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+-
+- CXXFLAGS_SAVE=$CXXFLAGS
+- CXXFLAGS=
+-
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <boost/system/error_code.hpp>
+-int
+-main (void)
+-{
+-boost::system::error_category *a = 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_cxx_try_compile "$LINENO"
+-then :
+- ax_cv_boost_system=yes
+-else $as_nop
+- ax_cv_boost_system=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+- CXXFLAGS=$CXXFLAGS_SAVE
+- ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS
conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_system"
>&5
+-printf "%s\n" "$ax_cv_boost_system" >&6; }
+- if test "x$ax_cv_boost_system" = "xyes"; then
+-
+-
+-
+-printf "%s\n" "#define HAVE_BOOST_SYSTEM /**/" >>confdefs.h
+-
+- BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'`
+-
+- LDFLAGS_SAVE=$LDFLAGS
+- if test "x$ax_boost_user_system_lib" = "x"; then
+- for libextension in `ls -r $BOOSTLIBDIR/libboost_system*
2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+- ax_lib=${libextension}
+- as_ac_Lib=`printf "%s\n"
"ac_cv_lib_$ax_lib""_exit" | $as_tr_sh`
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for exit in
-l$ax_lib" >&5
+-printf %s "checking for exit in -l$ax_lib... " >&6; }
+-if eval test \${$as_ac_Lib+y}
+-then :
+- printf %s "(cached) " >&6
+-else $as_nop
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$ax_lib $LIBS"
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-/* Override any GCC internal prototype to avoid an error.
+- Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
+-char exit ();
+-int
+-main (void)
+-{
+-return exit ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+- eval "$as_ac_Lib=yes"
+-else $as_nop
+- eval "$as_ac_Lib=no"
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-eval ac_res=\$$as_ac_Lib
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res"
>&5
+-printf "%s\n" "$ac_res" >&6; }
+-if eval test \"x\$"$as_ac_Lib"\" = x"yes"
+-then :
+- BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break
+-else $as_nop
+- link_system="no"
+-fi
+-
+- done
+- if test "x$link_system" != "xyes"; then
+- for libextension in `ls -r $BOOSTLIBDIR/boost_system*
2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+- ax_lib=${libextension}
+- as_ac_Lib=`printf "%s\n"
"ac_cv_lib_$ax_lib""_exit" | $as_tr_sh`
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for exit in
-l$ax_lib" >&5
+-printf %s "checking for exit in -l$ax_lib... " >&6; }
+-if eval test \${$as_ac_Lib+y}
+-then :
+- printf %s "(cached) " >&6
+-else $as_nop
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$ax_lib $LIBS"
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-/* Override any GCC internal prototype to avoid an error.
+- Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
+-char exit ();
+-int
+-main (void)
+-{
+-return exit ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+- eval "$as_ac_Lib=yes"
+-else $as_nop
+- eval "$as_ac_Lib=no"
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-eval ac_res=\$$as_ac_Lib
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res"
>&5
+-printf "%s\n" "$ac_res" >&6; }
+-if eval test \"x\$"$as_ac_Lib"\" = x"yes"
+-then :
+- BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break
+-else $as_nop
+- link_system="no"
+-fi
+-
+- done
+- fi
+-
+- else
+- for ax_lib in $ax_boost_user_system_lib
boost_system-$ax_boost_user_system_lib; do
+- as_ac_Lib=`printf "%s\n"
"ac_cv_lib_$ax_lib""_exit" | $as_tr_sh`
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for exit in
-l$ax_lib" >&5
+-printf %s "checking for exit in -l$ax_lib... " >&6; }
+-if eval test \${$as_ac_Lib+y}
+-then :
+- printf %s "(cached) " >&6
+-else $as_nop
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$ax_lib $LIBS"
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-/* Override any GCC internal prototype to avoid an error.
+- Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
+-char exit ();
+-int
+-main (void)
+-{
+-return exit ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+- eval "$as_ac_Lib=yes"
+-else $as_nop
+- eval "$as_ac_Lib=no"
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-eval ac_res=\$$as_ac_Lib
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res"
>&5
+-printf "%s\n" "$ac_res" >&6; }
+-if eval test \"x\$"$as_ac_Lib"\" = x"yes"
+-then :
+- BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break
+-else $as_nop
+- link_system="no"
+-fi
+-
+- done
+-
+- fi
+- if test "x$ax_lib" = "x"; then
+- as_fn_error $? "Could not find a version of the
Boost::System library!" "$LINENO" 5
+- fi
+- if test "x$link_system" = "xno"; then
+- as_fn_error $? "Could not link against
$ax_lib !" "$LINENO" 5
+- fi
+- fi
+-
+- CPPFLAGS="$CPPFLAGS_SAVED"
+- LDFLAGS="$LDFLAGS_SAVED"
+- fi
+-
+- fi
+-fi
+ SYSTEM_LIBORCUS=$SYSTEM_ORCUS
+
+
diff --git
a/editors/libreoffice/patches/0002-Upgrade-liborcus-to-0.21.0.patch
b/editors/libreoffice/patches/0002-Upgrade-liborcus-to-0.21.0.patch
new file mode 100644
index 0000000..32dce43
--- /dev/null
+++ b/editors/libreoffice/patches/0002-Upgrade-liborcus-to-0.21.0.patch
@@ -0,0 +1,176 @@
+From e7ec193c7bfb3b51e3de551b26308dbcd67d8ac9 Mon Sep 17 00:00:00 2001
+From: Kohei Yoshida <kohei.yoshida AT collabora.com>
+Date: Mon, 15 Sep 2025 22:28:20 -0400
+Subject: [PATCH 2/2] Upgrade liborcus to 0.21.0
+
+Change-Id: I39bd6d94d03ba7f7c4ce6a2bdd1fb12c1078b42e
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191011
+Tested-by: Jenkins
+Reviewed-by: Kohei Yoshida <kohei AT libreoffice.org>
+Upstream-Status: Backport
+[ismael AT sourcemage.org: Added autoconf output]
+Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
+---
+ RepositoryExternal.mk | 4 ++--
+ configure | 18 +++++++++---------
+ configure.ac | 2 +-
+ download.lst | 4 ++--
+ external/liborcus/ExternalPackage_liborcus.mk | 8 ++++----
+ external/liborcus/ExternalProject_liborcus.mk | 4 ++--
+ external/liborcus/windows-constants-hack.patch | 4 ++--
+ 7 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
+index 8820a1ed34bd..37212b26fcee 100644
+--- a/RepositoryExternal.mk
++++ b/RepositoryExternal.mk
+@@ -3382,7 +3382,7 @@ $(call gb_LinkTarget_set_include,$(1),\
+ )
+
+ $(call gb_LinkTarget_add_libs,$(1),\
+- -L$(gb_UnpackedTarball_workdir)/liborcus/src/liborcus/.libs
-lorcus-0.20 \
++ -L$(gb_UnpackedTarball_workdir)/liborcus/src/liborcus/.libs
-lorcus-0.21 \
+ )
+
+ $(if $(SYSTEM_BOOST), \
+@@ -3401,7 +3401,7 @@ $(call gb_LinkTarget_set_include,$(1),\
+ )
+
+ $(call gb_LinkTarget_add_libs,$(1),\
+- -L$(gb_UnpackedTarball_workdir)/liborcus/src/parser/.libs
-lorcus-parser-0.20 \
++ -L$(gb_UnpackedTarball_workdir)/liborcus/src/parser/.libs
-lorcus-parser-0.21 \
+ )
+
+ endef
+diff --git a/configure.ac b/configure.ac
+index a95455dc4468..fa3336d47eef 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11456,7 +11456,7 @@ fi
+ dnl ===================================================================
+ dnl Orcus
+ dnl ===================================================================
+-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.20 >= 0.20.0])
++libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.21 >= 0.21.0])
+
+ dnl FIXME by renaming SYSTEM_LIBORCUS to SYSTEM_ORCUS in the build system
world
+ SYSTEM_LIBORCUS=$SYSTEM_ORCUS
+diff --git a/download.lst b/download.lst
+index c558cfaa6795..1a83b81d9f68 100644
+--- a/download.lst
++++ b/download.lst
+@@ -554,8 +554,8 @@ OPENSSL_TARBALL := openssl-3.0.18.tar.gz
+ # three static lines
+ # so that git cherry-pick
+ # will not run into conflicts
+-ORCUS_SHA256SUM :=
ec27f30e8445a2a3f307f7e829fc446fd48193150b7f8f23bb5bfb25ec6e4e27
+-ORCUS_TARBALL := liborcus-0.20.1.tar.xz
++ORCUS_SHA256SUM :=
1c6e473d6b8a63d61d0e6874a1762d6f0e0e78338d763e48ac93126ecde19b37
++ORCUS_TARBALL := liborcus-0.21.0.tar.xz
+ # three static lines
+ # so that git cherry-pick
+ # will not run into conflicts
+diff --git a/external/liborcus/ExternalPackage_liborcus.mk
b/external/liborcus/ExternalPackage_liborcus.mk
+index b9be5fcac405..e4682fe1464b 100644
+--- a/external/liborcus/ExternalPackage_liborcus.mk
++++ b/external/liborcus/ExternalPackage_liborcus.mk
+@@ -12,11 +12,11 @@ $(eval $(call
gb_ExternalPackage_ExternalPackage,liborcus,liborcus))
+ $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus))
+
+ ifeq ($(OS),MACOSX)
+-$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.20.0.dylib,src/liborcus/.libs/liborcus-0.20.0.dylib))
+-$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.20.0.dylib,src/parser/.libs/liborcus-parser-0.20.0.dylib))
++$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.21.0.dylib,src/liborcus/.libs/liborcus-0.21.0.dylib))
++$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.21.0.dylib,src/parser/.libs/liborcus-parser-0.21.0.dylib))
+ else ifeq ($(DISABLE_DYNLOADING),)
+-$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.20.so.0,src/liborcus/.libs/liborcus-0.20.so.0.0.0))
+-$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.20.so.0,src/parser/.libs/liborcus-parser-0.20.so.0.0.0))
++$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.21.so.0,src/liborcus/.libs/liborcus-0.21.so.0.0.0))
++$(eval $(call
gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.21.so.0,src/parser/.libs/liborcus-parser-0.21.so.0.0.0))
+ endif
+
+ # vim: set noet sw=4 ts=4:
+diff --git a/external/liborcus/ExternalProject_liborcus.mk
b/external/liborcus/ExternalProject_liborcus.mk
+index d2e05226e4f1..3787ef4688dc 100644
+--- a/external/liborcus/ExternalProject_liborcus.mk
++++ b/external/liborcus/ExternalProject_liborcus.mk
+@@ -114,8 +114,8 @@ $(call
gb_ExternalProject_get_state_target,liborcus,build) :
+ $(MAKE) \
+ $(if $(filter MACOSX,$(OS)),\
+ && $(PERL)
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
+-
$(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.20.0.dylib \
+-
$(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.20.0.dylib \
++
$(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.21.0.dylib \
++
$(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.21.0.dylib \
+ ) \
+ )
+ $(call gb_Trace_EndRange,liborcus,EXTERNAL)
+diff --git a/external/liborcus/windows-constants-hack.patch
b/external/liborcus/windows-constants-hack.patch
+index 28cf0997a168..3f09633638d4 100644
+--- a/external/liborcus/windows-constants-hack.patch
++++ b/external/liborcus/windows-constants-hack.patch
+@@ -8,8 +8,8 @@ index ae571f5..539ce18 100644
+
+ -#include "constants.inl"
+ +#define ORCUS_MAJOR_VERSION 0
+-+#define ORCUS_MINOR_VERSION 19
+-+#define ORCUS_MICRO_VERSION 2
+++#define ORCUS_MINOR_VERSION 21
+++#define ORCUS_MICRO_VERSION 0
+
+ namespace orcus {
+
+diff --git a/usr/src/libreoffice-25.8.4.2/configure b/configure
+index 8bea2f488629..f88270b4b385 100755
+--- a/usr/src/libreoffice-25.8.4.2/configure
++++ b/configure
+@@ -37667,12 +37667,12 @@ if test -n "$ORCUS_CFLAGS"; then
+ pkg_cv_ORCUS_CFLAGS="$ORCUS_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.20 >= 0.20.0\""; } >&5
+- ($PKG_CONFIG --exists --print-errors "liborcus-0.20 >= 0.20.0") 2>&5
++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.21 >= 0.21.0\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "liborcus-0.21 >= 0.21.0") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+- pkg_cv_ORCUS_CFLAGS=`$PKG_CONFIG --cflags "liborcus-0.20 >= 0.20.0"
2>/dev/null`
++ pkg_cv_ORCUS_CFLAGS=`$PKG_CONFIG --cflags "liborcus-0.21 >= 0.21.0"
2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+ pkg_failed=yes
+@@ -37684,12 +37684,12 @@ if test -n "$ORCUS_LIBS"; then
+ pkg_cv_ORCUS_LIBS="$ORCUS_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.20 >= 0.20.0\""; } >&5
+- ($PKG_CONFIG --exists --print-errors "liborcus-0.20 >= 0.20.0") 2>&5
++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists
--print-errors \"liborcus-0.21 >= 0.21.0\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "liborcus-0.21 >= 0.21.0") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+- pkg_cv_ORCUS_LIBS=`$PKG_CONFIG --libs "liborcus-0.20 >= 0.20.0"
2>/dev/null`
++ pkg_cv_ORCUS_LIBS=`$PKG_CONFIG --libs "liborcus-0.21 >= 0.21.0"
2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+ pkg_failed=yes
+@@ -37710,14 +37710,14 @@ else
+ _pkg_short_errors_supported=no
+ fi
+ if test $_pkg_short_errors_supported = yes; then
+- ORCUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors
--cflags --libs "liborcus-0.20 >= 0.20.0" 2>&1`
++ ORCUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors
--cflags --libs "liborcus-0.21 >= 0.21.0" 2>&1`
+ else
+- ORCUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs
"liborcus-0.20 >= 0.20.0" 2>&1`
++ ORCUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs
"liborcus-0.21 >= 0.21.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$ORCUS_PKG_ERRORS" >&5
+
+- as_fn_error $? "Package requirements (liborcus-0.20 >= 0.20.0) were
not met:
++ as_fn_error $? "Package requirements (liborcus-0.21 >= 0.21.0) were
not met:
+
+ $ORCUS_PKG_ERRORS
+
diff --git a/libs/orcus/DETAILS b/libs/orcus/DETAILS
index 566fc68..39be60f 100755
--- a/libs/orcus/DETAILS
+++ b/libs/orcus/DETAILS
@@ -1,3 +1,4 @@
+# Watch: https://gitlab.com/orcus/orcus/-/tags
. "$GRIMOIRE/FUNCTIONS"
SPELL=orcus
VERSION=0.21.0
- [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (e929a6edf9f5107d2def9f774a59332b6d4dea93), Ismael Luceno, 12/27/2025
Archive powered by MHonArc 2.6.24.