Accepting request 578364 from LibreOffice:Factory

- Add patch to build properly with orcus-0.13.3:
  * orcus-0.13.3.patch

- 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/578364
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libreoffice?expand=0&rev=147
This commit is contained in:
Dominique Leuenberger 2018-02-22 13:59:49 +00:00 committed by Git OBS Bridge
commit 29540d2d03
4 changed files with 123 additions and 2 deletions

37
boost_string_fixes.patch Normal file
View File

@ -0,0 +1,37 @@
Author: Adam Majer <amajer@suse.de>
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:

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
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
- 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

View File

@ -91,6 +91,8 @@ 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
BuildRequires: %{name}-share-linker
@ -873,14 +875,17 @@ 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
%patch5 -p1
%patch6 -p1
%patch990 -p1
# Disable some of the failing tests (some are random)

67
orcus-0.13.3.patch Normal file
View File

@ -0,0 +1,67 @@
From 20945a9a4de6684010fd5b3603595e6da543807d Mon Sep 17 00:00:00 2001
From: Kohei Yoshida <kohei.yoshida@gmail.com>
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 <libreoffice@kohei.us>
Tested-by: Kohei Yoshida <libreoffice@kohei.us>
---
...-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