[packages/libreoffice] - up to 4.1.0.4; builds but cleaning up install/files left
arekm
arekm at pld-linux.org
Fri Jul 26 08:19:56 CEST 2013
commit f5126770768802569684589958992b7578baef24
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Fri Jul 26 08:19:23 2013 +0200
- up to 4.1.0.4; builds but cleaning up install/files left
liborcus-0.5.x.patch | 540 ---------------------------------------------
libreoffice-liborcus.patch | 12 -
libreoffice-mdds.patch | 91 ++------
libreoffice.spec | 48 ++--
4 files changed, 36 insertions(+), 655 deletions(-)
---
diff --git a/libreoffice.spec b/libreoffice.spec
index 52d6b0c..3357c5c 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -41,13 +41,13 @@
%undefine with_system_hsqldb
%endif
-%define major_ver 4.0.4
+%define major_ver 4.1.0
Summary: LibreOffice - powerful office suite
Summary(pl.UTF-8): LibreOffice - potężny pakiet biurowy
Name: libreoffice
-Version: %{major_ver}.2
-Release: 1
+Version: %{major_ver}.4
+Release: 0.1
License: GPL/LGPL
Group: X11/Applications
# we use git because released tarballs are buggy too often
@@ -55,13 +55,13 @@ Group: X11/Applications
# cd build
# git checkout -b libreoffice-3-3 origin/libreoffice-3-3
Source0: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-%{version}.tar.xz
-# Source0-md5: 19462798bbf6e1dc75a8b12bd1775ea2
+# Source0-md5: 5311656e1b54eadd4b93f948dfd5e68e
Source1: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-dictionaries-%{version}.tar.xz
-# Source1-md5: 12609fdd74047287c7853fa97c14f089
+# Source1-md5: 2bbe7adab2b9bc0042c72ba60c30acc4
Source2: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-help-%{version}.tar.xz
-# Source2-md5: a4d5e6504a3251b7a7fbe17216f8d6e7
+# Source2-md5: e2cd3b63e3050771a1330fc98e41a701
Source3: http://download.documentfoundation.org/libreoffice/src/%{major_ver}/%{name}-translations-%{version}.tar.xz
-# Source3-md5: 0ba553eea7284abe1370157bb35bd355
+# Source3-md5: 1f4438828cbcf83c257742482dade3ef
Source20: http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
# Source20-md5: 0168229624cfac409e766913506961a8
@@ -77,9 +77,7 @@ Source25: http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xs
# Source25-md5: a7983f859eafb2677d7ff386a023bc40
Patch0: %{name}-hamcrest.patch
-Patch1: %{name}-liborcus.patch
-Patch2: %{name}-mdds.patch
-Patch3: liborcus-0.5.x.patch
+Patch1: %{name}-mdds.patch
URL: http://www.documentfoundation.org/
BuildRequires: /usr/bin/getopt
BuildRequires: GConf2-devel
@@ -112,6 +110,7 @@ BuildRequires: graphite2-devel
BuildRequires: gstreamer0.10-devel >= 0.10.0
BuildRequires: gstreamer0.10-plugins-base-devel >= 0.10.0
BuildRequires: gtk+2-devel >= 2:2.10
+BuildRequires: harfbuzz-icu-devel
%{?with_system_hunspell:BuildRequires: hunspell-devel >=1.2.2}
BuildRequires: hyphen-devel
%{?with_icecream:BuildRequires: icecream}
@@ -131,6 +130,8 @@ BuildRequires: java-servletapi
BuildRequires: libcmis-devel >= 0.3
BuildRequires: liblangtag-devel
BuildRequires: libmspub-devel
+BuildRequires: libmwaw-devel
+BuildRequires: libodfgen-devel
BuildRequires: liborcus-devel >= 0.4
BuildRequires: libvisio-devel
BuildRequires: libwpd-devel >= 0.9.0
@@ -162,7 +163,7 @@ BuildRequires: libxml2-devel >= 2.0
BuildRequires: libxslt-devel
BuildRequires: libxslt-progs
%{?with_access:%{?with_system_mdbtools:BuildRequires: mdbtools-devel >= 0.6}}
-BuildRequires: mdds-devel >= 0.8.0
+BuildRequires: mdds-devel >= 0.9.0
%{?with_mono:BuildRequires: mono-csharp >= 1.2.3}
%{?with_mono:BuildRequires: mono-static >= 1.2.3}
%{?with_system_myspell:BuildRequires: myspell-devel}
@@ -185,7 +186,7 @@ BuildRequires: portaudio-devel
BuildRequires: python3 >= 3.3
BuildRequires: python3-devel >= 3.3
BuildRequires: python3-modules >= 3.3
-BuildRequires: redland-devel
+BuildRequires: redland-devel >= 1.0.16
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.660
BuildRequires: sablotron-devel
@@ -2531,8 +2532,6 @@ bashowe uzupełnianie nazw dla LibreOffice.
%patch0 -p0
%patch1 -p1
-%patch2 -p1
-%patch3 -p0
for dir in *-%{version}; do
[ -f $dir/ChangeLog ] && mv $dir/ChangeLog ChangeLog-$dir
@@ -2736,27 +2735,6 @@ if [ ! -f makeinstall.stamp -o ! -d $RPM_BUILD_ROOT ]; then
%{__make} distro-pack-install \
DESTDIR=$RPM_BUILD_ROOT
- # unpack report-builder extension
- install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/report-builder
- unzip -o solver/unxlng*/bin/report-builder.oxt -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/report-builder
-
- # unpack wiki-publisher extension
- install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/wiki-publisher
- unzip -o solver/unxlng*/bin/wiki-publisher.oxt -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/wiki-publisher
-
- # unpack presentation-minimizer extension
- install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/presentation-minimizer
- unzip -o solver/unxlng*/bin/presentation-minimizer.oxt -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/presentation-minimizer
-
- # unpack wiki-publisher extension
- install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/wiki-publisher
- unzip -o solver/unxlng*/bin/wiki-publisher.oxt -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/wiki-publisher
-
- # XXX
- # unpack script-provider-for-python extension
- #install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/script-provider-for-python
- #unzip -o solver/unxlng*/bin/script-provider-for-python.oxt -d $RPM_BUILD_ROOT%{_libdir}/%{name}/share/extensions/script-provider-for-python
-
# save orignal install layout
find $RPM_BUILD_ROOT -ls > ls.txt
touch makeinstall.stamp
diff --git a/liborcus-0.5.x.patch b/liborcus-0.5.x.patch
deleted file mode 100644
index 79ad36e..0000000
--- a/liborcus-0.5.x.patch
+++ /dev/null
@@ -1,540 +0,0 @@
---- sc/inc/document.hxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/inc/document.hxx 2013-06-24 19:08:23.000000000 -0400
-@@ -750,6 +750,7 @@
- SC_DLLPUBLIC bool SetString(
- SCCOL nCol, SCROW nRow, SCTAB nTab, const rtl::OUString& rString,
- ScSetStringParam* pParam = NULL );
-+ SC_DLLPUBLIC bool SetString( const ScAddress& rPos, const OUString& rString, ScSetStringParam* pParam = NULL );
- SC_DLLPUBLIC void SetValue( SCCOL nCol, SCROW nRow, SCTAB nTab, const double& rVal );
- void SetError( SCCOL nCol, SCROW nRow, SCTAB nTab, const sal_uInt16 nError);
-
---- sc/inc/orcusfilters.hxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/inc/orcusfilters.hxx 2013-06-24 19:08:23.000000000 -0400
-@@ -30,6 +30,10 @@
-
- virtual bool importGnumeric(ScDocument& rDoc, const rtl::OUString& rPath) const = 0;
-
-+ virtual bool importXLSX(ScDocument& rDoc, const rtl::OUString& rPath) const = 0;
-+
-+ virtual bool importODS(ScDocument& rDoc, const rtl::OUString& rPath) const = 0;
-+
- /**
- * Create a context for XML file. The context object stores session
- * information for each unique XML file. You must create a new context
---- sc/inc/stringutil.hxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/inc/stringutil.hxx 2013-06-24 19:08:23.000000000 -0400
-@@ -72,16 +72,26 @@
- TextFormatPolicy meSetTextNumFormat;
-
- /**
-- * When true, treat input with a leading apostrophe / single quote special
-- * in that it escapes numeric or date/time input such that it is not
-- * interpreted and the input string is taken instead. This can be used
-- * during text file import so the leading apostrophe is not lost if it
-- * precedes a numeric value.
-- * Usually set mbHandleApostrophe = !mbSetTextCellFormat
-+ * When true, treat input with a leading apostrophe as an escape character
-+ * for a numeric value content, to treat the numeric value as a text. When
-+ * false, the whole string input including the leading apostrophe will be
-+ * entered literally as string.
- */
- bool mbHandleApostrophe;
-
- ScSetStringParam();
-+
-+ /**
-+ * Call this whenever you need to unconditionally set input as text, no
-+ * matter what the input is.
-+ */
-+ void setTextInput();
-+
-+ /**
-+ * Call this whenever you need to maximize the chance of input being
-+ * detected as a numeric value (numbers, dates, times etc).
-+ */
-+ void setNumericInput();
- };
-
- // ============================================================================
---- sc/source/core/data/document.cxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/source/core/data/document.cxx 2013-06-24 19:08:23.000000000 -0400
-@@ -2940,6 +2940,12 @@
- return false;
- }
-
-+bool ScDocument::SetString(
-+ const ScAddress& rPos, const OUString& rString, ScSetStringParam* pParam )
-+{
-+ return SetString(rPos.Col(), rPos.Row(), rPos.Tab(), rString, pParam);
-+}
-+
-
- void ScDocument::SetValue( SCCOL nCol, SCROW nRow, SCTAB nTab, const double& rVal )
- {
---- sc/source/core/tool/stringutil.cxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/source/core/tool/stringutil.cxx 2013-06-24 19:08:23.000000000 -0400
-@@ -32,6 +32,20 @@
- {
- }
-
-+void ScSetStringParam::setTextInput()
-+{
-+ mbDetectNumberFormat = false;
-+ mbHandleApostrophe = false;
-+ meSetTextNumFormat = Always;
-+}
-+
-+void ScSetStringParam::setNumericInput()
-+{
-+ mbDetectNumberFormat = true;
-+ mbHandleApostrophe = true;
-+ meSetTextNumFormat = Never;
-+}
-+
- // ============================================================================-
-
- bool ScStringUtil::parseSimpleNumber(
---- sc/source/filter/inc/orcusfiltersimpl.hxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/source/filter/inc/orcusfiltersimpl.hxx 2013-06-24 19:08:23.000000000 -0400
-@@ -22,6 +22,8 @@
-
- virtual bool importCSV(ScDocument& rDoc, const rtl::OUString& rPath) const;
- virtual bool importGnumeric(ScDocument& rDoc, const rtl::OUString& rPath) const;
-+ virtual bool importXLSX(ScDocument& rDoc, const rtl::OUString& rPath) const;
-+ virtual bool importODS(ScDocument& rDoc, const rtl::OUString& rPath) const;
-
- virtual ScOrcusXMLContext* createXMLContext(ScDocument& rDoc, const rtl::OUString& rPath) const;
- };
---- sc/source/filter/inc/orcusinterface.hxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/source/filter/inc/orcusinterface.hxx 2013-06-24 19:08:23.000000000 -0400
-@@ -21,13 +21,26 @@
-
- class ScDocument;
- class ScOrcusSheet;
-+class ScOrcusFactory;
- class ScRangeData;
-
-+class ScOrcusGlobalSettings : public orcus::spreadsheet::iface::import_global_settings
-+{
-+ ScDocument& mrDoc;
-+
-+public:
-+ ScOrcusGlobalSettings(ScDocument& rDoc);
-+
-+ virtual void set_origin_date(int year, int month, int day);
-+};
-+
- class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings
- {
-- std::vector<OUString> maSharedStrings;
-+ std::vector<OUString>& mrStrings;
-
- public:
-+ ScOrcusSharedStrings(std::vector<OUString>& rStrings);
-+
- virtual size_t append(const char* s, size_t n);
- virtual size_t add(const char* s, size_t n);
-
-@@ -38,50 +51,49 @@
- virtual void append_segment(const char* s, size_t n);
-
- virtual size_t commit_segments();
--
-- const OUString& getByIndex(size_t index) const;
--};
--
--class ScOrcusFactory : public orcus::spreadsheet::iface::import_factory
--{
-- ScDocument& mrDoc;
-- boost::ptr_vector<ScOrcusSheet> maSheets;
-- ScOrcusSharedStrings maSharedStrings;
--
--public:
-- ScOrcusFactory(ScDocument& rDoc);
--
-- virtual orcus::spreadsheet::iface::import_sheet* append_sheet(const char *sheet_name, size_t sheet_name_length);
-- virtual orcus::spreadsheet::iface::import_sheet* get_sheet(const char *sheet_name, size_t sheet_name_length);
-- virtual orcus::spreadsheet::iface::import_shared_strings* get_shared_strings();
-- virtual orcus::spreadsheet::iface::import_styles* get_styles();
- };
-
- class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
- {
- ScDocument& mrDoc;
- SCTAB mnTab;
-- ScOrcusSharedStrings& mrSharedStrings;
-+ ScOrcusFactory& mrFactory;
-
- typedef std::map<size_t, ScRangeData*> SharedFormulaContainer;
- SharedFormulaContainer maSharedFormulas;
- public:
-- ScOrcusSheet(ScDocument& rDoc, SCTAB nTab, ScOrcusSharedStrings& rSharedStrings);
-+ ScOrcusSheet(ScDocument& rDoc, SCTAB nTab, ScOrcusFactory& rFactory);
-
- // Orcus import interface
- virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n);
-+ virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex);
-+ virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value);
-+ virtual void set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value);
-+ virtual void set_date_time(
-+ orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, int year, int month, int day, int hour, int minute, double second);
-+
- virtual void set_format(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t xf_index);
-+
- virtual void set_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n);
- virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n);
-+
- virtual void set_shared_formula(
- orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex,
- const char* p_formula, size_t n_formula);
-+
- virtual void set_shared_formula(
- orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex,
- const char* p_formula, size_t n_formula, const char* p_range, size_t n_range);
-+
- virtual void set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex);
-- virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex);
-- virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value);
-+
-+ virtual void set_array_formula(
-+ orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
-+ const char* p, size_t n, orcus::spreadsheet::row_t array_rows, orcus::spreadsheet::col_t array_cols);
-+
-+ virtual void set_array_formula(
-+ 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);
-
- SCTAB getIndex() const { return mnTab; }
- };
-@@ -119,6 +131,10 @@
- virtual void set_cell_locked(bool b);
- virtual size_t commit_cell_protection();
-
-+ // number format
-+ virtual void set_number_format(const char* s, size_t n);
-+ virtual size_t commit_number_format();
-+
- // cell style xf
-
- virtual void set_cell_style_xf_count(size_t n);
-@@ -147,5 +163,38 @@
- virtual size_t commit_cell_style();
- };
-
-+class ScOrcusFactory : public orcus::spreadsheet::iface::import_factory
-+{
-+ struct StringCellCache
-+ {
-+ ScAddress maPos;
-+ size_t mnIndex;
-+
-+ StringCellCache(const ScAddress& rPos, size_t nIndex);
-+ };
-+
-+ typedef std::vector<StringCellCache> StringCellCaches;
-+
-+ ScDocument& mrDoc;
-+ std::vector<OUString> maStrings;
-+ StringCellCaches maStringCells;
-+ ScOrcusGlobalSettings maGlobalSettings;
-+ ScOrcusSharedStrings maSharedStrings;
-+ boost::ptr_vector<ScOrcusSheet> maSheets;
-+ ScOrcusStyles maStyles;
-+
-+public:
-+ ScOrcusFactory(ScDocument& rDoc);
-+
-+ virtual orcus::spreadsheet::iface::import_sheet* append_sheet(const char *sheet_name, size_t sheet_name_length);
-+ virtual orcus::spreadsheet::iface::import_sheet* get_sheet(const char *sheet_name, size_t sheet_name_length);
-+ virtual orcus::spreadsheet::iface::import_global_settings* get_global_settings();
-+ virtual orcus::spreadsheet::iface::import_shared_strings* get_shared_strings();
-+ virtual orcus::spreadsheet::iface::import_styles* get_styles();
-+ virtual void finalize();
-+
-+ void pushStringCell(const ScAddress& rPos, size_t nStrIndex);
-+};
-+
- #endif
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
---- sc/source/filter/orcus/interface.cxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/source/filter/orcus/interface.cxx 2013-06-24 19:08:23.000000000 -0400
-@@ -13,14 +13,34 @@
- #include "cell.hxx"
- #include "rangenam.hxx"
- #include "tokenarray.hxx"
--#include <formula/token.hxx>
-+#include "stringutil.hxx"
-+#include "docoptio.hxx"
-
-+#include "formula/token.hxx"
-+#include "tools/datetime.hxx"
-+
-+#define D_TIMEFACTOR 86400.0
-
- using orcus::spreadsheet::row_t;
- using orcus::spreadsheet::col_t;
- using orcus::spreadsheet::formula_grammar_t;
-
--ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc) : mrDoc(rDoc) {}
-+ScOrcusGlobalSettings::ScOrcusGlobalSettings(ScDocument& rDoc) : mrDoc(rDoc) {}
-+
-+void ScOrcusGlobalSettings::set_origin_date(int year, int month, int day)
-+{
-+ ScDocOptions aOpt = mrDoc.GetDocOptions();
-+ aOpt.SetDate(year, month, day);
-+ mrDoc.SetDocOptions(aOpt);
-+}
-+
-+ScOrcusFactory::StringCellCache::StringCellCache(const ScAddress& rPos, size_t nIndex) :
-+ maPos(rPos), mnIndex(nIndex) {}
-+
-+ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc) :
-+ mrDoc(rDoc),
-+ maGlobalSettings(mrDoc),
-+ maSharedStrings(maStrings) {}
-
- orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet(const char* sheet_name, size_t sheet_name_length)
- {
-@@ -29,7 +49,7 @@
- return NULL;
-
- SCTAB nTab = mrDoc.GetTableCount() - 1;
-- maSheets.push_back(new ScOrcusSheet(mrDoc, nTab, maSharedStrings));
-+ maSheets.push_back(new ScOrcusSheet(mrDoc, nTab, *this));
- return &maSheets.back();
- }
-
-@@ -61,10 +81,15 @@
- return &(*it);
-
- // Create a new orcus sheet instance for this.
-- maSheets.push_back(new ScOrcusSheet(mrDoc, nTab, maSharedStrings));
-+ maSheets.push_back(new ScOrcusSheet(mrDoc, nTab, *this));
- return &maSheets.back();
- }
-
-+orcus::spreadsheet::iface::import_global_settings* ScOrcusFactory::get_global_settings()
-+{
-+ return &maGlobalSettings;
-+}
-+
- orcus::spreadsheet::iface::import_shared_strings* ScOrcusFactory::get_shared_strings()
- {
- return &maSharedStrings;
-@@ -73,11 +98,31 @@
- orcus::spreadsheet::iface::import_styles* ScOrcusFactory::get_styles()
- {
- // We don't support it yet.
-- return new ScOrcusStyles;
-+ return &maStyles;
- }
-
--ScOrcusSheet::ScOrcusSheet(ScDocument& rDoc, SCTAB nTab, ScOrcusSharedStrings& rSharedStrings) :
-- mrDoc(rDoc), mnTab(nTab), mrSharedStrings(rSharedStrings) {}
-+void ScOrcusFactory::finalize()
-+{
-+ ScSetStringParam aParam;
-+ aParam.setTextInput();
-+ StringCellCaches::const_iterator it = maStringCells.begin(), itEnd = maStringCells.end();
-+ for (; it != itEnd; ++it)
-+ {
-+ if (it->mnIndex >= maStrings.size())
-+ // String index out-of-bound! Something is up.
-+ continue;
-+
-+ mrDoc.SetString(it->maPos, maStrings[it->mnIndex], &aParam);
-+ }
-+}
-+
-+void ScOrcusFactory::pushStringCell(const ScAddress& rPos, size_t nStrIndex)
-+{
-+ maStringCells.push_back(StringCellCache(rPos, nStrIndex));
-+}
-+
-+ScOrcusSheet::ScOrcusSheet(ScDocument& rDoc, SCTAB nTab, ScOrcusFactory& rFactory) :
-+ mrDoc(rDoc), mnTab(nTab), mrFactory(rFactory) {}
-
- void ScOrcusSheet::set_auto(row_t row, col_t col, const char* p, size_t n)
- {
-@@ -85,6 +130,49 @@
- mrDoc.SetString(col, row, mnTab, aVal);
- }
-
-+void ScOrcusSheet::set_string(row_t row, col_t col, size_t sindex)
-+{
-+ // We need to defer string cells since the shared string pool is not yet
-+ // populated at the time this method is called. Orcus imports string
-+ // table after the cells get imported. We won't need to do this once we
-+ // implement true shared strings in Calc core.
-+
-+ mrFactory.pushStringCell(ScAddress(col, row, mnTab), sindex);
-+}
-+
-+void ScOrcusSheet::set_value(row_t row, col_t col, double value)
-+{
-+ mrDoc.SetValue( col, row, mnTab, value );
-+}
-+
-+void ScOrcusSheet::set_bool(row_t row, col_t col, bool value)
-+{
-+ mrDoc.SetValue(col, row, mnTab, value ? 1.0 : 0.0);
-+}
-+
-+void ScOrcusSheet::set_date_time(
-+ row_t row, col_t col, int year, int month, int day, int hour, int minute, double second)
-+{
-+ SvNumberFormatter* pFormatter = mrDoc.GetFormatTable();
-+
-+ Date aDate(day, month, year);
-+ sal_uIntPtr nSec = floor(second);
-+ sal_uIntPtr nSec100 = (second - nSec) * 100;
-+ Time aTime(hour, minute, nSec, nSec100);
-+ Date aNullDate(*pFormatter->GetNullDate());
-+ long nDateDiff = aDate - aNullDate;
-+
-+ double fTime =
-+ static_cast<double>(aTime.Get100Sec()) / 100.0 +
-+ aTime.GetSec() +
-+ aTime.GetMin() * 60.0 +
-+ aTime.GetHour() * 3600.0;
-+
-+ fTime /= D_TIMEFACTOR;
-+
-+ mrDoc.SetValue(col, row, mnTab, nDateDiff + fTime);
-+}
-+
- void ScOrcusSheet::set_format(row_t /*row*/, col_t /*col*/, size_t /*xf_index*/)
- {
- }
-@@ -191,45 +279,35 @@
- mrDoc.PutCell( col, row, mnTab, pCell );
- }
-
--void ScOrcusSheet::set_string(row_t row, col_t col, size_t sindex)
-+void ScOrcusSheet::set_array_formula(
-+ row_t /*row*/, col_t /*col*/, formula_grammar_t /*grammar*/,
-+ const char* /*p*/, size_t /*n*/, row_t /*array_rows*/, col_t /*array_cols*/)
- {
-- // Calc does not yet support shared strings so we have to
-- // workaround by importing shared strings into a temporary
-- // shared string container and writing into calc model as
-- // normal string
--
-- const OUString& rSharedString = mrSharedStrings.getByIndex(sindex);
-- ScBaseCell* pCell = ScBaseCell::CreateTextCell( rSharedString, &mrDoc );
-- mrDoc.PutCell(col, row, mnTab, pCell);
- }
-
--void ScOrcusSheet::set_value(row_t row, col_t col, double value)
-+void ScOrcusSheet::set_array_formula(
-+ row_t /*row*/, col_t /*col*/, formula_grammar_t /*grammar*/,
-+ const char* /*p*/, size_t /*n*/, const char* /*p_range*/, size_t /*n_range*/)
- {
-- mrDoc.SetValue( col, row, mnTab, value );
- }
-
-+ScOrcusSharedStrings::ScOrcusSharedStrings(std::vector<OUString>& rStrings) :
-+ mrStrings(rStrings) {}
-+
- size_t ScOrcusSharedStrings::append(const char* s, size_t n)
- {
- OUString aNewString(s, n, RTL_TEXTENCODING_UTF8);
-- maSharedStrings.push_back(aNewString);
-+ mrStrings.push_back(aNewString);
-
-- return maSharedStrings.size() - 1;
-+ return mrStrings.size() - 1;
- }
-
- size_t ScOrcusSharedStrings::add(const char* s, size_t n)
- {
- OUString aNewString(s, n, RTL_TEXTENCODING_UTF8);
-- maSharedStrings.push_back(aNewString);
--
-- return maSharedStrings.size() - 1;
--}
--
--const OUString& ScOrcusSharedStrings::getByIndex(size_t nIndex) const
--{
-- if(nIndex < maSharedStrings.size())
-- return maSharedStrings[nIndex];
-+ mrStrings.push_back(aNewString);
-
-- throw std::exception();
-+ return mrStrings.size() - 1;
- }
-
- void ScOrcusSharedStrings::set_segment_bold(bool /*b*/)
-@@ -341,6 +419,14 @@
- return 0;
- }
-
-+void ScOrcusStyles::set_number_format(const char* /*s*/, size_t /*n*/)
-+{
-+}
-+
-+size_t ScOrcusStyles::commit_number_format()
-+{
-+ return 0;
-+}
-
- // cell style xf
-
---- sc/source/filter/orcus/orcusfiltersimpl.cxx 2013-06-11 05:33:38.000000000 -0400
-+++ sc/source/filter/orcus/orcusfiltersimpl.cxx 2013-06-24 19:08:23.000000000 -0400
-@@ -17,6 +17,8 @@
- #include <orcus/spreadsheet/import_interface.hpp>
- #include <orcus/orcus_csv.hpp>
- #include <orcus/orcus_gnumeric.hpp>
-+#include <orcus/orcus_xlsx.hpp>
-+#include <orcus/orcus_ods.hpp>
- #include <orcus/global.hpp>
-
- #ifdef WNT
-@@ -71,6 +73,46 @@
- return true;
- }
-
-+bool ScOrcusFiltersImpl::importXLSX(ScDocument& rDoc, const rtl::OUString& rPath) const
-+{
-+ ScOrcusFactory aFactory(rDoc);
-+ OString aSysPath = toSystemPath(rPath);
-+ const char* path = aSysPath.getStr();
-+
-+ try
-+ {
-+ orcus::orcus_xlsx filter(&aFactory);
-+ filter.read_file(path);
-+ }
-+ catch (const std::exception& e)
-+ {
-+ SAL_WARN("sc", "Unable to load xlsx file! " << e.what());
-+ return false;
-+ }
-+
-+ return true;
-+}
-+
-+bool ScOrcusFiltersImpl::importODS(ScDocument& rDoc, const rtl::OUString& rPath) const
-+{
-+ ScOrcusFactory aFactory(rDoc);
-+ OString aSysPath = toSystemPath(rPath);
-+ const char* path = aSysPath.getStr();
-+
-+ try
-+ {
-+ orcus::orcus_ods filter(&aFactory);
-+ filter.read_file(path);
-+ }
-+ catch (const std::exception& e)
-+ {
-+ SAL_WARN("sc", "Unable to load ods file! " << e.what());
-+ return false;
-+ }
-+
-+ return true;
-+}
-+
- ScOrcusXMLContext* ScOrcusFiltersImpl::createXMLContext(ScDocument& rDoc, const rtl::OUString& rPath) const
- {
- return new ScOrcusXMLContextImpl(rDoc, rPath);
diff --git a/libreoffice-liborcus.patch b/libreoffice-liborcus.patch
deleted file mode 100644
index 6685b86..0000000
--- a/libreoffice-liborcus.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- libreoffice-4.0.3.3/configure.ac~ 2013-05-13 08:15:42.000000000 +0200
-+++ libreoffice-4.0.3.3/configure.ac 2013-05-13 08:26:51.147726419 +0200
-@@ -8583,7 +8583,7 @@
- if test "$with_system_orcus" = "yes"; then
- AC_MSG_RESULT([external])
- SYSTEM_LIBORCUS=YES
-- PKG_CHECK_MODULES(ORCUS, liborcus-0.4 >= 0.3.0)
-+ PKG_CHECK_MODULES(ORCUS, liborcus-0.6 >= 0.5.0)
- else
- AC_MSG_RESULT([internal])
- BUILD_TYPE="$BUILD_TYPE ORCUS"
-
diff --git a/libreoffice-mdds.patch b/libreoffice-mdds.patch
index 54c6cf0..562a038 100644
--- a/libreoffice-mdds.patch
+++ b/libreoffice-mdds.patch
@@ -1,72 +1,27 @@
-From 6cbca6fc0ceee4370a962d67db362f3e22270e18 Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida at gmail.com>
-Date: Mon, 06 May 2013 14:27:55 +0000
-Subject: Adjust for API change in mdds 0.8.0.
-
-The return value of search_tree() in flat_segment_tree has changed.
-
-Change-Id: I51d8676bd0621bd43b3f8a8f6be4bf4056d45904
----
-diff --git a/sc/source/core/data/dpfilteredcache.cxx b/sc/source/core/data/dpfilteredcache.cxx
-index 47adbbe..51bf571 100644
---- a/sc/source/core/data/dpfilteredcache.cxx
-+++ b/sc/source/core/data/dpfilteredcache.cxx
-@@ -172,7 +172,7 @@ void ScDPFilteredCache::fillTable(
- {
- if (nRow > nEndSegment)
- {
-- if (!maShowByFilter.search_tree(nRow, bShow, NULL, &nEndSegment))
-+ if (!maShowByFilter.search_tree(nRow, bShow, NULL, &nEndSegment).second)
- {
- OSL_FAIL("Tree search failed!");
- continue;
-diff --git a/sc/source/core/data/segmenttree.cxx b/sc/source/core/data/segmenttree.cxx
-index e74b0fd..b02f164 100644
---- a/sc/source/core/data/segmenttree.cxx
-+++ b/sc/source/core/data/segmenttree.cxx
-@@ -159,7 +159,7 @@ bool ScFlatSegmentsImpl<_ValueType, _ExtValueType>::getRangeData(SCCOLROW nPos,
- if (!maSegments.is_tree_valid())
- maSegments.build_tree();
+--- libreoffice-4.1.0.4/sc/inc/mtvelements.hxx.org 2013-07-25 21:25:20.837766596 +0200
++++ libreoffice-4.1.0.4/sc/inc/mtvelements.hxx 2013-07-25 21:26:32.853493134 +0200
+@@ -63,11 +63,11 @@
+ namespace sc {
-- if (!maSegments.search_tree(nPos, nValue, &nPos1, &nPos2))
-+ if (!maSegments.search_tree(nPos, nValue, &nPos1, &nPos2).second)
- return false;
+ // Broadcaster storage container
+-typedef mdds::mtv::custom_block_func1<sc::element_type_broadcaster, sc::custom_broadcaster_block> BCBlkFunc;
++typedef mdds::mtv::custom_block_func1<sc::custom_broadcaster_block> BCBlkFunc;
+ typedef mdds::multi_type_vector<BCBlkFunc> BroadcasterStoreType;
- rData.mnPos1 = nPos1;
-diff --git a/sc/source/filter/excel/colrowst.cxx b/sc/source/filter/excel/colrowst.cxx
-index 53aa04b..bc43a1e 100644
---- a/sc/source/filter/excel/colrowst.cxx
-+++ b/sc/source/filter/excel/colrowst.cxx
-@@ -208,7 +208,7 @@ void XclImpColRowSettings::Convert( SCTAB nScTab )
- if (GetColFlag(nCol, EXC_COLROW_USED))
- {
- sal_uInt16 nTmp;
-- if (maColWidths.search_tree(nCol, nTmp))
-+ if (maColWidths.search_tree(nCol, nTmp).second)
- nWidth = nTmp;
+ // Cell text attribute container.
+-typedef mdds::mtv::custom_block_func1<sc::element_type_celltextattr, sc::custom_celltextattr_block> CTAttrFunc;
++typedef mdds::mtv::custom_block_func1<sc::custom_celltextattr_block> CTAttrFunc;
+ typedef mdds::multi_type_vector<CTAttrFunc> CellTextAttrStoreType;
+
+ /**
+--- libreoffice-4.1.0.4/sc/source/core/tool/scmatrix.cxx.org 2013-07-25 21:26:36.733621612 +0200
++++ libreoffice-4.1.0.4/sc/source/core/tool/scmatrix.cxx 2013-07-25 21:27:08.784683394 +0200
+@@ -89,7 +89,7 @@
+ }
}
-@@ -258,7 +258,7 @@ void XclImpColRowSettings::Convert( SCTAB nScTab )
- for (SCROW i = nPrevRow; i <= nRow - 1; ++i)
- {
- SCROW nLast;
-- if (!maRowHeights.search_tree(i, nHeight, NULL, &nLast))
-+ if (!maRowHeights.search_tree(i, nHeight, NULL, &nLast).second)
- {
- // search failed for some reason
- return;
-diff --git a/sc/source/filter/xml/XMLStylesExportHelper.cxx b/sc/source/filter/xml/XMLStylesExportHelper.cxx
-index b791e81..9020d38 100644
---- a/sc/source/filter/xml/XMLStylesExportHelper.cxx
-+++ b/sc/source/filter/xml/XMLStylesExportHelper.cxx
-@@ -1280,7 +1280,7 @@ sal_Int32 ScRowStyles::GetStyleNameIndex(const sal_Int32 nTable, const sal_Int32
- r.build_tree();
- sal_Int32 nStyle;
- sal_Int32 nStart, nEnd;
-- if (r.search_tree(nField, nStyle, &nStart, &nEnd))
-+ if (r.search_tree(nField, nStyle, &nStart, &nEnd).second)
- {
- // Cache this value for better performance.
- maCache.mnTable = nTable;
---
-cgit v0.9.0.2-2-gbebe
+- static void delete_block(mdds::mtv::base_element_block* p)
++ static void delete_block(const mdds::mtv::base_element_block* p)
+ {
+ if (!p)
+ return;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libreoffice.git/commitdiff/f5126770768802569684589958992b7578baef24
More information about the pld-cvs-commit
mailing list