From 888a45a673fbf9e0c672713ccfde73be9a5c8fafe9421b23d39c481d839c4311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Sat, 17 Feb 2018 13:30:07 +0000 Subject: [PATCH 1/2] Accepting request 577605 from home:adamm:branches:LibreOffice:Factory - boost_string_fixes.patch: Boost in Leap 42.3 and SLE-12 is lacking some functionality found in newer versions. Workaround the problem. OBS-URL: https://build.opensuse.org/request/show/577605 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=603 --- boost_string_fixes.patch | 37 +++++++++++++++++++++++++++++++++++++ libreoffice.changes | 6 ++++++ libreoffice.spec | 7 +++++-- 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 boost_string_fixes.patch diff --git a/boost_string_fixes.patch b/boost_string_fixes.patch new file mode 100644 index 0000000..7483b62 --- /dev/null +++ b/boost_string_fixes.patch @@ -0,0 +1,37 @@ +Author: Adam Majer +Date: Sat Feb 17 12:13:32 CET 2018 + +Old boost seems to be missing some boost::optional functionality. +This patch is a simple fix for a few problem spots. If this +problem gets larger, it may need a more generic solution instead. + + +Index: libreoffice-6.0.1.1/sw/source/core/txtnode/txatbase.cxx +=================================================================== +--- libreoffice-6.0.1.1.orig/sw/source/core/txtnode/txatbase.cxx ++++ libreoffice-6.0.1.1/sw/source/core/txtnode/txatbase.cxx +@@ -100,21 +100,21 @@ void SwTextAttr::dumpAsXml(xmlTextWriter + { + pWhich = "character format"; + if (SwCharFormat* pCharFormat = GetCharFormat().GetCharFormat()) +- oValue = "name: " + OUStringToOString(pCharFormat->GetName(), RTL_TEXTENCODING_UTF8); ++ *oValue = OString("name: " + OUStringToOString(pCharFormat->GetName(), RTL_TEXTENCODING_UTF8)); + break; + } + case RES_TXTATR_INETFMT: + { + pWhich = "inet format"; + const SwFormatINetFormat& rFormat = GetINetFormat(); +- oValue = "url: " + rFormat.GetValue().toUtf8(); ++ *oValue = OString("url: " + rFormat.GetValue().toUtf8()); + break; + } + case RES_TXTATR_CJK_RUBY: + { + pWhich = "ruby"; + const SwFormatRuby& rFormat = GetRuby(); +- oValue = "rubytext: " + rFormat.GetText().toUtf8(); ++ *oValue = OString("rubytext: " + rFormat.GetText().toUtf8()); + break; + } + case RES_TXTATR_META: diff --git a/libreoffice.changes b/libreoffice.changes index 56918fb..9d2463c 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Feb 17 11:19:03 UTC 2018 - adam.majer@suse.de + +- boost_string_fixes.patch: Boost in Leap 42.3 and SLE-12 is lacking + some functionality found in newer versions. Workaround the problem. + ------------------------------------------------------------------- Mon Feb 12 09:24:51 UTC 2018 - tchvatal@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index 78a6127..cc47a10 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -91,6 +91,7 @@ Patch2: nlpsolver-no-broken-help.diff Patch3: mediawiki-no-broken-help.diff Patch4: kde5-configure-checks.patch Patch5: 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch +Patch500: boost_string_fixes.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff BuildRequires: %{name}-share-linker @@ -873,10 +874,12 @@ Provides additional %{langname} translations and resources for %{project}. \ %prep %setup -q -b1 -b2 -# The rename of the configdir is needed only on older than factory for compat %if 0%{?suse_version} < 1330 +# The rename of the configdir is needed only on older than factory for compat %patch1 -%endif +# fixes to satisfy old boost versions +%patch500 -p1 +%endif # Leap 42/SLE-12 %patch2 %patch3 %patch4 -p1 From 84db6bcd3b1fef66a59d01e53d099706810ea0f44bf2249f84b470574ae862d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 20 Feb 2018 14:06:51 +0000 Subject: [PATCH 2/2] - Add patch to build properly with orcus-0.13.3: * orcus-0.13.3.patch OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=604 --- libreoffice.changes | 6 ++++ libreoffice.spec | 2 ++ orcus-0.13.3.patch | 67 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 orcus-0.13.3.patch diff --git a/libreoffice.changes b/libreoffice.changes index 9d2463c..d971aa5 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Feb 20 14:03:07 UTC 2018 - tchvatal@suse.com + +- Add patch to build properly with orcus-0.13.3: + * orcus-0.13.3.patch + ------------------------------------------------------------------- Sat Feb 17 11:19:03 UTC 2018 - adam.majer@suse.de diff --git a/libreoffice.spec b/libreoffice.spec index cc47a10..c109b84 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -91,6 +91,7 @@ Patch2: nlpsolver-no-broken-help.diff Patch3: mediawiki-no-broken-help.diff Patch4: kde5-configure-checks.patch Patch5: 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch +Patch6: orcus-0.13.3.patch Patch500: boost_string_fixes.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff @@ -884,6 +885,7 @@ Provides additional %{langname} translations and resources for %{project}. \ %patch3 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %patch990 -p1 # Disable some of the failing tests (some are random) diff --git a/orcus-0.13.3.patch b/orcus-0.13.3.patch new file mode 100644 index 0000000..70b737c --- /dev/null +++ b/orcus-0.13.3.patch @@ -0,0 +1,67 @@ +From 20945a9a4de6684010fd5b3603595e6da543807d Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida +Date: Wed, 31 Jan 2018 21:27:44 -0500 +Subject: Correctly import solid fill color. + +In orcus, a solid fill type uses the foreground color only and ignores +the background color. Also, let's not use the alpha component as it +would cause the color to not get rendered at all. + +Some patches are applied against liborcus in order to adjust the ODF +styles import code for this change. These changes will be incorporated +in 0.13.3. + +Change-Id: I9e8c243cc6a7f366de2393e7b7ecf77366f5f9ea +Reviewed-on: https://gerrit.libreoffice.org/49071 +Reviewed-by: Kohei Yoshida +Tested-by: Kohei Yoshida +--- + ...-of-0-means-fully-transparent.-I-m-sure-2.patch | 50 ++++++++++++++++++++++ + ...osed-to-use-the-foreground-color-for-soli.patch | 49 +++++++++++++++++++++ + external/liborcus/UnpackedTarball_liborcus.mk | 2 + + sc/source/filter/orcus/interface.cxx | 15 ++++--- + 4 files changed, 111 insertions(+), 5 deletions(-) + create mode 100644 external/liborcus/0001-Alpha-value-of-0-means-fully-transparent.-I-m-sure-2.patch + create mode 100644 external/liborcus/0002-We-are-supposed-to-use-the-foreground-color-for-soli.patch + +diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx +index e40a71b..4cfd844 100644 +--- a/sc/source/filter/orcus/interface.cxx ++++ b/sc/source/filter/orcus/interface.cxx +@@ -1148,7 +1148,8 @@ void ScOrcusStyles::fill::applyToItemSet(SfxItemSet& rSet) const + return; + } + +- rSet.Put(SvxBrushItem(maBgColor, ATTR_BACKGROUND)); ++ if (maPattern.equalsIgnoreAsciiCase("solid")) ++ rSet.Put(SvxBrushItem(maFgColor, ATTR_BACKGROUND)); + } + + ScOrcusStyles::protection::protection(): +@@ -1574,15 +1575,19 @@ void ScOrcusStyles::set_fill_pattern_type(const char* s, size_t n) + maCurrentFill.mbHasFillAttr = true; + } + +-void ScOrcusStyles::set_fill_fg_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) ++void ScOrcusStyles::set_fill_fg_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) + { +- maCurrentFill.maFgColor = Color(alpha, red, green, blue); ++ // Ignore the alpha element for now. ++ maCurrentFill.maFgColor = Color(red, green, blue); + maCurrentFill.mbHasFillAttr = true; + } + +-void ScOrcusStyles::set_fill_bg_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) ++void ScOrcusStyles::set_fill_bg_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) + { +- maCurrentFill.maBgColor = Color(alpha, red, green, blue); ++ // Ignore the alpha element for now. ++ maCurrentFill.maBgColor = Color(red, green, blue); + maCurrentFill.mbHasFillAttr = true; + } + +-- +cgit v1.1 +