From c1940ea3a6b3922774ca64e9690fd2a4a71581db Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Thu, 12 Aug 2021 20:11:18 +0200 Subject: [PATCH] up to 7.2.0.3 - patch skia to fix build with freetype 2.11 - use internal libcmis (libreoffice codebase relies on own patches) --- disable-failing-test.patch | 25 +- gcc11.patch | 28 - libreoffice-upgrade-liborcus-to-0.16.0.patch | 805 ------------------- libreoffice.spec | 145 ++-- pld-skia-patches.patch | 10 + skia-freetype2.11.patch | 37 + 6 files changed, 114 insertions(+), 936 deletions(-) delete mode 100644 gcc11.patch delete mode 100644 libreoffice-upgrade-liborcus-to-0.16.0.patch create mode 100644 pld-skia-patches.patch create mode 100644 skia-freetype2.11.patch diff --git a/disable-failing-test.patch b/disable-failing-test.patch index 320865b..3bfe16e 100644 --- a/disable-failing-test.patch +++ b/disable-failing-test.patch @@ -5,23 +5,12 @@ CPPUNIT_TEST_SUITE(SdImportTest); - CPPUNIT_TEST(testDocumentLayout); - CPPUNIT_TEST(testSmoketest); - CPPUNIT_TEST(testN759180); - CPPUNIT_TEST(testN778859); ---- libreoffice-6.0.0.3/sw/qa/extras/uiwriter/uiwriter.cxx~ 2018-01-24 21:31:03.000000000 +0100 -+++ libreoffice-6.0.0.3/sw/qa/extras/uiwriter/uiwriter.cxx 2018-02-02 08:41:59.126211831 +0100 -@@ -532,7 +532,6 @@ public: - CPPUNIT_TEST(testTdf114306_2); - CPPUNIT_TEST(testTdf113481); - CPPUNIT_TEST(testTdf115013); -- CPPUNIT_TEST(testTdf114536); - CPPUNIT_TEST(testTdf115065); - CPPUNIT_TEST(testTdf115132); - CPPUNIT_TEST(testXDrawPagesSupplier); - + CPPUNIT_TEST(testTdf142913); + CPPUNIT_TEST(testTdf142590); + CPPUNIT_TEST(testCustomSlideShow); --- libreoffice-6.3.0.4/dbaccess/Module_dbaccess.mk~ 2019-08-06 19:26:35.000000000 +0200 +++ libreoffice-6.3.0.4/dbaccess/Module_dbaccess.mk 2019-08-09 09:06:37.432422956 +0200 -@@ -33,24 +33,6 @@ +@@ -33,18 +33,6 @@ )) ifneq ($(OS),iOS) @@ -32,12 +21,6 @@ - $(if $(ENABLE_JAVA),CppunitTest_dbaccess_tdf126268) \ -)) - --# remove if we have a be file for this --ifeq ($(ENDIANNESS),little) --$(eval $(call gb_Module_add_check_targets,dbaccess,\ -- CppunitTest_dbaccess_firebird_regression_test \ --)) --endif -$(eval $(call gb_Module_add_check_targets,dbaccess,\ - CppunitTest_dbaccess_firebird_test \ -)) diff --git a/gcc11.patch b/gcc11.patch deleted file mode 100644 index b7d5eb8..0000000 --- a/gcc11.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8830cf86b146b1252ac37f351a23246088d569b0 Mon Sep 17 00:00:00 2001 -From: Jeff Law -Date: Tue, 3 Nov 2020 08:05:03 -0700 -Subject: [PATCH] include cstddef for gcc11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I2f845ce9bb660ad6c1eea80ea81dd71add2c0db1 -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107191 -Tested-by: Jenkins -Reviewed-by: Caolán McNamara ---- - include/o3tl/lru_map.hxx | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/o3tl/lru_map.hxx b/include/o3tl/lru_map.hxx -index c7132fd079c43..96fb3161782d7 100644 ---- a/include/o3tl/lru_map.hxx -+++ b/include/o3tl/lru_map.hxx -@@ -14,6 +14,7 @@ - #include - #include - #include -+#include - - namespace o3tl - { diff --git a/libreoffice-upgrade-liborcus-to-0.16.0.patch b/libreoffice-upgrade-liborcus-to-0.16.0.patch deleted file mode 100644 index cc137c4..0000000 --- a/libreoffice-upgrade-liborcus-to-0.16.0.patch +++ /dev/null @@ -1,805 +0,0 @@ -From 9ffb1f6ac0f11fd446fd0e84b8dc69898691b4d3 Mon Sep 17 00:00:00 2001 -From: Kohei Yoshida -Date: Wed, 9 Sep 2020 21:23:48 -0400 -Subject: [PATCH] Upgrade liborcus to 0.16.0. - -Change-Id: Iae29fb26417dfc161698a81bee84e81545969065 -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102502 -Tested-by: Jenkins -Reviewed-by: Kohei Yoshida ---- - RepositoryExternal.mk | 4 +- - configure.ac | 2 +- - download.lst | 4 +- - ...k-all-untentionally-unused-variables.patch | 376 ++++++++++++++++++ - external/liborcus/ExternalPackage_liborcus.mk | 8 +- - external/liborcus/ExternalProject_liborcus.mk | 4 +- - external/liborcus/Library_orcus-parser.mk | 1 + - external/liborcus/Library_orcus.mk | 4 + - external/liborcus/UnpackedTarball_liborcus.mk | 1 + - .../liborcus/windows-constants-hack.patch | 2 +- - sc/source/filter/inc/orcusinterface.hxx | 21 +- - sc/source/filter/orcus/interface.cxx | 82 ++-- - sc/source/filter/orcus/xmlcontext.cxx | 7 +- - sc/source/ui/xmlsource/xmlsourcedlg.cxx | 6 +- - 14 files changed, 475 insertions(+), 47 deletions(-) - create mode 100644 external/liborcus/0001-Mark-all-untentionally-unused-variables.patch - -diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk -index 7f623ac..df765fa 100644 ---- a/RepositoryExternal.mk -+++ b/RepositoryExternal.mk -@@ -3281,7 +3281,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.15 \ -+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.16 \ - ) - - $(if $(SYSTEM_BOOST), \ -@@ -3300,7 +3300,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.15 \ -+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.16 \ - ) - - endef -diff --git a/configure.ac b/configure.ac -index ce14b54..36342b1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -9827,7 +9827,7 @@ AC_SUBST(ENABLE_FUZZERS) - dnl =================================================================== - dnl Orcus - dnl =================================================================== --libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.15 >= 0.15.0]) -+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.16 >= 0.16.0]) - if test "$with_system_orcus" != "yes"; then - if test "$SYSTEM_BOOST" = "TRUE"; then - # =========================================================== -diff --git a/download.lst b/download.lst -index 6398a09..1f3b4b1 100644 ---- a/download.lst -+++ b/download.lst -@@ -196,8 +196,8 @@ - export OPENLDAP_TARBALL := openldap-2.4.45.tgz - export OPENSSL_SHA256SUM := 14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc - export OPENSSL_TARBALL := openssl-1.0.2t.tar.gz --export ORCUS_SHA256SUM := 0dd26f3f2e611c51df9ee02d6dbf08887989eaa417b73f6877cd0d94df795fc2 --export ORCUS_TARBALL := liborcus-0.15.3.tar.gz -+export ORCUS_SHA256SUM := 854c6ec167ace59baa2984e175bac7b5b2af91bfde4bb10d2088b87a51ed76ec -+export ORCUS_TARBALL := liborcus-0.16.0.tar.bz2 - 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 := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d -diff --git a/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch -new file mode 100644 -index 0000000..b0f6a57 ---- /dev/null -+++ b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch -@@ -0,0 +1,376 @@ -+From 6d34c41b661a9e8dddf6d08bf1f3c1fd4f5581da Mon Sep 17 00:00:00 2001 -+From: Kohei Yoshida -+Date: Fri, 11 Sep 2020 21:39:09 -0400 -+Subject: [PATCH] Mark all untentionally unused variables. -+ -+--- -+ include/orcus/css_parser.hpp | 70 ++++++++++++++++++++++++------ -+ include/orcus/csv_parser.hpp | 5 ++- -+ include/orcus/json_parser.hpp | 15 +++++-- -+ include/orcus/sax_parser.hpp | 35 ++++++++++++--- -+ include/orcus/sax_token_parser.hpp | 20 +++++++-- -+ include/orcus/yaml_parser.hpp | 10 ++++- -+ 6 files changed, 124 insertions(+), 31 deletions(-) -+ -+diff --git a/include/orcus/css_parser.hpp b/include/orcus/css_parser.hpp -+index cdfae5e0..3e96980b 100644 -+--- a/include/orcus/css_parser.hpp -++++ b/include/orcus/css_parser.hpp -+@@ -31,23 +31,44 @@ namespace orcus { -+ class css_handler -+ { -+ public: -+- void at_rule_name(const char* p, size_t n) {} -++ void at_rule_name(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+- void simple_selector_type(const char* p, size_t n) {} -++ void simple_selector_type(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+- void simple_selector_class(const char* p, size_t n) {} -++ void simple_selector_class(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+- void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) {} -++ void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) -++ { -++ (void)pe; -++ } -+ -+- void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) {} -++ void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) -++ { -++ (void)pc; -++ } -+ -+- void simple_selector_id(const char* p, size_t n) {} -++ void simple_selector_id(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+ void end_simple_selector() {} -+ -+ void end_selector() {} -+ -+- void combinator(orcus::css::combinator_t combinator) {} -++ void combinator(orcus::css::combinator_t combinator) -++ { -++ (void)combinator; -++ } -+ -+ /** -+ * Called at each property name. -+@@ -55,7 +76,10 @@ public: -+ * @param p pointer to the char-array containing the property name string. -+ * @param n length of the property name string. -+ */ -+- void property_name(const char* p, size_t n) {} -++ void property_name(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+ /** -+ * Called at each ordinary property value string. -+@@ -63,7 +87,10 @@ public: -+ * @param p pointer to the char-array containing the value string. -+ * @param n length of the value string. -+ */ -+- void value(const char* p, size_t n) {} -++ void value(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+ /** -+ * Called at each RGB color value of a property. -+@@ -72,7 +99,10 @@ public: -+ * @param green value of green (0-255) -+ * @param blue value of blue (0-255) -+ */ -+- void rgb(uint8_t red, uint8_t green, uint8_t blue) {} -++ void rgb(uint8_t red, uint8_t green, uint8_t blue) -++ { -++ (void)red; (void)green; (void)blue; -++ } -+ -+ /** -+ * Called at each RGB color value of a property with alpha transparency -+@@ -83,7 +113,10 @@ public: -+ * @param blue value of blue (0-255) -+ * @param alpha alpha transparency value -+ */ -+- void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) {} -++ void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) -++ { -++ (void)red; (void)green; (void)blue; (void)alpha; -++ } -+ -+ /** -+ * Called at each HSL color value of a property. -+@@ -92,7 +125,10 @@ public: -+ * @param sat saturation -+ * @param light lightness -+ */ -+- void hsl(uint8_t hue, uint8_t sat, uint8_t light) {} -++ void hsl(uint8_t hue, uint8_t sat, uint8_t light) -++ { -++ (void)hue; (void)sat; (void)light; -++ } -+ -+ /** -+ * Called at each HSL color value of a property with alpha transparency -+@@ -103,7 +139,10 @@ public: -+ * @param light lightness -+ * @param alpha alpha value -+ */ -+- void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) {} -++ void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) -++ { -++ (void)hue; (void)sat; (void)light; (void)alpha; -++ } -+ -+ /** -+ * Called at each URL value of a property. -+@@ -111,7 +150,10 @@ public: -+ * @param p pointer to the char-array containing the URL value string. -+ * @param n length of the URL value string. -+ */ -+- void url(const char* p, size_t n) {} -++ void url(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+ /** -+ * Called when the parsing begins. -+diff --git a/include/orcus/csv_parser.hpp b/include/orcus/csv_parser.hpp -+index a873b0f2..27b4f924 100644 -+--- a/include/orcus/csv_parser.hpp -++++ b/include/orcus/csv_parser.hpp -+@@ -47,7 +47,10 @@ public: -+ * the text content is guaranteed to be valid so long as -+ * the original CSV stream content is valid. -+ */ -+- void cell(const char* p, size_t n, bool transient) {} -++ void cell(const char* p, size_t n, bool transient) -++ { -++ (void)p; (void)n; (void)transient; -++ } -+ }; -+ -+ template -+diff --git a/include/orcus/json_parser.hpp b/include/orcus/json_parser.hpp -+index 51a3d7cc..ef22b3a8 100644 -+--- a/include/orcus/json_parser.hpp -++++ b/include/orcus/json_parser.hpp -+@@ -54,7 +54,10 @@ public: -+ * pointer points to somewhere in the JSON stream being -+ * parsed. -+ */ -+- void object_key(const char* p, size_t len, bool transient) {} -++ void object_key(const char* p, size_t len, bool transient) -++ { -++ (void)p; (void)len; (void)transient; -++ } -+ -+ /** -+ * Called when the closing curly brace of an object is encountered. -+@@ -87,14 +90,20 @@ public: -+ * pointer points to somewhere in the JSON stream being -+ * parsed. -+ */ -+- void string(const char* p, size_t len, bool transient) {} -++ void string(const char* p, size_t len, bool transient) -++ { -++ (void)p; (void)len; (void)transient; -++ } -+ -+ /** -+ * Called when a numeric value is encountered. -+ * -+ * @param val numeric value. -+ */ -+- void number(double val) {} -++ void number(double val) -++ { -++ (void)val; -++ } -+ }; -+ -+ /** -+diff --git a/include/orcus/sax_parser.hpp b/include/orcus/sax_parser.hpp -+index 73c17d06..3b21bfdf 100644 -+--- a/include/orcus/sax_parser.hpp -++++ b/include/orcus/sax_parser.hpp -+@@ -30,7 +30,10 @@ public: -+ * -+ * @param param struct containing doctype declaration data. -+ */ -+- void doctype(const orcus::sax::doctype_declaration& param) {} -++ void doctype(const orcus::sax::doctype_declaration& param) -++ { -++ (void)param; -++ } -+ -+ /** -+ * Called when <?... is encountered, where the '...' may be an -+@@ -39,28 +42,40 @@ public: -+ * -+ * @param decl name of the identifier. -+ */ -+- void start_declaration(const orcus::pstring& decl) {} -++ void start_declaration(const orcus::pstring& decl) -++ { -++ (void)decl; -++ } -+ -+ /** -+ * Called when the closing tag (>) of a <?... ?> is encountered. -+ * -+ * @param decl name of the identifier. -+ */ -+- void end_declaration(const orcus::pstring& decl) {} -++ void end_declaration(const orcus::pstring& decl) -++ { -++ (void)decl; -++ } -+ -+ /** -+ * Called at the start of each element. -+ * -+ * @param elem information of the element being parsed. -+ */ -+- void start_element(const orcus::sax::parser_element& elem) {} -++ void start_element(const orcus::sax::parser_element& elem) -++ { -++ (void)elem; -++ } -+ -+ /** -+ * Called at the end of each element. -+ * -+ * @param elem information of the element being parsed. -+ */ -+- void end_element(const orcus::sax::parser_element& elem) {} -++ void end_element(const orcus::sax::parser_element& elem) -++ { -++ (void)elem; -++ } -+ -+ /** -+ * Called when a segment of a text content is parsed. Each text content -+@@ -76,7 +91,10 @@ public: -+ * a non-text value or be interned within the scope of -+ * the callback. -+ */ -+- void characters(const orcus::pstring& val, bool transient) {} -++ void characters(const orcus::pstring& val, bool transient) -++ { -++ (void)val; (void)transient; -++ } -+ -+ /** -+ * Called upon parsing of an attribute of an element. Note that when -+@@ -86,7 +104,10 @@ public: -+ * -+ * @param attr struct containing attribute information. -+ */ -+- void attribute(const orcus::sax::parser_attribute& attr) {} -++ void attribute(const orcus::sax::parser_attribute& attr) -++ { -++ (void)attr; -++ } -+ }; -+ -+ /** -+diff --git a/include/orcus/sax_token_parser.hpp b/include/orcus/sax_token_parser.hpp -+index 1452bc27..6b1b1de4 100644 -+--- a/include/orcus/sax_token_parser.hpp -++++ b/include/orcus/sax_token_parser.hpp -+@@ -71,7 +71,10 @@ public: -+ * -+ * @param decl struct containing the attributes of the XML declaration. -+ */ -+- void declaration(const orcus::xml_declaration_t& decl) {} -++ void declaration(const orcus::xml_declaration_t& decl) -++ { -++ (void)decl; -++ } -+ -+ /** -+ * Called at the start of each element. -+@@ -79,7 +82,10 @@ public: -+ * @param elem struct containing the element's information as well as all -+ * the attributes that belong to the element. -+ */ -+- void start_element(const orcus::xml_token_element_t& elem) {} -++ void start_element(const orcus::xml_token_element_t& elem) -++ { -++ (void)elem; -++ } -+ -+ /** -+ * Called at the end of each element. -+@@ -87,7 +93,10 @@ public: -+ * @param elem struct containing the element's information as well as all -+ * the attributes that belong to the element. -+ */ -+- void end_element(const orcus::xml_token_element_t& elem) {} -++ void end_element(const orcus::xml_token_element_t& elem) -++ { -++ (void)elem; -++ } -+ -+ /** -+ * Called when a segment of a text content is parsed. Each text content -+@@ -103,7 +112,10 @@ public: -+ * a non-text value or be interned within the scope of -+ * the callback. -+ */ -+- void characters(const orcus::pstring& val, bool transient) {} -++ void characters(const orcus::pstring& val, bool transient) -++ { -++ (void)val; (void)transient; -++ } -+ }; -+ -+ /** -+diff --git a/include/orcus/yaml_parser.hpp b/include/orcus/yaml_parser.hpp -+index 797ebbec..8d16fbc7 100644 -+--- a/include/orcus/yaml_parser.hpp -++++ b/include/orcus/yaml_parser.hpp -+@@ -72,14 +72,20 @@ public: -+ * @param p pointer to the first character of the string value. -+ * @param len length of the string value. -+ */ -+- void string(const char* p, size_t n) {} -++ void string(const char* p, size_t n) -++ { -++ (void)p; (void)n; -++ } -+ -+ /** -+ * Called when a numeric value is encountered. -+ * -+ * @param val numeric value. -+ */ -+- void number(double val) {} -++ void number(double val) -++ { -++ (void)val; -++ } -+ -+ /** -+ * Called when a boolean 'true' keyword is encountered. -+-- -+2.25.1 -+ -diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk -index 21dd1bf..7476918 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.15.0.dylib,src/liborcus/.libs/liborcus-0.15.0.dylib)) --$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.0.dylib,src/parser/.libs/liborcus-parser-0.15.0.dylib)) -+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.0.dylib,src/liborcus/.libs/liborcus-0.16.0.dylib)) -+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.0.dylib,src/parser/.libs/liborcus-parser-0.16.0.dylib)) - else ifeq ($(DISABLE_DYNLOADING),) --$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.so.0,src/liborcus/.libs/liborcus-0.15.so.0.0.0)) --$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.so.0,src/parser/.libs/liborcus-parser-0.15.so.0.0.0)) -+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.so.0,src/liborcus/.libs/liborcus-0.16.so.0.0.0)) -+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.so.0,src/parser/.libs/liborcus-parser-0.16.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 38658cc..3671294 100644 ---- a/external/liborcus/ExternalProject_liborcus.mk -+++ b/external/liborcus/ExternalProject_liborcus.mk -@@ -122,8 +122,8 @@ - $(MAKE) \ - $(if $(filter MACOSX,$(OS)),\ - && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ -- $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.15.0.dylib \ -- $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.15.0.dylib \ -+ $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.16.0.dylib \ -+ $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.16.0.dylib \ - ) \ - ) - -diff --git a/external/liborcus/Library_orcus-parser.mk b/external/liborcus/Library_orcus-parser.mk -index d3cbddb..4e46591 100644 ---- a/external/liborcus/Library_orcus-parser.mk -+++ b/external/liborcus/Library_orcus-parser.mk -@@ -63,6 +63,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus-parser,\ - UnpackedTarball/liborcus/src/parser/tokens \ - UnpackedTarball/liborcus/src/parser/types \ - UnpackedTarball/liborcus/src/parser/xml_namespace \ -+ UnpackedTarball/liborcus/src/parser/xml_writer \ - UnpackedTarball/liborcus/src/parser/yaml_parser_base \ - UnpackedTarball/liborcus/src/parser/zip_archive \ - UnpackedTarball/liborcus/src/parser/zip_archive_stream \ -diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk -index ea99e75..0a0ca58 100644 ---- a/external/liborcus/Library_orcus.mk -+++ b/external/liborcus/Library_orcus.mk -@@ -85,6 +85,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ - UnpackedTarball/liborcus/src/liborcus/odf_tokens \ - UnpackedTarball/liborcus/src/liborcus/ods_content_xml_context \ - UnpackedTarball/liborcus/src/liborcus/ods_content_xml_handler \ -+ UnpackedTarball/liborcus/src/liborcus/ods_dde_links_context \ - UnpackedTarball/liborcus/src/liborcus/ods_session_data \ - UnpackedTarball/liborcus/src/liborcus/ooxml_content_types \ - UnpackedTarball/liborcus/src/liborcus/ooxml_global \ -@@ -103,6 +104,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ - 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 \ - UnpackedTarball/liborcus/src/liborcus/session_context \ - UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \ -@@ -134,7 +136,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ - UnpackedTarball/liborcus/src/liborcus/xml_simple_stream_handler \ - UnpackedTarball/liborcus/src/liborcus/xml_stream_handler \ - UnpackedTarball/liborcus/src/liborcus/xml_stream_parser \ -+ UnpackedTarball/liborcus/src/liborcus/xml_structure_mapper \ - UnpackedTarball/liborcus/src/liborcus/xml_structure_tree \ -+ UnpackedTarball/liborcus/src/liborcus/xpath_parser \ - UnpackedTarball/liborcus/src/liborcus/yaml_document_tree \ - )) - -diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk -index e5e33b0..4736dbc 100644 ---- a/external/liborcus/UnpackedTarball_liborcus.mk -+++ b/external/liborcus/UnpackedTarball_liborcus.mk -@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ - external/liborcus/gcc9.patch.0 \ - external/liborcus/libtool.patch.0 \ - external/liborcus/fix-pch.patch.0 \ -+ external/liborcus/0001-Mark-all-untentionally-unused-variables.patch \ - )) - - ifeq ($(OS),WNT) -diff --git a/external/liborcus/windows-constants-hack.patch b/external/liborcus/windows-constants-hack.patch -index 876bc16..51aabfa 100644 ---- a/external/liborcus/windows-constants-hack.patch -+++ b/external/liborcus/windows-constants-hack.patch -@@ -8,7 +8,7 @@ index ae571f5..539ce18 100644 - - -#include "constants.inl" - +#define ORCUS_MAJOR_VERSION 0 --+#define ORCUS_MINOR_VERSION 11 -++#define ORCUS_MINOR_VERSION 16 - +#define ORCUS_MICRO_VERSION 0 - - namespace orcus { -diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx -index b298c71..00aea67 100644 ---- a/sc/source/filter/inc/orcusinterface.hxx -+++ b/sc/source/filter/inc/orcusinterface.hxx -@@ -62,6 +62,11 @@ public: - { - return mnTextEncoding; - } -+ -+ ScDocumentImport& getDoc() const -+ { -+ return mrDoc; -+ } - }; - - class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_resolver -@@ -81,20 +81,28 @@ - public: - ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS ); - -- orcus::spreadsheet::address_t resolve_address(const char* p, size_t n) override; -- orcus::spreadsheet::range_t resolve_range(const char* p, size_t n) override; -+ orcus::spreadsheet::src_address_t resolve_address(const char* p, size_t n) override; -+ orcus::spreadsheet::src_range_t resolve_range(const char* p, size_t n) override; - }; - - class ScOrcusNamedExpression : public orcus::spreadsheet::iface::import_named_expression - { - ScDocumentImport& mrDoc; - const ScOrcusGlobalSettings& mrGlobalSettings; -- SCTAB const mnTab; //< negative if global, else >= 0 for sheet-local named expressions. -+ ScAddress maBasePos; -+ OUString maName; -+ OUString maExpr; -+ const SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions. - - public: - ScOrcusNamedExpression( ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab = -1 ); - -- virtual void define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override; -+ void reset(); -+ -+ virtual void set_base_position(const orcus::spreadsheet::src_address_t& pos) override; -+ virtual void set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override; -+ virtual void set_named_range(const char* p_name, size_t n_name, const char* p_range, size_t n_range) override; -+ virtual void commit() override; - }; - - class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings -diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx -index 220f7ce..aa96eb2 100644 ---- a/sc/source/filter/orcus/interface.cxx -+++ b/sc/source/filter/orcus/interface.cxx -@@ -46,6 +46,7 @@ - #include - - #include -+#include - - using namespace com::sun::star; - -@@ -158,51 +159,54 @@ orcus::spreadsheet::formula_grammar_t ScOrcusGlobalSettings::get_default_formula - ScOrcusRefResolver::ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS ) : - mrGlobalSettings(rGS) {} - --os::address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n) -+os::src_address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n) - { - OUString aStr(p, n, mrGlobalSettings.getTextEncoding()); - - ScAddress aAddr; -- aAddr.Parse(aStr, nullptr, -+ aAddr.Parse(aStr, &mrGlobalSettings.getDoc().getDoc(), - formula::FormulaGrammar::extractRefConvention( - mrGlobalSettings.getCalcGrammar())); - -- os::address_t ret; -- ret.column = 0; -- ret.row = 0; -- -- if (aAddr.IsValid()) -+ if (!aAddr.IsValid()) - { -- ret.column = aAddr.Col(); -- ret.row = aAddr.Row(); -+ std::ostringstream os; -+ os << "'" << std::string(p, n) << "' is not a valid address expression."; -+ throw orcus::invalid_arg_error(os.str()); - } - -+ os::src_address_t ret; -+ ret.sheet = aAddr.Tab(); -+ ret.column = aAddr.Col(); -+ ret.row = aAddr.Row(); -+ - return ret; - } - --os::range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n) -+os::src_range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n) - { - OUString aStr(p, n, mrGlobalSettings.getTextEncoding()); - - ScRange aRange; -- aRange.Parse(aStr, nullptr, -+ aRange.Parse(aStr, &mrGlobalSettings.getDoc().getDoc(), - formula::FormulaGrammar::extractRefConvention( - mrGlobalSettings.getCalcGrammar())); - -- os::range_t ret; -- ret.first.column = 0; -- ret.first.row = 0; -- ret.last.column = 0; -- ret.last.row = 0; -- -- if (aRange.IsValid()) -+ if (!aRange.IsValid()) - { -- ret.first.column = aRange.aStart.Col(); -- ret.first.row = aRange.aStart.Row(); -- ret.last.column = aRange.aEnd.Col(); -- ret.last.row = aRange.aEnd.Row(); -+ std::ostringstream os; -+ os << "'" << std::string(p, n) << "' is not a valid range expression."; -+ throw orcus::invalid_arg_error(os.str()); - } - -+ os::src_range_t ret; -+ ret.first.sheet = aRange.aStart.Tab(); -+ ret.first.column = aRange.aStart.Col(); -+ ret.first.row = aRange.aStart.Row(); -+ ret.last.sheet = aRange.aEnd.Tab(); -+ ret.last.column = aRange.aEnd.Col(); -+ ret.last.row = aRange.aEnd.Row(); -+ - return ret; - } - -@@ -210,20 +214,46 @@ ScOrcusNamedExpression::ScOrcusNamedExpression( - ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab ) : - mrDoc(rDoc), mrGlobalSettings(rGS), mnTab(nTab) {} - --void ScOrcusNamedExpression::define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) -+void ScOrcusNamedExpression::reset() -+{ -+ maBasePos.SetTab(0); -+ maBasePos.SetCol(0); -+ maBasePos.SetRow(0); -+ maName.clear(); -+ maExpr.clear(); -+} -+ -+void ScOrcusNamedExpression::set_base_position(const orcus::spreadsheet::src_address_t& pos) -+{ -+ maBasePos.SetTab(pos.sheet); -+ maBasePos.SetCol(pos.column); -+ maBasePos.SetRow(pos.row); -+} -+ -+void ScOrcusNamedExpression::set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) -+{ -+ maName = OUString(p_name, n_name, mrGlobalSettings.getTextEncoding()); -+ maExpr = OUString(p_exp, n_exp, mrGlobalSettings.getTextEncoding()); -+} -+ -+void ScOrcusNamedExpression::set_named_range(const char* /*p_name*/, size_t /*n_name*/, const char* /*p_range*/, size_t /*n_range*/) - { -- OUString aName(p_name, n_name, mrGlobalSettings.getTextEncoding()); -- OUString aExpr(p_exp, n_exp, mrGlobalSettings.getTextEncoding()); -+ throw std::runtime_error("ScOrcusNamedExpression::set_named_range not implemented yet."); -+} - -+void ScOrcusNamedExpression::commit() -+{ - ScRangeName* pNames = mnTab >= 0 ? mrDoc.getDoc().GetRangeName(mnTab) : mrDoc.getDoc().GetRangeName(); - if (!pNames) - return; - - ScRangeData* pRange = new ScRangeData( -- &mrDoc.getDoc(), aName, aExpr, ScAddress(), ScRangeData::Type::Name, -+ &mrDoc.getDoc(), maName, maExpr, maBasePos, ScRangeData::Type::Name, - mrGlobalSettings.getCalcGrammar()); - - pNames->insert(pRange, false); -+ -+ reset(); // make sure to reset the state for the next run. - } - - ScOrcusFactory::CellStoreToken::CellStoreToken(const ScAddress& rPos, Type eType) -diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx -index ab16ae6..09f3ba9 100644 ---- a/sc/source/filter/orcus/xmlcontext.cxx -+++ b/sc/source/filter/orcus/xmlcontext.cxx -@@ -89,10 +89,9 @@ void populateTree( - rTreeCtrl.set_image(*xEntry, rParam.maImgElementRepeat, -1); - } - -- orcus::xml_structure_tree::entity_names_type aNames; -+ orcus::xml_structure_tree::entity_names_type aNames = rWalker.get_attributes(); - - // Insert attributes. -- rWalker.get_attributes(aNames); - for (const orcus::xml_structure_tree::entity_name& rAttrName : aNames) - { - OUString sAttr(toString(rAttrName, rWalker)); -@@ -106,7 +105,7 @@ void populateTree( - rTreeCtrl.set_image(*xAttr, rParam.maImgAttribute, -1); - } - -- rWalker.get_children(aNames); -+ aNames = rWalker.get_children(); - - // Non-leaf if it has child elements, leaf otherwise. - rEntryData.mbLeafNode = aNames.empty(); -@@ -266,7 +265,7 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam) - std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(), - [&filter](const OString& rFieldPath) - { -- filter.append_field_link(rFieldPath.getStr()); -+ filter.append_field_link(rFieldPath.getStr(), orcus::pstring()); - } - ); - -diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx -index 1eb2e4b..167ecae 100644 ---- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx -+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx -@@ -49,8 +49,12 @@ OUString getXPath( - if (pData) - rNamespaces.push_back(pData->mnNamespaceID); - -+ // element separator is '/' whereas attribute separator is '/@' in xpath. - aBuf.insert(0, rTree.get_text(*xEntry, 0)); -- aBuf.insert(0, isAttribute(rTree, *xEntry) ? '@' : '/'); -+ if (isAttribute(rTree, *xEntry)) -+ aBuf.insert(0, "/@"); -+ else -+ aBuf.insert(0, '/'); - } - while (rTree.iter_parent(*xEntry)); - --- -2.26.2 - diff --git a/libreoffice.spec b/libreoffice.spec index b2b8de1..35b157f 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -33,6 +33,7 @@ %bcond_with system_agg # system agg library (not supported as of 6.4.x, pdfium uses included version) %bcond_without system_beanshell # system Java BeanShell library +%bcond_with system_cmis # system libcmis library (build fails) %bcond_with system_coinmp # system CoinMP library (not in PLD yet) %bcond_with system_hsqldb # system Java HSQLDB library %bcond_without system_hunspell # system hunspell library @@ -53,29 +54,29 @@ %define with_qt5 1 %endif -%define major_ver 6.4.7 +%define major_ver 7.2.0 %define qt5_ver 5.6 Summary: LibreOffice - powerful office suite Summary(pl.UTF-8): LibreOffice - potężny pakiet biurowy Name: libreoffice -Version: %{major_ver}.2 -Release: 6 +Version: %{major_ver}.3 +Release: 1 License: GPL/LGPL Group: X11/Applications Source0: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-%{version}.tar.xz -# Source0-md5: 123a79615835b84e63db0e73616de42d +# Source0-md5: 2e994b22a38dfd4e76d90552566ad533 Source1: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-dictionaries-%{version}.tar.xz -# Source1-md5: 83110d0469eac3c6eb02706f9c971d89 +# Source1-md5: a92d627c04334cb56f9b722e1e2be78c Source2: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-help-%{version}.tar.xz -# Source2-md5: 12d7df4d251c3a12cc328b7386b85883 +# Source2-md5: 70a9677a664e4ed0153524e803cea16e Source3: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-translations-%{version}.tar.xz -# Source3-md5: 4c56cbcfea204bd0ee0ad4ddc37c0283 +# Source3-md5: 30537a2522c857b024a8f7309bba4fdd # make (download|fetch) DO_FETCH_TARBALLS=1 WGET=wget # but not sure if all are needed? -Source20: http://dev-www.libreoffice.org/src/pdfium-4137.tar.bz2 -# Source20-md5: f9524b0fa40702d2891d0f8ae612adbf +Source20: http://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2 +# Source20-md5: d9bc09c21cbbc7053b9678f2a9b761ae Source21: http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip # Source21-md5: 17410483b5b5f267aa18b7e00b65e6e0 Source22: http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz @@ -86,20 +87,26 @@ Source24: http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-uc # Source24-md5: 0168229624cfac409e766913506961a8 Source25: http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip # Source25-md5: 35c94d2df8893241173de1d16b6034c0 -Source26: https://dev-www.libreoffice.org/extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar -# Source26-md5: 52edf061bc1063dd624cf69170db4d5f +Source26: https://dev-www.libreoffice.org/extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar +# Source26-md5: 80e162d2adfd99057d1e0c62c3883364 Source27: http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip # Source27-md5: a7983f859eafb2677d7ff386a023bc40 -Source28: https://dev-www.libreoffice.org/extern/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf -# Source28-md5: 866ba2ca4188f1610b121dfd514a17e8 +Source28: https://dev-www.libreoffice.org/extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf +# Source28-md5: 09c7414a011363c72248c7bf3a23d758 Source29: https://dev-www.libreoffice.org/src/QR-Code-generator-1.4.0.tar.gz # Source29-md5: 0e81d36829be287ff27ae802e0587463 Source30: https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # Source30-md5: 8249374c274932a21846fa7629c2aa9b +Source31: https://dev-www.libreoffice.org/src/dtoa-20180411.tgz +# Source31-md5: 4295bad62b2524793d8a7ba3e7385501 +Source32: https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz +# Source32-md5: 76729a69e8ab04f49987c7aa701cadc4 +Source33: https://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz +# Source33-md5: 3653bc54e1bcd17ae09a1a7086daa38b +Source34: skia-freetype2.11.patch Patch0: disable-failing-test.patch -Patch1: %{name}-upgrade-liborcus-to-0.16.0.patch -Patch2: gcc11.patch +Patch1: pld-skia-patches.patch URL: http://www.documentfoundation.org/ BuildRequires: /usr/bin/getopt @@ -114,7 +121,8 @@ BuildRequires: automake >= 1:1.9 BuildRequires: bash BuildRequires: bison >= 2.0 BuildRequires: bluez-libs-devel -BuildRequires: boost-devel >= 1.47 +BuildRequires: boost-devel >= 1.66 +BuildRequires: box2d-devel BuildRequires: cairo-devel >= 1.8.0 %{?with_ccache:BuildRequires: ccache} BuildRequires: clucene-core-devel >= 2.3 @@ -137,7 +145,7 @@ BuildRequires: gpgme-c++-devel BuildRequires: graphite2-devel >= 0.9.3 BuildRequires: gstreamer-devel >= 1.0 BuildRequires: gstreamer-plugins-base-devel >= 1.0 -%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.18} +%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.20} BuildRequires: harfbuzz-icu-devel >= 0.9.42 %{?with_system_hunspell:BuildRequires: hunspell-devel >= 1.2.2} %{?with_system_hyphen:BuildRequires: hyphen-devel} @@ -175,7 +183,7 @@ BuildRequires: libjpeg-devel BuildRequires: liblangtag-devel >= 0.4.0 BuildRequires: libmspub-devel >= 0.1 BuildRequires: libmwaw-devel >= 0.3.1 -BuildRequires: libnumbertext-devel >= 1.0.0 +BuildRequires: libnumbertext-devel >= 1.0.6 BuildRequires: libodfgen-devel >= 0.1.1 BuildRequires: liborcus-devel >= 0.16.0 BuildRequires: libpagemaker-devel >= 0.0.2 @@ -202,7 +210,7 @@ BuildRequires: mdds-devel >= 1.5.0 %{?with_mono:BuildRequires: mono-static >= 1.2.3} BuildRequires: mysql-devel >= 5 BuildRequires: mythes-devel >= 1.2 -BuildRequires: neon-devel >= 0.26.0 +BuildRequires: neon-devel >= 0.31.2 BuildRequires: nspr-devel >= 1:4.8 BuildRequires: nss-devel >= 1:3.10 BuildRequires: openldap-devel @@ -211,7 +219,7 @@ BuildRequires: pango-devel >= 1:1.17.3 BuildRequires: perl-Archive-Zip BuildRequires: perl-base >= 5 BuildRequires: perl-devel >= 5 -BuildRequires: pkgconfig +BuildRequires: pkgconfig >= 1:0.9.0 BuildRequires: poppler-cpp-devel >= 0.12.0 BuildRequires: poppler-devel >= 0.12.0 %{?with_pgsql:BuildRequires: postgresql-devel} @@ -226,6 +234,7 @@ BuildRequires: sane-backends-devel BuildRequires: sed >= 4.0 BuildRequires: startup-notification-devel >= 0.5 BuildRequires: systemtap-sdt-devel +BuildRequires: tar >= 1:1.22 BuildRequires: unixODBC-devel >= 2.2.12-2 BuildRequires: unzip BuildRequires: xmlsec1-nss-devel >= 1.2.28 @@ -237,13 +246,14 @@ BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXrandr-devel >= 1.2 BuildRequires: xorg-lib-libXrender-devel +BuildRequires: xz BuildRequires: zip >= 3.0 BuildRequires: zlib-devel %if %{with java} BuildRequires: ant >= 1.7.0 BuildRequires: ant-apache-regexp -BuildRequires: jdk >= 1.8 -BuildRequires: jre-X11 >= 1.8 +BuildRequires: jdk >= 1.9 +BuildRequires: jre >= 1.9 %endif %if %{with kde5} BuildRequires: kf5-kconfig-devel >= 5.0 @@ -344,7 +354,7 @@ Summary(pl.UTF-8): Interfejs GTK+ 3 dla LibreOffice Group: X11/Libraries Requires: %{name}-core = %{version}-%{release} Requires: glib2 >= 1:2.38 -Requires: gtk+3 >= 3.18 +Requires: gtk+3 >= 3.20 Obsoletes: libreoffice-libs-gtk-common < 6.4.5.2-1 Obsoletes: libreoffice-libs-gtk2 < 6.4.5.2-1 @@ -403,7 +413,7 @@ Requires: libpagemaker >= 0.0.2 Requires: libraptor2 >= 2.0.7 Requires: librevenge >= 0.0.1 Requires: mktemp -Requires: neon >= 0.26.0 +Requires: neon >= 0.31.2 Requires: nspr >= 1:4.8 Requires: nss >= 1:3.10 Requires: redland >= 1.0.16 @@ -2843,7 +2853,6 @@ oraz narzędzie ui-previewer do sprawdzania wyglądu okien dialogowych. %setup -q -a1 -a2 -a3 %patch0 -p1 %patch1 -p1 -%patch2 -p1 for dir in *-%{version}; do [ -f $dir/ChangeLog ] && %{__mv} $dir/ChangeLog ChangeLog-$dir @@ -2863,8 +2872,15 @@ ln %{SOURCE27} ext_sources ln %{SOURCE28} ext_sources ln %{SOURCE29} ext_sources ln %{SOURCE30} ext_sources +ln %{SOURCE31} ext_sources +ln %{SOURCE32} ext_sources +%if %{without system_cmis} +ln %{SOURCE33} ext_sources +%endif :> src.downloaded +ln %{SOURCE34} external/skia + %build # Make sure we have /proc mounted - otherwise idlc will fail later. if [ ! -f /proc/cpuinfo ]; then @@ -2889,9 +2905,6 @@ export CXX="%{__cxx}" export CPP="%{__cpp}" export IGNORE_MANIFEST_CHANGES=1 -export QT4INC="%{_includedir}/qt4" -export QT4LIB="%{_libdir}" -export QT4DIR="%{_libdir}/qt4" %if %{with java} export JAVA_HOME="%{java_home}" @@ -2943,6 +2956,7 @@ export PATH=$PATH:%{_libdir}/interbase/bin --enable-scripting-javascript \ --enable-split-app-modules \ --enable-split-opt-features \ + --disable-zxing \ --with-build-version=%{version}-%{release} \ --with-external-dict-dir=%{_datadir}/myspell \ --with-external-tar=$(pwd)/ext_sources \ @@ -2958,6 +2972,7 @@ export PATH=$PATH:%{_libdir}/interbase/bin %{?with_system_agg:--with-system-agg} \ %{!?with_system_hyphen:--without-system-altlinuxhyph} \ %{!?with_system_beanshell:--without-system-beanshell} \ + %{__with_without system_cmis system-libcmis} \ %{!?with_system_coinmp:--without-system-coinmp} \ %{?with_system_hsqldb:--with-system-hsqldb} \ %{!?with_system_hunspell:--without-system-hunspell} \ @@ -3003,9 +3018,6 @@ rm -rf $RPM_BUILD_ROOT if [ ! -f makeinstall.stamp -o ! -d $RPM_BUILD_ROOT ]; then %{__rm} -rf makeinstall.stamp installed.stamp $RPM_BUILD_ROOT - export QTINC="%{_includedir}/qt" - export QTLIB="%{_libdir}" - export QT4DIR="%{_libdir}/qt4" export DESTDIR=$RPM_BUILD_ROOT export TMP="%{tmpdir}" export TMPDIR="%{tmpdir}" @@ -3049,9 +3061,7 @@ if [ ! -f installed.stamp ]; then %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/program/resource $RPM_BUILD_ROOT%{_datadir}/%{name}/program ln -s ../../../share/%{name}/program/resource $RPM_BUILD_ROOT%{_libdir}/%{name}/program/resource - %{__rm} -r $RPM_BUILD_ROOT%{_desktopdir}/*.desktop \ - $RPM_BUILD_ROOT%{_iconsdir}/{gnome,locolor} \ - $RPM_BUILD_ROOT%{_datadir}/application-registry + %{__rm} -r $RPM_BUILD_ROOT%{_desktopdir}/*.desktop for a in $RPM_BUILD_ROOT%{_datadir}/%{name}/share/xdg/*.desktop; do cp $a $RPM_BUILD_ROOT%{_desktopdir}/libreoffice-$(basename "$a") done @@ -3330,12 +3340,7 @@ fi %attr(755,root,root) %{_libdir}/%{name}/program/libfps_officelo.so %attr(755,root,root) %{_libdir}/%{name}/program/libfrmlo.so %attr(755,root,root) %{_libdir}/%{name}/program/libfsstoragelo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libfwelo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libfwilo.so %attr(755,root,root) %{_libdir}/%{name}/program/libfwklo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libfwllo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libfwmlo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libgielo.so %attr(755,root,root) %{_libdir}/%{name}/program/libguesslanglo.so %attr(755,root,root) %{_libdir}/%{name}/program/libhelplinkerlo.so %{!?with_system_hunspell:%attr(755,root,root) %{_libdir}/%{name}/program/libhunspell.so} @@ -3356,10 +3361,8 @@ fi %attr(755,root,root) %{_libdir}/%{name}/program/liblocaledata_others.so %attr(755,root,root) %{_libdir}/%{name}/program/libloglo.so %attr(755,root,root) %{_libdir}/%{name}/program/liblosessioninstalllo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libmcnttype.so %attr(755,root,root) %{_libdir}/%{name}/program/libmigrationoo2lo.so %attr(755,root,root) %{_libdir}/%{name}/program/libmigrationoo3lo.so -%attr(755,root,root) %{_libdir}/%{name}/program/libmorklo.so %attr(755,root,root) %{_libdir}/%{name}/program/libmozbootstraplo.so %attr(755,root,root) %{_libdir}/%{name}/program/libmsfilterlo.so %attr(755,root,root) %{_libdir}/%{name}/program/libmsformslo.so @@ -3390,6 +3393,7 @@ fi %attr(755,root,root) %{_libdir}/%{name}/program/libsduilo.so %attr(755,root,root) %{_libdir}/%{name}/program/libsfxlo.so %attr(755,root,root) %{_libdir}/%{name}/program/libsimplecanvaslo.so +%attr(755,root,root) %{_libdir}/%{name}/program/libskialo.so %attr(755,root,root) %{_libdir}/%{name}/program/libslideshowlo.so %attr(755,root,root) %{_libdir}/%{name}/program/libsofficeapp.so %attr(755,root,root) %{_libdir}/%{name}/program/libsotlo.so @@ -3491,6 +3495,7 @@ fi %{_libdir}/%{name}/program/classes/form.jar %{!?with_system_hsqldb:%{_libdir}/%{name}/program/classes/hsqldb.jar} %{_libdir}/%{name}/program/classes/js.jar +%{_libdir}/%{name}/program/classes/libreoffice.jar %{_libdir}/%{name}/program/classes/officebean.jar %{_libdir}/%{name}/program/classes/query.jar %{_libdir}/%{name}/program/classes/report.jar @@ -3508,53 +3513,27 @@ fi %dir %{_libdir}/%{name}/program/opencl %{_libdir}/%{name}/program/opencl/cl-test.ods %dir %{_libdir}/%{name}/program/opengl -%{_libdir}/%{name}/program/opengl/areaHashCRC64TFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/areaScaleFastFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/areaScaleFragmentShader.glsl %{_libdir}/%{name}/program/opengl/basicFragmentShader.glsl %{_libdir}/%{name}/program/opengl/basicVertexShader.glsl -%{_libdir}/%{name}/program/opengl/blendedTextureFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/blendedTextureVertexShader.glsl -%{_libdir}/%{name}/program/opengl/combinedFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/combinedTextureFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/combinedTextureVertexShader.glsl -%{_libdir}/%{name}/program/opengl/combinedVertexShader.glsl -%{_libdir}/%{name}/program/opengl/convolutionFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/diffTextureFragmentShader.glsl %{_libdir}/%{name}/program/opengl/dissolveFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/dumbVertexShader.glsl %{_libdir}/%{name}/program/opengl/dummyVertexShader.glsl %{_libdir}/%{name}/program/opengl/fadeBlackFragmentShader.glsl %{_libdir}/%{name}/program/opengl/fadeFragmentShader.glsl %{_libdir}/%{name}/program/opengl/glitterFragmentShader.glsl %{_libdir}/%{name}/program/opengl/glitterVertexShader.glsl -%{_libdir}/%{name}/program/opengl/greyscaleFragmentShader.glsl %{_libdir}/%{name}/program/opengl/honeycombFragmentShader.glsl %{_libdir}/%{name}/program/opengl/honeycombGeometryShader.glsl %{_libdir}/%{name}/program/opengl/honeycombVertexShader.glsl -%{_libdir}/%{name}/program/opengl/invert50FragmentShader.glsl -%{_libdir}/%{name}/program/opengl/linearGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/linearMultiColorGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/linearTwoColorGradientFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/lineFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/lineVertexShader.glsl -%{_libdir}/%{name}/program/opengl/maskedTextureFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/maskedTextureVertexShader.glsl -%{_libdir}/%{name}/program/opengl/maskFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/radialGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/radialMultiColorGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/radialTwoColorGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/rectangularMultiColorGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/rectangularTwoColorGradientFragmentShader.glsl %{_libdir}/%{name}/program/opengl/reflectionFragmentShader.glsl %{_libdir}/%{name}/program/opengl/reflectionVertexShader.glsl -%{_libdir}/%{name}/program/opengl/replaceColorFragmentShader.glsl %{_libdir}/%{name}/program/opengl/rippleFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/solidFragmentShader.glsl %{_libdir}/%{name}/program/opengl/staticFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/textureFragmentShader.glsl -%{_libdir}/%{name}/program/opengl/textureVertexShader.glsl -%{_libdir}/%{name}/program/opengl/transformedTextureVertexShader.glsl %{_libdir}/%{name}/program/opengl/vortexFragmentShader.glsl %{_libdir}/%{name}/program/opengl/vortexGeometryShader.glsl %{_libdir}/%{name}/program/opengl/vortexVertexShader.glsl @@ -3595,7 +3574,8 @@ fi %{_datadir}/%{name}/share/config/images_sifr_dark.zip %{_datadir}/%{name}/share/config/images_sifr_dark_svg.zip %{_datadir}/%{name}/share/config/images_sifr_svg.zip -%{_datadir}/%{name}/share/config/images_tango.zip +%{_datadir}/%{name}/share/config/images_sukapura.zip +%{_datadir}/%{name}/share/config/images_sukapura_svg.zip %dir %{_datadir}/%{name}/share/config/soffice.cfg %dir %{_datadir}/%{name}/share/config/soffice.cfg/cui %{_datadir}/%{name}/share/config/soffice.cfg/cui/ui @@ -3685,16 +3665,21 @@ fi %dir %{_datadir}/%{name}/share/registry/res %{_datadir}/%{name}/share/registry/res/fcfg_langpack_en-US.xcd +%dir %{_datadir}/%{name}/share/skia +%{_datadir}/%{name}/share/skia/skia_denylist_vulkan.xml + %dir %{_datadir}/%{name}/share/theme_definitions %dir %{_datadir}/%{name}/share/theme_definitions/ios %{_datadir}/%{name}/share/theme_definitions/ios/*.svg %{_datadir}/%{name}/share/theme_definitions/ios/*.xml %dir %{_datadir}/%{name}/share/tipoftheday -%{_datadir}/%{name}/share/tipoftheday/tipoftheday*.png +%{_datadir}/%{name}/share/tipoftheday/*.gif +%{_datadir}/%{name}/share/tipoftheday/*.png %dir %{_datadir}/%{name}/share/template %dir %{_datadir}/%{name}/share/template/common +%{_datadir}/%{name}/share/template/common/draw %{_datadir}/%{name}/share/template/common/internal %{_datadir}/%{name}/share/template/common/officorr %{_datadir}/%{name}/share/template/common/offimisc @@ -3710,6 +3695,9 @@ fi %{_datadir}/%{name}/share/template/common/wizard/report %{_datadir}/%{name}/share/template/common/wizard/styles +%dir %{_datadir}/%{name}/share/toolbarmode +%{_datadir}/%{name}/share/toolbarmode/*.png + %dir %{_datadir}/%{name}/share/wizards %{_datadir}/%{name}/share/wizards/resources_en_US.properties @@ -3735,7 +3723,6 @@ fi %attr(755,root,root) %{_libdir}/%{name}/program/unopkg %attr(755,root,root) %{_libdir}/%{name}/program/unopkg.bin %{_libdir}/%{name}/program/bootstraprc -%{_libdir}/%{name}/program/flat_logo.svg %{_libdir}/%{name}/program/fundamentalrc %{_libdir}/%{name}/program/intro.png %{_libdir}/%{name}/program/redirectrc @@ -3755,7 +3742,6 @@ fi %{_datadir}/mime/packages/libreoffice.xml %{_iconsdir}/hicolor/*/mimetypes/libreoffice-*.png -%{_iconsdir}/hicolor/*/mimetypes/libreoffice-*.svg %{_iconsdir}/hicolor/*/apps/libreoffice-main.png %{_iconsdir}/hicolor/*/apps/libreoffice-main.svg %{_iconsdir}/hicolor/*/apps/libreoffice-chart.png @@ -3767,9 +3753,6 @@ fi %{_iconsdir}/hicolor/*/apps/libreoffice-startcenter.png %{_iconsdir}/hicolor/*/apps/libreoffice-startcenter.svg -%{_datadir}/mime-info/libreoffice.keys -%{_datadir}/mime-info/libreoffice.mime - %{_mandir}/man1/loffice.1 %{_mandir}/man1/lofromtemplate.1 %{_mandir}/man1/libreoffice.1* @@ -3835,8 +3818,8 @@ fi %{_datadir}/%{name}/share/config/soffice.cfg/modules/dbtdata/popupmenu %{_datadir}/%{name}/share/config/soffice.cfg/modules/dbtdata/toolbar %{_datadir}/%{name}/share/registry/base.xcd -%{_datadir}/appdata/libreoffice-base.appdata.xml -%{_datadir}/appdata/org.libreoffice.kde.metainfo.xml +%{_datadir}/metainfo/libreoffice-base.appdata.xml +%{_datadir}/metainfo/org.libreoffice.kde.metainfo.xml %files calc %defattr(644,root,root,755) @@ -3867,7 +3850,7 @@ fi %{_datadir}/%{name}/share/config/soffice.cfg/modules/scalc/toolbar %{_datadir}/%{name}/share/config/soffice.cfg/modules/scalc/ui %{_datadir}/%{name}/share/registry/calc.xcd -%{_datadir}/appdata/libreoffice-calc.appdata.xml +%{_datadir}/metainfo/libreoffice-calc.appdata.xml %files draw %defattr(644,root,root,755) @@ -3884,7 +3867,7 @@ fi %{_datadir}/%{name}/share/config/soffice.cfg/modules/sdraw/toolbar %{_datadir}/%{name}/share/config/soffice.cfg/modules/sdraw/ui %{_datadir}/%{name}/share/registry/draw.xcd -%{_datadir}/appdata/libreoffice-draw.appdata.xml +%{_datadir}/metainfo/libreoffice-draw.appdata.xml %files emailmerge %defattr(644,root,root,755) @@ -3917,7 +3900,7 @@ fi %{_datadir}/%{name}/share/config/soffice.cfg/modules/swriter/ui %{_datadir}/%{name}/share/config/soffice.cfg/writerperfect %{_datadir}/%{name}/share/registry/writer.xcd -%{_datadir}/appdata/libreoffice-writer.appdata.xml +%{_datadir}/metainfo/libreoffice-writer.appdata.xml %files impress %defattr(644,root,root,755) @@ -3941,7 +3924,7 @@ fi %{_datadir}/%{name}/share/config/soffice.cfg/modules/simpress/ui %{_datadir}/%{name}/share/registry/impress.xcd %{_datadir}/%{name}/share/registry/ogltrans.xcd -%{_datadir}/appdata/libreoffice-impress.appdata.xml +%{_datadir}/metainfo/libreoffice-impress.appdata.xml %files math %defattr(644,root,root,755) @@ -3973,7 +3956,6 @@ fi %files graphicfilter %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/program/libflashlo.so %attr(755,root,root) %{_libdir}/%{name}/program/libsvgfilterlo.so %{_datadir}/%{name}/share/registry/graphicfilter.xcd %attr(755,root,root) %{_libdir}/%{name}/program/libgraphicfilterlo.so @@ -3988,7 +3970,6 @@ fi %if %{with pgsql} %files postgresql %defattr(644,root,root,755) -%{_libdir}/%{name}/program/postgresql-sdbc.ini %{_libdir}/%{name}/program/services/postgresql-sdbc.rdb %{_datadir}/%{name}/share/registry/postgresql.xcd %attr(755,root,root) %{_libdir}/%{name}/program/libpostgresql-sdbclo.so diff --git a/pld-skia-patches.patch b/pld-skia-patches.patch new file mode 100644 index 0000000..09d3b55 --- /dev/null +++ b/pld-skia-patches.patch @@ -0,0 +1,10 @@ +--- libreoffice-7.2.0.3/external/skia/UnpackedTarball_skia.mk.orig 2021-08-10 19:27:48.000000000 +0200 ++++ libreoffice-7.2.0.3/external/skia/UnpackedTarball_skia.mk 2021-08-12 18:09:22.813517161 +0200 +@@ -39,6 +39,7 @@ + fast-png-write.patch.1 \ + skia_sk_cpu_sse_level_0_by_default.patch.1 \ + fix-warnings.patch.1 \ ++ skia-freetype2.11.patch \ + + $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1)) + diff --git a/skia-freetype2.11.patch b/skia-freetype2.11.patch new file mode 100644 index 0000000..97be7f2 --- /dev/null +++ b/skia-freetype2.11.patch @@ -0,0 +1,37 @@ +--- skia/src/ports/SkFontHost_FreeType_common.cpp.orig 2021-03-01 15:53:09.178606791 +0100 ++++ skia/src/ports/SkFontHost_FreeType_common.cpp 2021-08-12 17:48:32.358901987 +0200 +@@ -665,8 +665,13 @@ + canvas->drawPaint(paint); + break; + } ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ case FT_COLR_PAINTFORMAT_TRANSFORM: { ++ SkMatrix transform = ToSkMatrix(colrv1_paint.u.transform.affine); ++#else + case FT_COLR_PAINTFORMAT_TRANSFORMED: { + SkMatrix transform = ToSkMatrix(colrv1_paint.u.transformed.affine); ++#endif + + canvas->concat(transform); + break; +@@ -760,12 +765,20 @@ + traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID, + FT_COLOR_NO_ROOT_TRANSFORM); + break; ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ case FT_COLR_PAINTFORMAT_TRANSFORM: ++#else + case FT_COLR_PAINTFORMAT_TRANSFORMED: ++#endif + canvas->saveLayer(nullptr, nullptr); + // Traverse / draw operation will apply transform. + colrv1_draw_paint(canvas, palette, face, paint); + traverse_result = ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ colrv1_traverse_paint(canvas, palette, face, paint.u.transform.paint); ++#else + colrv1_traverse_paint(canvas, palette, face, paint.u.transformed.paint); ++#endif + canvas->restore(); + break; + case FT_COLR_PAINTFORMAT_ROTATE: -- 2.44.0