From 38c4f46325260ffe176937fa309ef804e3bb0c31 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 15 Nov 2017 20:42:23 -0500 Subject: [PATCH] Updated liborcus to 0.13.1. Change-Id: Id5aa07f87603879fe7a21dc96cad207f1b168286 Reviewed-on: https://gerrit.libreoffice.org/44850 Tested-by: Jenkins Reviewed-by: Kohei Yoshida --- RepositoryExternal.mk | 4 ++-- download.lst | 4 ++-- external/liborcus/ExternalPackage_liborcus.mk | 8 ++++---- external/liborcus/ExternalProject_liborcus.mk | 4 ++-- external/liborcus/Library_orcus.mk | 15 ++++++++------- external/liborcus/UnpackedTarball_liborcus.mk | 4 ---- external/liborcus/nullptr-in-ostringstream.patch.1 | 12 ------------ .../orcus_allow_missing_xml_header.patch.1 | 12 ------------ .../orcus_allow_underscore_in_names.patch.1 | 12 ------------ external/liborcus/visibility.patch.0 | 15 --------------- sc/qa/unit/helper/csv_handler.hxx | 4 ++-- sc/source/filter/inc/orcusinterface.hxx | 10 +++++++--- sc/source/filter/orcus/interface.cxx | 22 +++++++++++++++------- sc/source/ui/dataprovider/csvdataprovider.cxx | 2 +- sc/source/ui/docshell/datastream.cxx | 2 +- sfx2/source/control/emojiview.cxx | 6 +++--- 16 files changed, 47 insertions(+), 89 deletions(-) delete mode 100644 external/liborcus/nullptr-in-ostringstream.patch.1 delete mode 100644 external/liborcus/orcus_allow_missing_xml_header.patch.1 delete mode 100644 external/liborcus/orcus_allow_underscore_in_names.patch.1 delete mode 100644 external/liborcus/visibility.patch.0 diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 0e4c15b6ba5f..db70ce875e71 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -3230,7 +3230,7 @@ $(call gb_LinkTarget_set_include,$(1),\ ) $(call gb_LinkTarget_add_libs,$(1),\ - -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.12 \ + -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.13 \ ) $(if $(SYSTEM_BOOST), \ @@ -3249,7 +3249,7 @@ $(call gb_LinkTarget_set_include,$(1),\ ) $(call gb_LinkTarget_add_libs,$(1),\ - -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.12 \ + -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.13 \ ) endef diff --git a/download.lst b/download.lst index dca14ac081be..b857dc49dfe8 100644 --- a/download.lst +++ b/download.lst @@ -180,6 +180,6 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89 export OPENSSL_TARBALL := openssl-1.0.2k.tar.gz -export ORCUS_SHA256SUM := 676b1fedd721f64489650f5e76d7f98b750439914d87cae505b8163d08447908 -export ORCUS_TARBALL := liborcus-0.12.1.tar.gz +export ORCUS_SHA256SUM := d7041ef455bb78db66b4ba7876af1b3d0fa377b9444e3ef72ceaccd2e8400937 +export ORCUS_TARBALL := liborcus-0.13.1.tar.gz export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33 diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk index 4a8b5f8bacd6..32382b7d89a1 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.12.0.dylib,src/liborcus/.libs/liborcus-0.12.0.dylib)) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.12.0.dylib,src/parser/.libs/liborcus-parser-0.12.0.dylib)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.0.dylib,src/liborcus/.libs/liborcus-0.13.0.dylib)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.0.dylib,src/parser/.libs/liborcus-parser-0.13.0.dylib)) else ifeq ($(DISABLE_DYNLOADING),) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.12.so.0,src/liborcus/.libs/liborcus-0.12.so.0.0.0)) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.12.so.0,src/parser/.libs/liborcus-parser-0.12.so.0.0.0)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.so.0,src/liborcus/.libs/liborcus-0.13.so.0.0.0)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.so.0,src/parser/.libs/liborcus-parser-0.13.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 3b7ea728b216..01c7c050d04a 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 \ - $(gb_Package_SOURCEDIR_liborcus)/src/liborcus/.libs/liborcus-0.12.0.dylib \ - $(gb_Package_SOURCEDIR_liborcus)/src/parser/.libs/liborcus-parser-0.12.0.dylib \ + $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.13.0.dylib \ + $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.13.0.dylib \ ) \ ) diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk index adc43cb1cc9b..9916f6fe5236 100644 --- a/external/liborcus/Library_orcus.mk +++ b/external/liborcus/Library_orcus.mk @@ -67,8 +67,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ UnpackedTarball/liborcus/src/liborcus/odf_namespace_types \ UnpackedTarball/liborcus/src/liborcus/odf_number_formatting_context \ UnpackedTarball/liborcus/src/liborcus/odf_para_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_content_xml_handler \ @@ -86,23 +86,24 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ UnpackedTarball/liborcus/src/liborcus/orcus_import_ods \ UnpackedTarball/liborcus/src/liborcus/orcus_import_xlsx \ 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/session_context \ 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_context \ - UnpackedTarball/liborcus/src/liborcus/xlsx_handler \ - UnpackedTarball/liborcus/src/liborcus/xlsx_helper \ 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_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 655aa496e2f2..b3261a5fa993 100644 --- a/external/liborcus/UnpackedTarball_liborcus.mk +++ b/external/liborcus/UnpackedTarball_liborcus.mk @@ -18,10 +18,6 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,liborcus)) $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ external/liborcus/0001-workaround-a-linking-problem-on-windows.patch \ external/liborcus/rpath.patch.0 \ - external/liborcus/visibility.patch.0 \ - external/liborcus/nullptr-in-ostringstream.patch.1 \ - external/liborcus/orcus_allow_missing_xml_header.patch.1 \ - external/liborcus/orcus_allow_underscore_in_names.patch.1 \ )) ifeq ($(OS),WNT) diff --git a/external/liborcus/nullptr-in-ostringstream.patch.1 b/external/liborcus/nullptr-in-ostringstream.patch.1 deleted file mode 100644 index d8b97ee2c92a..000000000000 --- a/external/liborcus/nullptr-in-ostringstream.patch.1 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur liborcus.org/src/liborcus/xml_context_base.cpp liborcus/src/liborcus/xml_context_base.cpp ---- liborcus.org/src/liborcus/xml_context_base.cpp 2017-06-30 14:32:19.044195127 +0200 -+++ liborcus/src/liborcus/xml_context_base.cpp 2017-06-30 14:34:27.580268421 +0200 -@@ -171,7 +171,7 @@ - - // Create a generic error message. - ostringstream os; -- os << "element '" << ns << ":" << m_tokens.get_token_name(name) << "' expected, but '"; -+ os << "element '" << (ns ? ns : "") << ":" << m_tokens.get_token_name(name) << "' expected, but '"; - os << elem.first << ":" << m_tokens.get_token_name(elem.second) << "' encountered."; - throw xml_structure_error(os.str()); - } diff --git a/external/liborcus/orcus_allow_missing_xml_header.patch.1 b/external/liborcus/orcus_allow_missing_xml_header.patch.1 deleted file mode 100644 index 2cfd498c7eae..000000000000 --- a/external/liborcus/orcus_allow_missing_xml_header.patch.1 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur liborcus.org/include/orcus/sax_parser.hpp liborcus/include/orcus/sax_parser.hpp ---- liborcus.org/include/orcus/sax_parser.hpp 2017-08-12 09:44:21.379509116 +0200 -+++ liborcus/include/orcus/sax_parser.hpp 2017-08-12 09:46:06.884259216 +0200 -@@ -20,7 +20,7 @@ - * parsing regardless of whether or not the xml stream begins with a - * declaration. - */ -- static const bool strict_xml_declaration = true; -+ static const bool strict_xml_declaration = false; - }; - - /** diff --git a/external/liborcus/orcus_allow_underscore_in_names.patch.1 b/external/liborcus/orcus_allow_underscore_in_names.patch.1 deleted file mode 100644 index b5acc5a0938b..000000000000 --- a/external/liborcus/orcus_allow_underscore_in_names.patch.1 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur liborcus.org/src/parser/sax_parser_base.cpp liborcus/src/parser/sax_parser_base.cpp ---- liborcus.org/src/parser/sax_parser_base.cpp 2017-08-12 10:39:49.963174114 +0200 -+++ liborcus/src/parser/sax_parser_base.cpp 2017-08-12 10:41:32.026899749 +0200 -@@ -334,7 +334,7 @@ - { - const char* p0 = mp_char; - char c = cur_char(); -- if (!is_alpha(c)) -+ if (!is_alpha(c) && c != '_') - { - ::std::ostringstream os; - os << "name must begin with an alphabet, but got this instead '" << c << "'"; diff --git a/external/liborcus/visibility.patch.0 b/external/liborcus/visibility.patch.0 deleted file mode 100644 index a62ecf753dc8..000000000000 --- a/external/liborcus/visibility.patch.0 +++ /dev/null @@ -1,15 +0,0 @@ -Upstreamed as - -"Allow passed-in CXXFLAGS to override -fvisibility=hidden": - ---- configure -+++ configure -@@ -4255,7 +4255,7 @@ - - fi - --CXXFLAGS="$CXXFLAGS -fvisibility=hidden -Wall -pthread" -+CXXFLAGS="-fvisibility=hidden $CXXFLAGS -Wall -pthread" - - # =========================== - # Find required base packages diff --git a/sc/qa/unit/helper/csv_handler.hxx b/sc/qa/unit/helper/csv_handler.hxx index c4b5fafc63b6..8f0e8a8c2be3 100644 --- a/sc/qa/unit/helper/csv_handler.hxx +++ b/sc/qa/unit/helper/csv_handler.hxx @@ -98,7 +98,7 @@ public: mnCol = 0; } - void cell(const char* p, size_t n) + void cell(const char* p, size_t n, bool /*transient*/) { #if DEBUG_CSV_HANDLER std::cout << "Col: " << mnCol << " Row: " << mnRow << std::endl; @@ -194,7 +194,7 @@ public: mnCol = 0; } - void cell(const char* p, size_t n) + void cell(const char* p, size_t n, bool /*transient*/) { #if DEBUG_CSV_HANDLER std::cout << "Col: " << mnCol << " Row: " << mnRow << std::endl; diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx index 1d4c285200ee..9938cf10d5fd 100644 --- a/sc/source/filter/inc/orcusinterface.hxx +++ b/sc/source/filter/inc/orcusinterface.hxx @@ -182,7 +182,8 @@ public: virtual void set_row_hidden(orcus::spreadsheet::row_t row, bool hidden) override; - virtual void set_merge_cell_range(const char* p_range, size_t n_range) override; + + virtual void set_merge_cell_range(const orcus::spreadsheet::range_t& range) override; }; class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet @@ -242,6 +243,8 @@ public: orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n, const char* p_range, size_t n_range) override; + virtual orcus::spreadsheet::range_size_t get_sheet_size() const override; + SCTAB getIndex() const { return mnTab; } }; @@ -417,7 +420,7 @@ public: // border virtual void set_border_count(size_t n) override; - virtual void set_border_style(orcus::spreadsheet::border_direction_t dir, const char* s, size_t n) override; + virtual void set_border_style(orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::border_style_t style) override; virtual void set_border_color(orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::color_elem_t alpha, @@ -507,7 +510,8 @@ class ScOrcusFactory : public orcus::spreadsheet::iface::import_factory public: ScOrcusFactory(ScDocument& rDoc); - virtual orcus::spreadsheet::iface::import_sheet* append_sheet(const char *sheet_name, size_t sheet_name_length) override; + virtual orcus::spreadsheet::iface::import_sheet* append_sheet( + orcus::spreadsheet::sheet_t sheet_index, const char *sheet_name, size_t sheet_name_length) override; virtual orcus::spreadsheet::iface::import_sheet* get_sheet(const char *sheet_name, size_t sheet_name_length) override; virtual orcus::spreadsheet::iface::import_sheet* get_sheet(orcus::spreadsheet::sheet_t sheet_index) override; virtual orcus::spreadsheet::iface::import_global_settings* get_global_settings() override; diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx index e98df4e4e1a6..de52b861e5fc 100644 --- a/sc/source/filter/orcus/interface.cxx +++ b/sc/source/filter/orcus/interface.cxx @@ -84,7 +84,8 @@ ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc) : maStyles(rDoc), mnProgress(0) {} -orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet(const char* sheet_name, size_t sheet_name_length) +orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet( + orcus::spreadsheet::sheet_t /*sheet_index*/, const char* sheet_name, size_t sheet_name_length) { OUString aTabName(sheet_name, sheet_name_length, RTL_TEXTENCODING_UTF8); if (!maDoc.appendSheet(aTabName)) @@ -296,7 +297,7 @@ void ScOrcusSheetProperties::set_row_hidden(os::row_t row, bool hidden) mrDoc.getDoc().SetRowHidden(row, row, mnTab, hidden); } -void ScOrcusSheetProperties::set_merge_cell_range(const char* /*p_range*/, size_t /*n_range*/) +void ScOrcusSheetProperties::set_merge_cell_range(const orcus::spreadsheet::range_t& /*range*/) { } @@ -574,6 +575,9 @@ formula::FormulaGrammar::Grammar getCalcGrammarFromOrcus( os::formula_grammar_t case orcus::spreadsheet::formula_grammar_t::gnumeric: eGrammar = formula::FormulaGrammar::GRAM_ENGLISH_XL_A1; break; + case orcus::spreadsheet::formula_grammar_t::xls_xml: + eGrammar = formula::FormulaGrammar::GRAM_ENGLISH_XL_R1C1; + break; case orcus::spreadsheet::formula_grammar_t::unknown: break; } @@ -689,6 +693,15 @@ void ScOrcusSheet::set_array_formula( { } +orcus::spreadsheet::range_size_t ScOrcusSheet::get_sheet_size() const +{ + orcus::spreadsheet::range_size_t ret; + ret.rows = MAXROWCOUNT; + ret.columns = MAXCOLCOUNT; + + return ret; +} + ScOrcusSharedStrings::ScOrcusSharedStrings(ScOrcusFactory& rFactory) : mrFactory(rFactory) {} @@ -1279,11 +1292,6 @@ void ScOrcusStyles::set_border_count(size_t /*n*/) // needed at all? } -void ScOrcusStyles::set_border_style(orcus::spreadsheet::border_direction_t /*dir*/, const char* /*s*/, size_t /*n*/) -{ - // implement later -} - void ScOrcusStyles::set_border_style( orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::border_style_t style) { diff --git a/sc/source/ui/dataprovider/csvdataprovider.cxx b/sc/source/ui/dataprovider/csvdataprovider.cxx index f961a4c21977..1d61996f7a6e 100644 --- a/sc/source/ui/dataprovider/csvdataprovider.cxx +++ b/sc/source/ui/dataprovider/csvdataprovider.cxx @@ -41,7 +41,7 @@ public: mnCol = 0; } - void cell(const char* p, size_t n) + void cell(const char* p, size_t n, bool /*transient*/) { if (mnCol > MAXCOL) return; diff --git a/sc/source/ui/docshell/datastream.cxx b/sc/source/ui/docshell/datastream.cxx index 16a6cb09409e..f74feb7a7d06 100644 --- a/sc/source/ui/docshell/datastream.cxx +++ b/sc/source/ui/docshell/datastream.cxx @@ -71,7 +71,7 @@ public: static void begin_row() {} static void end_row() {} - void cell(const char* p, size_t n) + void cell(const char* p, size_t n, bool /*transient*/) { if (mnCols >= mnColCount) return; diff --git a/sfx2/source/control/emojiview.cxx b/sfx2/source/control/emojiview.cxx index e2820186c68d..0a572449c61d 100644 --- a/sfx2/source/control/emojiview.cxx +++ b/sfx2/source/control/emojiview.cxx @@ -104,12 +104,12 @@ void EmojiView::Populate() } // Populate view using the orcus json parser - using node = orcus::json_document_tree::node; + using node = orcus::json::node; // default json config orcus::json_config config; - orcus::json_document_tree aEmojiInfo; + orcus::json::document_tree aEmojiInfo; // Load JSON string into a document tree. aEmojiInfo.load(msJSONData, config); @@ -122,7 +122,7 @@ void EmojiView::Populate() orcus::pstring key = *it; node value = root.child(key); - if(value.type() == orcus::json_node_t::object) + if(value.type() == orcus::json::node_t::object) { // iterate each element to get the keys std::vector aEmojiParams = value.keys(); -- 2.14.3