libreoffice: update to 6.2.0.3.
[ci skip]
This commit is contained in:
parent
689b960946
commit
2426deca0a
4 changed files with 39 additions and 1511 deletions
|
@ -1,5 +1,5 @@
|
||||||
--- src/common/os/os_utils.h 2016-04-14 16:07:29.000000000 +0200
|
--- src/common/os/os_utils.h 2016-04-14 16:07:29.000000000 +0200
|
||||||
+++ src/common/os/os_utils.h 2018-02-06 01:24:14.872345731 +0100
|
+++ - 2019-02-15 02:22:49.698708718 +0100
|
||||||
@@ -40,6 +40,7 @@
|
@@ -40,6 +40,7 @@
|
||||||
#define mode_t int
|
#define mode_t int
|
||||||
#define DEFAULT_OPEN_MODE (_S_IREAD | _S_IWRITE)
|
#define DEFAULT_OPEN_MODE (_S_IREAD | _S_IWRITE)
|
||||||
|
|
|
@ -1,686 +0,0 @@
|
||||||
commit b0b48c3f49cf5d5e5d0aa66d3e5b74fdac90f561
|
|
||||||
gpg: Signature made 2019-01-09T03:18:02 CET
|
|
||||||
gpg: using RSA key CFFDA1752F6AC6C0907D153174B8EC7053894AC4
|
|
||||||
gpg: Good signature from "Christian Buschau <christian.buschau@mailbox.org>" [ultimate]
|
|
||||||
gpg: aka "Christian Buschau <buschau@finf.uni-hannover.de>" [ultimate]
|
|
||||||
gpg: aka "Christian Buschau <christian.buschau@stud.uni-hannover.de>" [ultimate]
|
|
||||||
Author: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
||||||
Date: Sat Aug 11 13:25:09 2018 +0200
|
|
||||||
|
|
||||||
Update mdds to 1.4.1
|
|
||||||
|
|
||||||
loplugin:constantparam
|
|
||||||
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/58875
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
||||||
(cherry picked from commit bb6f2b12e8f0bbc99a5ca93141d35fd40b043e55)
|
|
||||||
|
|
||||||
Update mdds to 1.4.1.
|
|
||||||
|
|
||||||
The largest change in 1.4.x relevant to the calc code is that the
|
|
||||||
multi_type_matrix::walk() methods now take a copy of the function
|
|
||||||
object rather than a reference, to allow for it to take an inline
|
|
||||||
lambda function. Instead, it does return a instance of the input
|
|
||||||
function object, similar to how std::for_each() behaves.
|
|
||||||
|
|
||||||
In case the function object contains a large data member, try to
|
|
||||||
make it a moveable so that it will get moved rather than copied
|
|
||||||
when going through one of the walk() methods.
|
|
||||||
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/59584
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
|
||||||
(cherry picked from commit 51f73f35ea61dd81dd3194af50394b98ff1bf8e9)
|
|
||||||
|
|
||||||
mdds 1.4.1 is now a minimum requirement.
|
|
||||||
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/59614
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
|
||||||
(cherry picked from commit 4d1f735fcf064b18ef2848cc1f5a2a0616b0b33d)
|
|
||||||
|
|
||||||
fd08fc4a2ed75039e5292a35ff08726e0126c77f
|
|
||||||
647bcfbdd8e0417990ed93b25c1bca00f60df709
|
|
||||||
|
|
||||||
Change-Id: I676a8408e97cc8134009f764736cad68513c89ad
|
|
||||||
|
|
||||||
diff --git configure.ac configure.ac
|
|
||||||
index d75f1fc88213..9a9da47dbb93 100644
|
|
||||||
--- configure.ac
|
|
||||||
+++ configure.ac
|
|
||||||
@@ -8900,7 +8900,7 @@ AC_SUBST(SYSTEM_BOOST)
|
|
||||||
dnl ===================================================================
|
|
||||||
dnl Check for system mdds
|
|
||||||
dnl ===================================================================
|
|
||||||
-libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.2 >= 1.2.3], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
|
|
||||||
+libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.4 >= 1.4.1], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
|
|
||||||
|
|
||||||
dnl ===================================================================
|
|
||||||
dnl Check for system glm
|
|
||||||
diff --git download.lst download.lst
|
|
||||||
index d60e996e9959..6ccc7f386b65 100644
|
|
||||||
--- download.lst
|
|
||||||
+++ download.lst
|
|
||||||
@@ -166,8 +166,8 @@ export LXML_SHA256SUM := 940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a
|
|
||||||
export LXML_TARBALL := lxml-4.1.1.tgz
|
|
||||||
export MARIADB_CONNECTOR_C_SHA256SUM := fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60
|
|
||||||
export MARIADB_CONNECTOR_C_TARBALL := a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz
|
|
||||||
-export MDDS_SHA256SUM := dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1
|
|
||||||
-export MDDS_TARBALL := mdds-1.3.1.tar.bz2
|
|
||||||
+export MDDS_SHA256SUM := 9ac690c37f5f06dc88551405d5daf9d9ad25edf65aae6325b59e905c2ba444c3
|
|
||||||
+export MDDS_TARBALL := mdds-1.4.1.tar.bz2
|
|
||||||
export MDNSRESPONDER_SHA256SUM := 4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0
|
|
||||||
export MDNSRESPONDER_TARBALL := mDNSResponder-576.30.4.tar.gz
|
|
||||||
export MSPUB_SHA256SUM := ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba
|
|
||||||
diff --git external/mdds/UnpackedTarball_mdds.mk external/mdds/UnpackedTarball_mdds.mk
|
|
||||||
index 4f6db6b24e7b..c015f4c13f5a 100644
|
|
||||||
--- external/mdds/UnpackedTarball_mdds.mk
|
|
||||||
+++ external/mdds/UnpackedTarball_mdds.mk
|
|
||||||
@@ -13,10 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
|
|
||||||
|
|
||||||
$(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
|
|
||||||
|
|
||||||
-# c++17.patch upstreamed as <https://gitlab.com/mdds/mdds/merge_requests/11> "Remove some
|
|
||||||
-# unnecessary uses of obsolete std::unary_function":
|
|
||||||
$(eval $(call gb_UnpackedTarball_add_patches,mdds,\
|
|
||||||
- external/mdds/c++17.patch \
|
|
||||||
))
|
|
||||||
|
|
||||||
# vim: set noet sw=4 ts=4:
|
|
||||||
diff --git external/mdds/c++17.patch external/mdds/c++17.patch
|
|
||||||
deleted file mode 100644
|
|
||||||
index d96910f34e68..000000000000
|
|
||||||
--- external/mdds/c++17.patch
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,22 +0,0 @@
|
|
||||||
---- include/mdds/multi_type_matrix.hpp
|
|
||||||
-+++ include/mdds/multi_type_matrix.hpp
|
|
||||||
-@@ -149,7 +149,7 @@
|
|
||||||
-
|
|
||||||
- private:
|
|
||||||
- template<typename _Func>
|
|
||||||
-- struct walk_func : std::unary_function<typename store_type::const_iterator::value_type, void>
|
|
||||||
-+ struct walk_func
|
|
||||||
- {
|
|
||||||
- _Func& m_func;
|
|
||||||
- walk_func(_Func& func) : m_func(func) {}
|
|
||||||
---- include/mdds/multi_type_vector.hpp
|
|
||||||
-+++ include/mdds/multi_type_vector.hpp
|
|
||||||
-@@ -139,7 +139,7 @@
|
|
||||||
- block& operator=(block);
|
|
||||||
- };
|
|
||||||
-
|
|
||||||
-- struct element_block_deleter : public std::unary_function<void, const element_block_type*>
|
|
||||||
-+ struct element_block_deleter
|
|
||||||
- {
|
|
||||||
- void operator() (const element_block_type* p)
|
|
||||||
- {
|
|
||||||
diff --git sc/inc/scmatrix.hxx sc/inc/scmatrix.hxx
|
|
||||||
index 9be335fbc06b..b1bc5e0e3047 100644
|
|
||||||
--- sc/inc/scmatrix.hxx
|
|
||||||
+++ sc/inc/scmatrix.hxx
|
|
||||||
@@ -399,7 +399,7 @@ public:
|
|
||||||
virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) = 0;
|
|
||||||
virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) = 0;
|
|
||||||
|
|
||||||
- virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) = 0;
|
|
||||||
+ virtual std::vector<ScMatrix::IterateResult> Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp) = 0;
|
|
||||||
|
|
||||||
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
|
|
||||||
DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
|
|
||||||
@@ -617,7 +617,7 @@ public:
|
|
||||||
virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) override;
|
|
||||||
virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) override;
|
|
||||||
|
|
||||||
- virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
|
|
||||||
+ virtual std::vector<ScMatrix::IterateResult> Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
|
|
||||||
|
|
||||||
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
|
|
||||||
DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
|
|
||||||
@@ -837,7 +837,7 @@ public:
|
|
||||||
virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) override;
|
|
||||||
virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) override;
|
|
||||||
|
|
||||||
- virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
|
|
||||||
+ virtual std::vector<ScMatrix::IterateResult> Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
|
|
||||||
|
|
||||||
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
|
|
||||||
DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
|
|
||||||
diff --git sc/source/core/tool/interpr3.cxx sc/source/core/tool/interpr3.cxx
|
|
||||||
index 28e8cd9a9c48..88c0d8353783 100644
|
|
||||||
--- sc/source/core/tool/interpr3.cxx
|
|
||||||
+++ sc/source/core/tool/interpr3.cxx
|
|
||||||
@@ -2745,12 +2745,12 @@ void ScInterpreter::ScFTest()
|
|
||||||
aOp.emplace_back(new sc::op::Op(0.0, [](double& rAccum, double fVal){rAccum += fVal;}));
|
|
||||||
aOp.emplace_back(new sc::op::Op(0.0, [](double& rAccum, double fVal){rAccum += fVal * fVal;}));
|
|
||||||
|
|
||||||
- auto aVal1 = pMat1->Collect(false, aOp);
|
|
||||||
+ auto aVal1 = pMat1->Collect(aOp);
|
|
||||||
fSum1 = aVal1[0].mfFirst + aVal1[0].mfRest;
|
|
||||||
fSumSqr1 = aVal1[1].mfFirst + aVal1[1].mfRest;
|
|
||||||
fCount1 = aVal1[2].mnCount;
|
|
||||||
|
|
||||||
- auto aVal2 = pMat2->Collect(false, aOp);
|
|
||||||
+ auto aVal2 = pMat2->Collect(aOp);
|
|
||||||
fSum2 = aVal2[0].mfFirst + aVal2[0].mfRest;
|
|
||||||
fSumSqr2 = aVal2[1].mfFirst + aVal2[1].mfRest;
|
|
||||||
fCount2 = aVal2[2].mnCount;
|
|
||||||
diff --git sc/source/core/tool/scmatrix.cxx sc/source/core/tool/scmatrix.cxx
|
|
||||||
index 7f8c8767e917..7dadec9f0b57 100644
|
|
||||||
--- sc/source/core/tool/scmatrix.cxx
|
|
||||||
+++ sc/source/core/tool/scmatrix.cxx
|
|
||||||
@@ -160,6 +160,12 @@ public:
|
|
||||||
maNewMatValues.reserve(nRow*nCol);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ CompareMatrixElemFunc( const CompareMatrixElemFunc& ) = delete;
|
|
||||||
+ CompareMatrixElemFunc& operator= ( const CompareMatrixElemFunc& ) = delete;
|
|
||||||
+
|
|
||||||
+ CompareMatrixElemFunc( CompareMatrixElemFunc&& ) = default;
|
|
||||||
+ CompareMatrixElemFunc& operator= ( CompareMatrixElemFunc&& ) = default;
|
|
||||||
+
|
|
||||||
void operator() (const MatrixImplType::element_block_node_type& node)
|
|
||||||
{
|
|
||||||
switch (node.type)
|
|
||||||
@@ -323,7 +329,7 @@ public:
|
|
||||||
const ScFullMatrix::EmptyOpFunction& aEmptyFunc) const;
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
- std::vector<ScMatrix::IterateResult> ApplyCollectOperation(bool bTextAsZero, const std::vector<std::unique_ptr<T>>& aOp);
|
|
||||||
+ std::vector<ScMatrix::IterateResult> ApplyCollectOperation(const std::vector<std::unique_ptr<T>>& aOp);
|
|
||||||
|
|
||||||
void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2,
|
|
||||||
SvNumberFormatter& rFormatter, svl::SharedStringPool& rPool);
|
|
||||||
@@ -979,7 +985,7 @@ void ScMatrixImpl::CompareEqual()
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
CompareMatrixElemFunc<ElemEqualZero> aFunc(aSize.row, aSize.column);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(maMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -987,7 +993,7 @@ void ScMatrixImpl::CompareNotEqual()
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
CompareMatrixElemFunc<ElemNotEqualZero> aFunc(aSize.row, aSize.column);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(maMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -995,7 +1001,7 @@ void ScMatrixImpl::CompareLess()
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
CompareMatrixElemFunc<ElemLessZero> aFunc(aSize.row, aSize.column);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(maMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1003,7 +1009,7 @@ void ScMatrixImpl::CompareGreater()
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
CompareMatrixElemFunc<ElemGreaterZero> aFunc(aSize.row, aSize.column);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(maMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1011,7 +1017,7 @@ void ScMatrixImpl::CompareLessEqual()
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
CompareMatrixElemFunc<ElemLessEqualZero> aFunc(aSize.row, aSize.column);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(maMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1019,7 +1025,7 @@ void ScMatrixImpl::CompareGreaterEqual()
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
CompareMatrixElemFunc<ElemGreaterEqualZero> aFunc(aSize.row, aSize.column);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(maMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1174,21 +1180,34 @@ public:
|
|
||||||
template<typename Op>
|
|
||||||
class WalkElementBlocksMultipleValues
|
|
||||||
{
|
|
||||||
- const std::vector<std::unique_ptr<Op>>& maOp;
|
|
||||||
+ const std::vector<std::unique_ptr<Op>>* mpOp;
|
|
||||||
std::vector<ScMatrix::IterateResult> maRes;
|
|
||||||
bool mbFirst:1;
|
|
||||||
- bool mbTextAsZero:1;
|
|
||||||
public:
|
|
||||||
- WalkElementBlocksMultipleValues(bool bTextAsZero, const std::vector<std::unique_ptr<Op>>& aOp) :
|
|
||||||
- maOp(aOp), mbFirst(true), mbTextAsZero(bTextAsZero)
|
|
||||||
+ WalkElementBlocksMultipleValues(const std::vector<std::unique_ptr<Op>>& aOp) :
|
|
||||||
+ mpOp(&aOp), mbFirst(true)
|
|
||||||
{
|
|
||||||
- for (const auto& rpOp : maOp)
|
|
||||||
+ for (const auto& rpOp : *mpOp)
|
|
||||||
{
|
|
||||||
maRes.emplace_back(rpOp->mInitVal, rpOp->mInitVal, 0);
|
|
||||||
}
|
|
||||||
maRes.emplace_back(0.0, 0.0, 0); // count
|
|
||||||
}
|
|
||||||
|
|
||||||
+ WalkElementBlocksMultipleValues( const WalkElementBlocksMultipleValues& ) = delete;
|
|
||||||
+ WalkElementBlocksMultipleValues& operator= ( const WalkElementBlocksMultipleValues& ) = delete;
|
|
||||||
+
|
|
||||||
+ WalkElementBlocksMultipleValues( WalkElementBlocksMultipleValues&& r ) :
|
|
||||||
+ mpOp(r.mpOp), maRes(std::move(r.maRes)), mbFirst(r.mbFirst) {}
|
|
||||||
+
|
|
||||||
+ WalkElementBlocksMultipleValues& operator= ( WalkElementBlocksMultipleValues&& r )
|
|
||||||
+ {
|
|
||||||
+ mpOp = r.mpOp;
|
|
||||||
+ maRes = std::move(r.maRes);
|
|
||||||
+ mbFirst = r.mbFirst;
|
|
||||||
+ return *this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
const std::vector<ScMatrix::IterateResult>& getResult() const { return maRes; }
|
|
||||||
|
|
||||||
void operator() (const MatrixImplType::element_block_node_type& node)
|
|
||||||
@@ -1205,17 +1224,17 @@ public:
|
|
||||||
{
|
|
||||||
if (mbFirst)
|
|
||||||
{
|
|
||||||
- for (auto i = 0u; i < maOp.size(); ++i)
|
|
||||||
+ for (auto i = 0u; i < mpOp->size(); ++i)
|
|
||||||
{
|
|
||||||
- (*maOp[i])(maRes[i].mfFirst, *it);
|
|
||||||
+ (*(*mpOp)[i])(maRes[i].mfFirst, *it);
|
|
||||||
}
|
|
||||||
mbFirst = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- for (auto i = 0u; i < maOp.size(); ++i)
|
|
||||||
+ for (auto i = 0u; i < mpOp->size(); ++i)
|
|
||||||
{
|
|
||||||
- (*maOp[i])(maRes[i].mfRest, *it);
|
|
||||||
+ (*(*mpOp)[i])(maRes[i].mfRest, *it);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1232,17 +1251,17 @@ public:
|
|
||||||
{
|
|
||||||
if (mbFirst)
|
|
||||||
{
|
|
||||||
- for (auto i = 0u; i < maOp.size(); ++i)
|
|
||||||
+ for (auto i = 0u; i < mpOp->size(); ++i)
|
|
||||||
{
|
|
||||||
- (*maOp[i])(maRes[i].mfFirst, *it);
|
|
||||||
+ (*(*mpOp)[i])(maRes[i].mfFirst, *it);
|
|
||||||
}
|
|
||||||
mbFirst = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- for (auto i = 0u; i < maOp.size(); ++i)
|
|
||||||
+ for (auto i = 0u; i < mpOp->size(); ++i)
|
|
||||||
{
|
|
||||||
- (*maOp[i])(maRes[i].mfRest, *it);
|
|
||||||
+ (*(*mpOp)[i])(maRes[i].mfRest, *it);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1250,9 +1269,6 @@ public:
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case mdds::mtm::element_string:
|
|
||||||
- if (mbTextAsZero)
|
|
||||||
- maRes.back().mnCount += node.size;
|
|
||||||
- break;
|
|
||||||
case mdds::mtm::element_empty:
|
|
||||||
default:
|
|
||||||
;
|
|
||||||
@@ -1310,8 +1326,8 @@ template<typename Type>
|
|
||||||
class WalkAndMatchElements
|
|
||||||
{
|
|
||||||
Type maMatchValue;
|
|
||||||
- const size_t mnStartIndex;
|
|
||||||
- const size_t mnStopIndex;
|
|
||||||
+ size_t mnStartIndex;
|
|
||||||
+ size_t mnStopIndex;
|
|
||||||
size_t mnResult;
|
|
||||||
size_t mnIndex;
|
|
||||||
|
|
||||||
@@ -1669,6 +1685,24 @@ public:
|
|
||||||
maResValues.reserve(nResSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ CompareMatrixFunc( const CompareMatrixFunc& ) = delete;
|
|
||||||
+ CompareMatrixFunc& operator= ( const CompareMatrixFunc& ) = delete;
|
|
||||||
+
|
|
||||||
+ CompareMatrixFunc( CompareMatrixFunc&& r ) :
|
|
||||||
+ mrComp(r.mrComp),
|
|
||||||
+ mnMatPos(r.mnMatPos),
|
|
||||||
+ mpOptions(r.mpOptions),
|
|
||||||
+ maResValues(std::move(r.maResValues)) {}
|
|
||||||
+
|
|
||||||
+ CompareMatrixFunc& operator= ( CompareMatrixFunc&& r )
|
|
||||||
+ {
|
|
||||||
+ mrComp = r.mrComp;
|
|
||||||
+ mnMatPos = r.mnMatPos;
|
|
||||||
+ mpOptions = r.mpOptions;
|
|
||||||
+ maResValues = std::move(r.maResValues);
|
|
||||||
+ return *this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
void operator() (const MatrixImplType::element_block_node_type& node)
|
|
||||||
{
|
|
||||||
sc::Compare::Cell& rCell = mrComp.maCells[mnMatPos];
|
|
||||||
@@ -1777,6 +1811,24 @@ public:
|
|
||||||
maResValues.reserve(nResSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ CompareMatrixToNumericFunc( const CompareMatrixToNumericFunc& ) = delete;
|
|
||||||
+ CompareMatrixToNumericFunc& operator= ( const CompareMatrixToNumericFunc& ) = delete;
|
|
||||||
+
|
|
||||||
+ CompareMatrixToNumericFunc( CompareMatrixToNumericFunc&& r ) :
|
|
||||||
+ mrComp(r.mrComp),
|
|
||||||
+ mfRightValue(r.mfRightValue),
|
|
||||||
+ mpOptions(r.mpOptions),
|
|
||||||
+ maResValues(std::move(r.maResValues)) {}
|
|
||||||
+
|
|
||||||
+ CompareMatrixToNumericFunc& operator= ( CompareMatrixToNumericFunc&& r )
|
|
||||||
+ {
|
|
||||||
+ mrComp = r.mrComp;
|
|
||||||
+ mfRightValue = r.mfRightValue;
|
|
||||||
+ mpOptions = r.mpOptions;
|
|
||||||
+ maResValues = std::move(r.maResValues);
|
|
||||||
+ return *this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
void operator() (const MatrixImplType::element_block_node_type& node)
|
|
||||||
{
|
|
||||||
sc::Compare::Cell& rCell = mrComp.maCells[0];
|
|
||||||
@@ -1840,6 +1892,17 @@ class ToDoubleArray
|
|
||||||
double mfNaN;
|
|
||||||
bool mbEmptyAsZero;
|
|
||||||
|
|
||||||
+ void moveArray( ToDoubleArray& r )
|
|
||||||
+ {
|
|
||||||
+ // Re-create the iterator from the new array after the array has been
|
|
||||||
+ // moved, to ensure that the iterator points to a valid array
|
|
||||||
+ // position.
|
|
||||||
+ size_t n = std::distance(r.maArray.begin(), r.miPos);
|
|
||||||
+ maArray = std::move(r.maArray);
|
|
||||||
+ miPos = maArray.begin();
|
|
||||||
+ std::advance(miPos, n);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public:
|
|
||||||
ToDoubleArray( size_t nSize, bool bEmptyAsZero ) :
|
|
||||||
maArray(nSize, 0.0), miPos(maArray.begin()), mbEmptyAsZero(bEmptyAsZero)
|
|
||||||
@@ -1847,6 +1910,23 @@ public:
|
|
||||||
mfNaN = CreateDoubleError( FormulaError::ElementNaN);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ ToDoubleArray( const ToDoubleArray& ) = delete;
|
|
||||||
+ ToDoubleArray& operator= ( const ToDoubleArray& ) = delete;
|
|
||||||
+
|
|
||||||
+ ToDoubleArray( ToDoubleArray&& r ) :
|
|
||||||
+ mfNaN(r.mfNaN), mbEmptyAsZero(r.mbEmptyAsZero)
|
|
||||||
+ {
|
|
||||||
+ moveArray(r);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ToDoubleArray& operator= ( ToDoubleArray&& r )
|
|
||||||
+ {
|
|
||||||
+ mfNaN = r.mfNaN;
|
|
||||||
+ mbEmptyAsZero = r.mbEmptyAsZero;
|
|
||||||
+ moveArray(r);
|
|
||||||
+ return *this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
void operator() (const MatrixImplType::element_block_node_type& node)
|
|
||||||
{
|
|
||||||
using namespace mdds::mtv;
|
|
||||||
@@ -1917,6 +1997,12 @@ public:
|
|
||||||
mfNaN = CreateDoubleError( FormulaError::ElementNaN);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ MergeDoubleArrayFunc( const MergeDoubleArrayFunc& ) = delete;
|
|
||||||
+ MergeDoubleArrayFunc& operator= ( const MergeDoubleArrayFunc& ) = delete;
|
|
||||||
+
|
|
||||||
+ MergeDoubleArrayFunc( MergeDoubleArrayFunc&& ) = default;
|
|
||||||
+ MergeDoubleArrayFunc& operator= ( MergeDoubleArrayFunc&& ) = default;
|
|
||||||
+
|
|
||||||
void operator() (const MatrixImplType::element_block_node_type& node)
|
|
||||||
{
|
|
||||||
using namespace mdds::mtv;
|
|
||||||
@@ -1982,7 +2068,7 @@ template<typename TOp>
|
|
||||||
ScMatrix::IterateResult GetValueWithCount(bool bTextAsZero, const MatrixImplType& maMat)
|
|
||||||
{
|
|
||||||
WalkElementBlocks<TOp> aFunc(bTextAsZero);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2006,49 +2092,49 @@ ScMatrix::IterateResult ScMatrixImpl::Product(bool bTextAsZero) const
|
|
||||||
size_t ScMatrixImpl::Count(bool bCountStrings, bool bCountErrors) const
|
|
||||||
{
|
|
||||||
CountElements aFunc(bCountStrings, bCountErrors);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t ScMatrixImpl::MatchDoubleInColumns(double fValue, size_t nCol1, size_t nCol2) const
|
|
||||||
{
|
|
||||||
WalkAndMatchElements<double> aFunc(fValue, maMat.size(), nCol1, nCol2);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getMatching();
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t ScMatrixImpl::MatchStringInColumns(const svl::SharedString& rStr, size_t nCol1, size_t nCol2) const
|
|
||||||
{
|
|
||||||
WalkAndMatchElements<svl::SharedString> aFunc(rStr, maMat.size(), nCol1, nCol2);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getMatching();
|
|
||||||
}
|
|
||||||
|
|
||||||
double ScMatrixImpl::GetMaxValue( bool bTextAsZero ) const
|
|
||||||
{
|
|
||||||
CalcMaxMinValue<MaxOp> aFunc(bTextAsZero);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
double ScMatrixImpl::GetMinValue( bool bTextAsZero ) const
|
|
||||||
{
|
|
||||||
CalcMaxMinValue<MinOp> aFunc(bTextAsZero);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
double ScMatrixImpl::GetGcd() const
|
|
||||||
{
|
|
||||||
CalcGcdLcm<Gcd> aFunc;
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
double ScMatrixImpl::GetLcm() const
|
|
||||||
{
|
|
||||||
CalcGcdLcm<Lcm> aFunc;
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
return aFunc.getResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2065,7 +2151,7 @@ ScMatrixRef ScMatrixImpl::CompareMatrix(
|
|
||||||
// function object that has much less branching for much better
|
|
||||||
// performance.
|
|
||||||
CompareMatrixToNumericFunc aFunc(nSize, rComp, rComp.maCells[1].mfValue, pOptions);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
|
|
||||||
// We assume the result matrix has the same dimension as this matrix.
|
|
||||||
const std::vector<double>& rResVal = aFunc.getValues();
|
|
||||||
@@ -2077,7 +2163,7 @@ ScMatrixRef ScMatrixImpl::CompareMatrix(
|
|
||||||
}
|
|
||||||
|
|
||||||
CompareMatrixFunc aFunc(nSize, rComp, nMatPos, pOptions);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
|
|
||||||
// We assume the result matrix has the same dimension as this matrix.
|
|
||||||
const std::vector<double>& rResVal = aFunc.getValues();
|
|
||||||
@@ -2091,7 +2177,7 @@ void ScMatrixImpl::GetDoubleArray( std::vector<double>& rArray, bool bEmptyAsZer
|
|
||||||
{
|
|
||||||
MatrixImplType::size_pair_type aSize = maMat.size();
|
|
||||||
ToDoubleArray aFunc(aSize.row*aSize.column, bEmptyAsZero);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
aFunc.swap(rArray);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2107,7 +2193,7 @@ void ScMatrixImpl::MergeDoubleArray( std::vector<double>& rArray, ScFullMatrix::
|
|
||||||
case ScFullMatrix::Mul:
|
|
||||||
{
|
|
||||||
MergeDoubleArrayFunc<ArrayMul> aFunc(rArray);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
@@ -2329,16 +2415,26 @@ struct MatrixOpWrapper
|
|
||||||
private:
|
|
||||||
MatrixImplType& mrMat;
|
|
||||||
MatrixImplType::position_type pos;
|
|
||||||
- T maOp;
|
|
||||||
+ const T* mpOp;
|
|
||||||
|
|
||||||
public:
|
|
||||||
- MatrixOpWrapper(MatrixImplType& rMat, T const & aOp):
|
|
||||||
+ MatrixOpWrapper(MatrixImplType& rMat, const T& aOp):
|
|
||||||
mrMat(rMat),
|
|
||||||
pos(rMat.position(0,0)),
|
|
||||||
- maOp(aOp)
|
|
||||||
+ mpOp(&aOp)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
+ MatrixOpWrapper( const MatrixOpWrapper& r ) : mrMat(r.mrMat), pos(r.pos), mpOp(r.mpOp) {}
|
|
||||||
+
|
|
||||||
+ MatrixOpWrapper& operator= ( const MatrixOpWrapper& r )
|
|
||||||
+ {
|
|
||||||
+ mrMat = r.mrMat;
|
|
||||||
+ pos = r.pos;
|
|
||||||
+ mpOp = r.mpOp;
|
|
||||||
+ return *this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
void operator()(const MatrixImplType::element_block_node_type& node)
|
|
||||||
{
|
|
||||||
switch (node.type)
|
|
||||||
@@ -2349,7 +2445,7 @@ public:
|
|
||||||
|
|
||||||
block_type::const_iterator it = block_type::begin(*node.data);
|
|
||||||
block_type::const_iterator itEnd = block_type::end(*node.data);
|
|
||||||
- MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, maOp);
|
|
||||||
+ MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, *mpOp);
|
|
||||||
pos = mrMat.set(pos,aFunc.begin(), aFunc.end());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
@@ -2360,7 +2456,7 @@ public:
|
|
||||||
block_type::const_iterator it = block_type::begin(*node.data);
|
|
||||||
block_type::const_iterator itEnd = block_type::end(*node.data);
|
|
||||||
|
|
||||||
- MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, maOp);
|
|
||||||
+ MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, *mpOp);
|
|
||||||
pos = mrMat.set(pos, aFunc.begin(), aFunc.end());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
@@ -2371,17 +2467,17 @@ public:
|
|
||||||
block_type::const_iterator it = block_type::begin(*node.data);
|
|
||||||
block_type::const_iterator itEnd = block_type::end(*node.data);
|
|
||||||
|
|
||||||
- MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, maOp);
|
|
||||||
+ MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, *mpOp);
|
|
||||||
pos = mrMat.set(pos, aFunc.begin(), aFunc.end());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case mdds::mtm::element_empty:
|
|
||||||
{
|
|
||||||
- if (maOp.useFunctionForEmpty())
|
|
||||||
+ if (mpOp->useFunctionForEmpty())
|
|
||||||
{
|
|
||||||
std::vector<char> aVec(node.size);
|
|
||||||
MatrixIteratorWrapper<std::vector<char>, T, typename T::number_value_type>
|
|
||||||
- aFunc(aVec.begin(), aVec.end(), maOp);
|
|
||||||
+ aFunc(aVec.begin(), aVec.end(), *mpOp);
|
|
||||||
pos = mrMat.set(pos, aFunc.begin(), aFunc.end());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2397,14 +2493,14 @@ template<typename T>
|
|
||||||
void ScMatrixImpl::ApplyOperation(T aOp, ScMatrixImpl& rMat)
|
|
||||||
{
|
|
||||||
MatrixOpWrapper<T> aFunc(rMat.maMat, aOp);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ aFunc = maMat.walk(aFunc);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
-std::vector<ScMatrix::IterateResult> ScMatrixImpl::ApplyCollectOperation(bool bTextAsZero, const std::vector<std::unique_ptr<T>>& aOp)
|
|
||||||
+std::vector<ScMatrix::IterateResult> ScMatrixImpl::ApplyCollectOperation(const std::vector<std::unique_ptr<T>>& aOp)
|
|
||||||
{
|
|
||||||
- WalkElementBlocksMultipleValues<T> aFunc(bTextAsZero, aOp);
|
|
||||||
- maMat.walk(aFunc);
|
|
||||||
+ WalkElementBlocksMultipleValues<T> aFunc(aOp);
|
|
||||||
+ aFunc = maMat.walk(std::move(aFunc));
|
|
||||||
return aFunc.getResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2544,8 +2640,10 @@ void ScMatrixImpl::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
|
|
||||||
{
|
|
||||||
WalkElementBlockOperation aFunc(maMat.size().row,
|
|
||||||
aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
|
|
||||||
- maMat.walk(aFunc, MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second),
|
|
||||||
- MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second));
|
|
||||||
+ aFunc = maMat.walk(
|
|
||||||
+ aFunc,
|
|
||||||
+ MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second),
|
|
||||||
+ MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second));
|
|
||||||
}
|
|
||||||
|
|
||||||
#if DEBUG_MATRIX
|
|
||||||
@@ -3452,9 +3550,9 @@ void ScFullMatrix::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
|
|
||||||
pImpl->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
|
|
||||||
}
|
|
||||||
|
|
||||||
-std::vector<ScMatrix::IterateResult> ScFullMatrix::Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
|
|
||||||
+std::vector<ScMatrix::IterateResult> ScFullMatrix::Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
|
|
||||||
{
|
|
||||||
- return pImpl->ApplyCollectOperation(bTextAsZero, aOp);
|
|
||||||
+ return pImpl->ApplyCollectOperation(aOp);
|
|
||||||
}
|
|
||||||
|
|
||||||
ScFullMatrix& ScFullMatrix::operator+= ( const ScFullMatrix& r )
|
|
||||||
@@ -4216,10 +4314,10 @@ void ScVectorRefMatrix::PowOp(bool bFlag, double fVal, ScMatrix& rMat)
|
|
||||||
mpFullMatrix->PowOp(bFlag, fVal, rMat);
|
|
||||||
}
|
|
||||||
|
|
||||||
-std::vector<ScMatrix::IterateResult> ScVectorRefMatrix::Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
|
|
||||||
+std::vector<ScMatrix::IterateResult> ScVectorRefMatrix::Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
|
|
||||||
{
|
|
||||||
ensureFullMatrix();
|
|
||||||
- return mpFullMatrix->Collect(bTextAsZero, aOp);
|
|
||||||
+ return mpFullMatrix->Collect(aOp);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ScVectorRefMatrix::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
|
|
|
@ -1,790 +0,0 @@
|
||||||
commit 50514290539d509e87042bfbdd50d10bb96ddb8d
|
|
||||||
gpg: Signature made 2019-01-09T03:19:25 CET
|
|
||||||
gpg: using RSA key CFFDA1752F6AC6C0907D153174B8EC7053894AC4
|
|
||||||
gpg: Good signature from "Christian Buschau <christian.buschau@mailbox.org>" [ultimate]
|
|
||||||
gpg: aka "Christian Buschau <buschau@finf.uni-hannover.de>" [ultimate]
|
|
||||||
gpg: aka "Christian Buschau <christian.buschau@stud.uni-hannover.de>" [ultimate]
|
|
||||||
Author: Kohei Yoshida <kohei.yoshida@gmail.com>
|
|
||||||
Date: Mon Aug 27 11:06:17 2018 -0400
|
|
||||||
|
|
||||||
Update orcus to 0.14.0.
|
|
||||||
|
|
||||||
And make all necessary adjustments for the new version of orcus.
|
|
||||||
|
|
||||||
Change-Id: I0dc207162a3ddfaad6da198a3d13b65f530757d5
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/59884
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
|
||||||
|
|
||||||
diff --git RepositoryExternal.mk RepositoryExternal.mk
|
|
||||||
index ac962732c0c6..20ba30bf542e 100644
|
|
||||||
--- RepositoryExternal.mk
|
|
||||||
+++ RepositoryExternal.mk
|
|
||||||
@@ -3324,7 +3324,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.13 \
|
|
||||||
+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.14 \
|
|
||||||
)
|
|
||||||
|
|
||||||
$(if $(SYSTEM_BOOST), \
|
|
||||||
@@ -3343,7 +3343,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.13 \
|
|
||||||
+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.14 \
|
|
||||||
)
|
|
||||||
|
|
||||||
endef
|
|
||||||
diff --git configure.ac configure.ac
|
|
||||||
index 9a9da47dbb93..a5a7a64de2d5 100644
|
|
||||||
--- configure.ac
|
|
||||||
+++ configure.ac
|
|
||||||
@@ -9189,7 +9189,7 @@ AC_SUBST(ENABLE_FUZZERS)
|
|
||||||
dnl ===================================================================
|
|
||||||
dnl Orcus
|
|
||||||
dnl ===================================================================
|
|
||||||
-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.13 >= 0.13.3])
|
|
||||||
+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.14 >= 0.14.0])
|
|
||||||
if test "$with_system_orcus" != "yes"; then
|
|
||||||
if test "$SYSTEM_BOOST" = "TRUE"; then
|
|
||||||
# ===========================================================
|
|
||||||
diff --git download.lst download.lst
|
|
||||||
index 6ccc7f386b65..7447cf933d8d 100644
|
|
||||||
--- download.lst
|
|
||||||
+++ download.lst
|
|
||||||
@@ -194,8 +194,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89
|
|
||||||
export OPENLDAP_TARBALL := openldap-2.4.45.tgz
|
|
||||||
export OPENSSL_SHA256SUM := 50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00
|
|
||||||
export OPENSSL_TARBALL := openssl-1.0.2p.tar.gz
|
|
||||||
-export ORCUS_SHA256SUM := bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b
|
|
||||||
-export ORCUS_TARBALL := liborcus-0.13.4.tar.gz
|
|
||||||
+export ORCUS_SHA256SUM := 7bcfac3f4f490540292cfc87d3fde7b47eafa8450afa1e1a2c181d8293dcd4ef
|
|
||||||
+export ORCUS_TARBALL := liborcus-0.14.0.tar.gz
|
|
||||||
export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb
|
|
||||||
export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz
|
|
||||||
export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d
|
|
||||||
diff --git external/liborcus/0001-Missing-header-for-std-tolower.patch external/liborcus/0001-Missing-header-for-std-tolower.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..2e00be92a872
|
|
||||||
--- /dev/null
|
|
||||||
+++ external/liborcus/0001-Missing-header-for-std-tolower.patch
|
|
||||||
@@ -0,0 +1,24 @@
|
|
||||||
+From 3a6bb93a382b4d5f1463ee3fdd54cab7048ff996 Mon Sep 17 00:00:00 2001
|
|
||||||
+From: Kohei Yoshida <kohei.yoshida@gmail.com>
|
|
||||||
+Date: Fri, 31 Aug 2018 16:07:06 -0400
|
|
||||||
+Subject: [PATCH] Missing header for std::tolower.
|
|
||||||
+
|
|
||||||
+---
|
|
||||||
+ src/parser/sax_token_parser.cpp | 1 +
|
|
||||||
+ 1 file changed, 1 insertion(+)
|
|
||||||
+
|
|
||||||
+diff --git a/src/parser/sax_token_parser.cpp b/src/parser/sax_token_parser.cpp
|
|
||||||
+index 9790b498..44ba5844 100644
|
|
||||||
+--- a/src/parser/sax_token_parser.cpp
|
|
||||||
++++ b/src/parser/sax_token_parser.cpp
|
|
||||||
+@@ -9,6 +9,7 @@
|
|
||||||
+ #include "orcus/tokens.hpp"
|
|
||||||
+
|
|
||||||
+ #include <mdds/sorted_string_map.hpp>
|
|
||||||
++#include <cctype>
|
|
||||||
+
|
|
||||||
+ namespace orcus {
|
|
||||||
+
|
|
||||||
+--
|
|
||||||
+2.17.1
|
|
||||||
+
|
|
||||||
diff --git external/liborcus/ExternalPackage_liborcus.mk external/liborcus/ExternalPackage_liborcus.mk
|
|
||||||
index 32382b7d89a1..ffa0b38bea19 100644
|
|
||||||
--- external/liborcus/ExternalPackage_liborcus.mk
|
|
||||||
+++ 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.13.0.dylib,src/liborcus/.libs/liborcus-0.13.0.dylib))
|
|
||||||
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.0.dylib,src/parser/.libs/liborcus-parser-0.13.0.dylib))
|
|
||||||
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.14.0.dylib,src/liborcus/.libs/liborcus-0.14.0.dylib))
|
|
||||||
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.14.0.dylib,src/parser/.libs/liborcus-parser-0.14.0.dylib))
|
|
||||||
else ifeq ($(DISABLE_DYNLOADING),)
|
|
||||||
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.so.0,src/liborcus/.libs/liborcus-0.13.so.0.0.0))
|
|
||||||
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.so.0,src/parser/.libs/liborcus-parser-0.13.so.0.0.0))
|
|
||||||
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.14.so.0,src/liborcus/.libs/liborcus-0.14.so.0.0.0))
|
|
||||||
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.14.so.0,src/parser/.libs/liborcus-parser-0.14.so.0.0.0))
|
|
||||||
endif
|
|
||||||
|
|
||||||
# vim: set noet sw=4 ts=4:
|
|
||||||
diff --git external/liborcus/ExternalProject_liborcus.mk external/liborcus/ExternalProject_liborcus.mk
|
|
||||||
index 928c78e3a267..1aa591228f40 100644
|
|
||||||
--- external/liborcus/ExternalProject_liborcus.mk
|
|
||||||
+++ external/liborcus/ExternalProject_liborcus.mk
|
|
||||||
@@ -114,8 +114,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) :
|
|
||||||
$(MAKE) \
|
|
||||||
$(if $(filter MACOSX,$(OS)),\
|
|
||||||
&& $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
|
|
||||||
- $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.13.0.dylib \
|
|
||||||
- $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.13.0.dylib \
|
|
||||||
+ $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.14.0.dylib \
|
|
||||||
+ $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.14.0.dylib \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
|
|
||||||
diff --git external/liborcus/Library_orcus.mk external/liborcus/Library_orcus.mk
|
|
||||||
index 6457ec4afc0c..1f026c425244 100644
|
|
||||||
--- external/liborcus/Library_orcus.mk
|
|
||||||
+++ external/liborcus/Library_orcus.mk
|
|
||||||
@@ -55,6 +55,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/detection_result \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/dom_tree \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/format_detection \
|
|
||||||
+ UnpackedTarball/liborcus/src/liborcus/formula_result \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/global \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/gnumeric_cell_context \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/gnumeric_context \
|
|
||||||
@@ -96,6 +97,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/orcus_xml \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/session_context \
|
|
||||||
+ UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/spreadsheet_interface \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/spreadsheet_types \
|
|
||||||
UnpackedTarball/liborcus/src/liborcus/string_helper \
|
|
||||||
diff --git external/liborcus/UnpackedTarball_liborcus.mk external/liborcus/UnpackedTarball_liborcus.mk
|
|
||||||
index 3ab387e734be..00b5e03b1e85 100644
|
|
||||||
--- external/liborcus/UnpackedTarball_liborcus.mk
|
|
||||||
+++ external/liborcus/UnpackedTarball_liborcus.mk
|
|
||||||
@@ -18,6 +18,7 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,liborcus))
|
|
||||||
$(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
|
|
||||||
external/liborcus/0001-workaround-a-linking-problem-on-windows.patch \
|
|
||||||
external/liborcus/rpath.patch.0 \
|
|
||||||
+ external/liborcus/0001-Missing-header-for-std-tolower.patch \
|
|
||||||
))
|
|
||||||
|
|
||||||
ifeq ($(OS),WNT)
|
|
||||||
diff --git sc/source/filter/inc/orcusinterface.hxx sc/source/filter/inc/orcusinterface.hxx
|
|
||||||
index d1b4cfb5e6b1..8d5c63d0ed88 100644
|
|
||||||
--- sc/source/filter/inc/orcusinterface.hxx
|
|
||||||
+++ sc/source/filter/inc/orcusinterface.hxx
|
|
||||||
@@ -54,6 +54,7 @@ public:
|
|
||||||
ScOrcusGlobalSettings(ScDocumentImport& rDoc);
|
|
||||||
|
|
||||||
virtual void set_origin_date(int year, int month, int day) override;
|
|
||||||
+ virtual void set_character_set(orcus::character_set_t cs) override;
|
|
||||||
|
|
||||||
virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar) override;
|
|
||||||
virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const override;
|
|
||||||
@@ -181,7 +182,7 @@ public:
|
|
||||||
|
|
||||||
virtual ~ScOrcusAutoFilter() override;
|
|
||||||
|
|
||||||
- virtual void set_range(const char* p_ref, size_t n_ref) override;
|
|
||||||
+ virtual void set_range(const orcus::spreadsheet::range_t& range) override;
|
|
||||||
|
|
||||||
virtual void set_column(orcus::spreadsheet::col_t col) override;
|
|
||||||
|
|
||||||
@@ -214,22 +215,95 @@ public:
|
|
||||||
virtual void set_merge_cell_range(const orcus::spreadsheet::range_t& range) override;
|
|
||||||
};
|
|
||||||
|
|
||||||
+class ScOrcusSheet;
|
|
||||||
+
|
|
||||||
+class ScOrcusFormula : public orcus::spreadsheet::iface::import_formula
|
|
||||||
+{
|
|
||||||
+ enum class ResultType { NotSet, String, Value, Empty };
|
|
||||||
+
|
|
||||||
+ friend class ScOrcusSheet;
|
|
||||||
+
|
|
||||||
+ ScOrcusSheet& mrSheet;
|
|
||||||
+
|
|
||||||
+ SCCOL mnCol;
|
|
||||||
+ SCROW mnRow;
|
|
||||||
+ OUString maFormula;
|
|
||||||
+ formula::FormulaGrammar::Grammar meGrammar;
|
|
||||||
+ size_t mnSharedFormulaIndex;
|
|
||||||
+ bool mbShared;
|
|
||||||
+
|
|
||||||
+ ResultType meResType;
|
|
||||||
+ size_t mnResult; // result string index.
|
|
||||||
+ double mfResult;
|
|
||||||
+
|
|
||||||
+ void reset();
|
|
||||||
+
|
|
||||||
+public:
|
|
||||||
+ ScOrcusFormula( ScOrcusSheet& rSheet );
|
|
||||||
+ virtual ~ScOrcusFormula() override;
|
|
||||||
+
|
|
||||||
+ virtual void set_position(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override;
|
|
||||||
+ virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override;
|
|
||||||
+ virtual void set_shared_formula_index(size_t index) override;
|
|
||||||
+ virtual void set_result_value(double value) override;
|
|
||||||
+ virtual void set_result_string(size_t sindex) override;
|
|
||||||
+ virtual void set_result_empty() override;
|
|
||||||
+ virtual void set_result_bool(bool value) override;
|
|
||||||
+ virtual void commit() override;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+class ScOrcusArrayFormula : public orcus::spreadsheet::iface::import_array_formula
|
|
||||||
+{
|
|
||||||
+ friend class ScOrcusSheet;
|
|
||||||
+
|
|
||||||
+ ScOrcusSheet& mrSheet;
|
|
||||||
+
|
|
||||||
+ SCCOL mnCol;
|
|
||||||
+ SCROW mnRow;
|
|
||||||
+ uint32_t mnColRange;
|
|
||||||
+ uint32_t mnRowRange;
|
|
||||||
+ OUString maFormula;
|
|
||||||
+ formula::FormulaGrammar::Grammar meGrammar;
|
|
||||||
+
|
|
||||||
+ void reset();
|
|
||||||
+
|
|
||||||
+public:
|
|
||||||
+ ScOrcusArrayFormula( ScOrcusSheet& rSheet );
|
|
||||||
+ virtual ~ScOrcusArrayFormula() override;
|
|
||||||
+
|
|
||||||
+ virtual void set_range(const orcus::spreadsheet::range_t& range) override;
|
|
||||||
+ virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override;
|
|
||||||
+ virtual void set_result_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override;
|
|
||||||
+ virtual void set_result_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex) override;
|
|
||||||
+ virtual void set_result_empty(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override;
|
|
||||||
+ virtual void set_result_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override;
|
|
||||||
+ virtual void commit() override;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
|
|
||||||
{
|
|
||||||
+ friend class ScOrcusFormula;
|
|
||||||
+ friend class ScOrcusArrayFormula;
|
|
||||||
+
|
|
||||||
ScDocumentImport& mrDoc;
|
|
||||||
SCTAB mnTab;
|
|
||||||
ScOrcusFactory& mrFactory;
|
|
||||||
ScOrcusStyles& mrStyles;
|
|
||||||
sc::SharedFormulaGroups maFormulaGroups;
|
|
||||||
+
|
|
||||||
ScOrcusAutoFilter maAutoFilter;
|
|
||||||
ScOrcusSheetProperties maProperties;
|
|
||||||
ScOrcusConditionalFormat maConditionalFormat;
|
|
||||||
ScOrcusNamedExpression maNamedExpressions;
|
|
||||||
+ ScOrcusFormula maFormula;
|
|
||||||
+ ScOrcusArrayFormula maArrayFormula;
|
|
||||||
|
|
||||||
int mnCellCount;
|
|
||||||
|
|
||||||
void cellInserted();
|
|
||||||
|
|
||||||
+ ScDocumentImport& getDoc();
|
|
||||||
+
|
|
||||||
public:
|
|
||||||
ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory);
|
|
||||||
|
|
||||||
@@ -238,6 +312,8 @@ public:
|
|
||||||
virtual orcus::spreadsheet::iface::import_sheet_properties* get_sheet_properties() override;
|
|
||||||
virtual orcus::spreadsheet::iface::import_conditional_format* get_conditional_format() override;
|
|
||||||
virtual orcus::spreadsheet::iface::import_named_expression* get_named_expression() override;
|
|
||||||
+ virtual orcus::spreadsheet::iface::import_formula* get_formula() override;
|
|
||||||
+ virtual orcus::spreadsheet::iface::import_array_formula* get_array_formula() override;
|
|
||||||
|
|
||||||
// Orcus import interface
|
|
||||||
virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) override;
|
|
||||||
@@ -251,33 +327,13 @@ public:
|
|
||||||
virtual void set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
|
|
||||||
orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end, size_t xf_index) override;
|
|
||||||
|
|
||||||
- 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) override;
|
|
||||||
- virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) override;
|
|
||||||
- virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double val) override;
|
|
||||||
-
|
|
||||||
- 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) override;
|
|
||||||
-
|
|
||||||
- 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) override;
|
|
||||||
-
|
|
||||||
- virtual void set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex) override;
|
|
||||||
-
|
|
||||||
- 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) override;
|
|
||||||
-
|
|
||||||
- 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) override;
|
|
||||||
-
|
|
||||||
virtual orcus::spreadsheet::range_size_t get_sheet_size() const override;
|
|
||||||
|
|
||||||
SCTAB getIndex() const { return mnTab; }
|
|
||||||
|
|
||||||
const sc::SharedFormulaGroups& getSharedFormulaGroups() const;
|
|
||||||
+ sc::SharedFormulaGroups& getSharedFormulaGroups();
|
|
||||||
+ ScOrcusFactory& getFactory();
|
|
||||||
};
|
|
||||||
|
|
||||||
class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles
|
|
||||||
@@ -312,7 +368,7 @@ private:
|
|
||||||
|
|
||||||
struct fill
|
|
||||||
{
|
|
||||||
- OUString maPattern;
|
|
||||||
+ orcus::spreadsheet::fill_pattern_t mePattern;
|
|
||||||
Color maFgColor;
|
|
||||||
Color maBgColor;
|
|
||||||
|
|
||||||
@@ -446,7 +502,7 @@ public:
|
|
||||||
// fill
|
|
||||||
|
|
||||||
virtual void set_fill_count(size_t n) override;
|
|
||||||
- virtual void set_fill_pattern_type(const char* s, size_t n) override;
|
|
||||||
+ virtual void set_fill_pattern_type(orcus::spreadsheet::fill_pattern_t fp) override;
|
|
||||||
virtual void 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) override;
|
|
||||||
virtual void 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) override;
|
|
||||||
virtual size_t commit_fill() override;
|
|
||||||
@@ -581,6 +637,7 @@ public:
|
|
||||||
|
|
||||||
size_t appendString(const OUString& rStr);
|
|
||||||
size_t addString(const OUString& rStr);
|
|
||||||
+ const OUString* getString(size_t nIndex) const;
|
|
||||||
|
|
||||||
void pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal );
|
|
||||||
void pushCellStoreToken( const ScAddress& rPos, uint32_t nStrIndex );
|
|
||||||
diff --git sc/source/filter/orcus/interface.cxx sc/source/filter/orcus/interface.cxx
|
|
||||||
index 6dcf6600095c..ef85b0f88f27 100644
|
|
||||||
--- sc/source/filter/orcus/interface.cxx
|
|
||||||
+++ sc/source/filter/orcus/interface.cxx
|
|
||||||
@@ -100,6 +100,11 @@ void ScOrcusGlobalSettings::set_origin_date(int year, int month, int day)
|
|
||||||
mrDoc.setOriginDate(year, month, day);
|
|
||||||
}
|
|
||||||
|
|
||||||
+void ScOrcusGlobalSettings::set_character_set(orcus::character_set_t /*cs*/)
|
|
||||||
+{
|
|
||||||
+ // TODO
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void ScOrcusGlobalSettings::set_default_formula_grammar(os::formula_grammar_t grammar)
|
|
||||||
{
|
|
||||||
meCalcGrammar = getCalcGrammarFromOrcus(grammar);
|
|
||||||
@@ -463,6 +468,11 @@ size_t ScOrcusFactory::addString(const OUString& rStr)
|
|
||||||
return appendString(rStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
+const OUString* ScOrcusFactory::getString(size_t nIndex) const
|
|
||||||
+{
|
|
||||||
+ return nIndex < maStrings.size() ? &maStrings[nIndex] : nullptr;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void ScOrcusFactory::pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal )
|
|
||||||
{
|
|
||||||
maCellStoreTokens.emplace_back(rPos, CellStoreToken::Type::Auto);
|
|
||||||
@@ -816,10 +826,197 @@ ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& r
|
|
||||||
maProperties(mnTab, mrDoc),
|
|
||||||
maConditionalFormat(mnTab, rDoc.getDoc()),
|
|
||||||
maNamedExpressions(rDoc, rFactory.getGlobalSettings(), nTab),
|
|
||||||
+ maFormula(*this),
|
|
||||||
+ maArrayFormula(*this),
|
|
||||||
mnCellCount(0)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
+void ScOrcusFormula::reset()
|
|
||||||
+{
|
|
||||||
+ mnCol = -1;
|
|
||||||
+ mnRow = -1;
|
|
||||||
+ maFormula.clear();
|
|
||||||
+ meGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED;
|
|
||||||
+ mnSharedFormulaIndex = 0;
|
|
||||||
+ mbShared = false;
|
|
||||||
+ meResType = ResultType::NotSet;
|
|
||||||
+ mnResult = 0;
|
|
||||||
+ mfResult = 0.0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+ScOrcusFormula::ScOrcusFormula( ScOrcusSheet& rSheet ) :
|
|
||||||
+ mrSheet(rSheet),
|
|
||||||
+ mnCol(-1),
|
|
||||||
+ mnRow(-1),
|
|
||||||
+ meGrammar(formula::FormulaGrammar::GRAM_UNSPECIFIED),
|
|
||||||
+ mnSharedFormulaIndex(0),
|
|
||||||
+ mbShared(false),
|
|
||||||
+ meResType(ResultType::NotSet),
|
|
||||||
+ mnResult(0),
|
|
||||||
+ mfResult(0.0) {}
|
|
||||||
+
|
|
||||||
+ScOrcusFormula::~ScOrcusFormula() {}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_position(os::row_t row, os::col_t col)
|
|
||||||
+{
|
|
||||||
+ mnCol = col;
|
|
||||||
+ mnRow = row;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_formula(os::formula_grammar_t grammar, const char* p, size_t n)
|
|
||||||
+{
|
|
||||||
+ maFormula = OUString(p, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
+ meGrammar = getCalcGrammarFromOrcus(grammar);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_shared_formula_index(size_t index)
|
|
||||||
+{
|
|
||||||
+ mnSharedFormulaIndex = index;
|
|
||||||
+ mbShared = true;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_result_value(double value)
|
|
||||||
+{
|
|
||||||
+ meResType = ResultType::Value;
|
|
||||||
+ mfResult = value;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_result_string(size_t sindex)
|
|
||||||
+{
|
|
||||||
+ meResType = ResultType::String;
|
|
||||||
+ mnResult = sindex;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_result_empty()
|
|
||||||
+{
|
|
||||||
+ meResType = ResultType::Empty;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::set_result_bool(bool value)
|
|
||||||
+{
|
|
||||||
+ meResType = ResultType::Value;
|
|
||||||
+ mfResult = value ? 1.0 : 0.0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusFormula::commit()
|
|
||||||
+{
|
|
||||||
+ ScOrcusFactory& rFactory = mrSheet.getFactory();
|
|
||||||
+ sc::SharedFormulaGroups& rGroups = mrSheet.getSharedFormulaGroups();
|
|
||||||
+ ScAddress aPos(mnCol, mnRow, mrSheet.getIndex());
|
|
||||||
+
|
|
||||||
+ if (mbShared)
|
|
||||||
+ {
|
|
||||||
+ if (maFormula.isEmpty())
|
|
||||||
+ {
|
|
||||||
+ // shared formula that references existing formula token.
|
|
||||||
+ const ScTokenArray* pArray = rGroups.get(mnSharedFormulaIndex);
|
|
||||||
+ if (!pArray)
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ // topmost shared formula with new formula token.
|
|
||||||
+
|
|
||||||
+ // Compile the formula expression into tokens.
|
|
||||||
+ ScCompiler aComp(&mrSheet.getDoc().getDoc(), aPos, meGrammar);
|
|
||||||
+ ScTokenArray* pArray = aComp.CompileString(maFormula);
|
|
||||||
+ if (!pArray)
|
|
||||||
+ // Tokenization failed.
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ rGroups.set(mnSharedFormulaIndex, pArray);
|
|
||||||
+ }
|
|
||||||
+ rFactory.pushSharedFormulaToken(aPos, mnSharedFormulaIndex);
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ // non-shared formula
|
|
||||||
+ rFactory.pushCellStoreToken(aPos, maFormula, meGrammar);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ switch (meResType)
|
|
||||||
+ {
|
|
||||||
+ case ResultType::String:
|
|
||||||
+ {
|
|
||||||
+ const OUString* pStr = rFactory.getString(mnResult);
|
|
||||||
+ if (pStr)
|
|
||||||
+ rFactory.pushFormulaResult(aPos, *pStr);
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ case ResultType::Value:
|
|
||||||
+ rFactory.pushFormulaResult(aPos, mfResult);
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ ;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ mrSheet.cellInserted();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::reset()
|
|
||||||
+{
|
|
||||||
+ mnCol = -1;
|
|
||||||
+ mnRow = -1;
|
|
||||||
+ mnColRange = 0;
|
|
||||||
+ mnRowRange = 0;
|
|
||||||
+
|
|
||||||
+ maFormula.clear();
|
|
||||||
+ meGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+ScOrcusArrayFormula::ScOrcusArrayFormula( ScOrcusSheet& rSheet ) :
|
|
||||||
+ mrSheet(rSheet),
|
|
||||||
+ mnCol(-1),
|
|
||||||
+ mnRow(-1),
|
|
||||||
+ mnColRange(0),
|
|
||||||
+ mnRowRange(0),
|
|
||||||
+ meGrammar(formula::FormulaGrammar::GRAM_UNSPECIFIED) {}
|
|
||||||
+
|
|
||||||
+ScOrcusArrayFormula::~ScOrcusArrayFormula() {}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::set_range(const os::range_t& range)
|
|
||||||
+{
|
|
||||||
+ mnCol = range.first.column;
|
|
||||||
+ mnRow = range.first.row;
|
|
||||||
+
|
|
||||||
+ mnColRange = range.last.column - range.first.column + 1;
|
|
||||||
+ mnRowRange = range.last.row - range.first.column + 1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::set_formula(os::formula_grammar_t grammar, const char* p, size_t n)
|
|
||||||
+{
|
|
||||||
+ meGrammar = getCalcGrammarFromOrcus(grammar);
|
|
||||||
+ maFormula = OUString(p, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::set_result_value(os::row_t /*row*/, os::col_t /*col*/, double /*value*/)
|
|
||||||
+{
|
|
||||||
+ // TODO : implement result cache for matrix
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::set_result_string(os::row_t /*row*/, os::col_t /*col*/, size_t /*sindex*/)
|
|
||||||
+{
|
|
||||||
+ // TODO : implement result cache for matrix
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::set_result_empty(os::row_t /*row*/, os::col_t /*col*/)
|
|
||||||
+{
|
|
||||||
+ // TODO : implement result cache for matrix
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::set_result_bool(os::row_t /*row*/, os::col_t /*col*/, bool /*value*/)
|
|
||||||
+{
|
|
||||||
+ // TODO : implement result cache for matrix
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void ScOrcusArrayFormula::commit()
|
|
||||||
+{
|
|
||||||
+ ScAddress aPos(mnCol, mnRow, mrSheet.getIndex());
|
|
||||||
+ mrSheet.getFactory().pushMatrixFormulaToken(aPos, maFormula, meGrammar, mnRowRange, mnColRange);
|
|
||||||
+ mrSheet.cellInserted();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void ScOrcusSheet::cellInserted()
|
|
||||||
{
|
|
||||||
++mnCellCount;
|
|
||||||
@@ -830,6 +1027,11 @@ void ScOrcusSheet::cellInserted()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ScDocumentImport& ScOrcusSheet::getDoc()
|
|
||||||
+{
|
|
||||||
+ return mrDoc;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
os::iface::import_auto_filter* ScOrcusSheet::get_auto_filter()
|
|
||||||
{
|
|
||||||
return &maAutoFilter;
|
|
||||||
@@ -855,6 +1057,18 @@ os::iface::import_named_expression* ScOrcusSheet::get_named_expression()
|
|
||||||
return &maNamedExpressions;
|
|
||||||
}
|
|
||||||
|
|
||||||
+os::iface::import_formula* ScOrcusSheet::get_formula()
|
|
||||||
+{
|
|
||||||
+ maFormula.reset();
|
|
||||||
+ return &maFormula;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+os::iface::import_array_formula* ScOrcusSheet::get_array_formula()
|
|
||||||
+{
|
|
||||||
+ maArrayFormula.reset();
|
|
||||||
+ return &maArrayFormula;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n)
|
|
||||||
{
|
|
||||||
OUString aVal(p, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
@@ -921,83 +1135,6 @@ void ScOrcusSheet::set_format(os::row_t row_start, os::col_t col_start,
|
|
||||||
mrDoc.getDoc().ApplyPatternAreaTab(col_start, row_start, col_end, row_end, mnTab, aPattern);
|
|
||||||
}
|
|
||||||
|
|
||||||
-void ScOrcusSheet::set_formula(
|
|
||||||
- os::row_t row, os::col_t col, os::formula_grammar_t grammar, const char* p, size_t n)
|
|
||||||
-{
|
|
||||||
- OUString aFormula(p, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
- mrFactory.pushCellStoreToken(
|
|
||||||
- ScAddress(col, row, mnTab), aFormula, getCalcGrammarFromOrcus(grammar));
|
|
||||||
- cellInserted();
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, const char* p, size_t n)
|
|
||||||
-{
|
|
||||||
- OUString aResult( p, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
- mrFactory.pushFormulaResult(ScAddress(col, row, mnTab), aResult);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, double val)
|
|
||||||
-{
|
|
||||||
- mrFactory.pushFormulaResult(ScAddress(col, row, mnTab), val);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_shared_formula(
|
|
||||||
- os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex,
|
|
||||||
- const char* p_formula, size_t n_formula)
|
|
||||||
-{
|
|
||||||
- ScAddress aPos(col, row, mnTab);
|
|
||||||
- OUString aFormula(p_formula, n_formula, RTL_TEXTENCODING_UTF8);
|
|
||||||
- formula::FormulaGrammar::Grammar eGram = getCalcGrammarFromOrcus(grammar);
|
|
||||||
-
|
|
||||||
- // Compile the formula expression into tokens.
|
|
||||||
- ScCompiler aComp(&mrDoc.getDoc(), aPos, eGram);
|
|
||||||
- ScTokenArray* pArray = aComp.CompileString(aFormula);
|
|
||||||
- if (!pArray)
|
|
||||||
- // Tokenization failed.
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- maFormulaGroups.set(sindex, pArray);
|
|
||||||
-
|
|
||||||
- mrFactory.pushSharedFormulaToken(aPos, sindex);
|
|
||||||
- cellInserted();
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_shared_formula(
|
|
||||||
- os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex,
|
|
||||||
- const char* p_formula, size_t n_formula, const char* /*p_range*/, size_t /*n_range*/)
|
|
||||||
-{
|
|
||||||
- set_shared_formula(row, col, grammar, sindex, p_formula, n_formula);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_shared_formula(os::row_t row, os::col_t col, size_t sindex)
|
|
||||||
-{
|
|
||||||
- ScAddress aPos(col, row, mnTab);
|
|
||||||
-
|
|
||||||
- const ScTokenArray* pArray = maFormulaGroups.get(sindex);
|
|
||||||
- if (!pArray)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- mrFactory.pushSharedFormulaToken(aPos, sindex);
|
|
||||||
- cellInserted();
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_array_formula(
|
|
||||||
- os::row_t row, os::col_t col, os::formula_grammar_t grammar,
|
|
||||||
- const char* p, size_t n, os::row_t array_rows, os::col_t array_cols)
|
|
||||||
-{
|
|
||||||
- OUString aFormula(p, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
- formula::FormulaGrammar::Grammar eGrammar = getCalcGrammarFromOrcus(grammar);
|
|
||||||
-
|
|
||||||
- ScAddress aPos(col, row, mnTab);
|
|
||||||
- mrFactory.pushMatrixFormulaToken(aPos, aFormula, eGrammar, array_rows, array_cols);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void ScOrcusSheet::set_array_formula(
|
|
||||||
- os::row_t /*row*/, os::col_t /*col*/, os::formula_grammar_t /*grammar*/,
|
|
||||||
- const char* /*p*/, size_t /*n*/, const char* /*p_range*/, size_t /*n_range*/)
|
|
||||||
-{
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
orcus::spreadsheet::range_size_t ScOrcusSheet::get_sheet_size() const
|
|
||||||
{
|
|
||||||
orcus::spreadsheet::range_size_t ret;
|
|
||||||
@@ -1012,6 +1149,16 @@ const sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups() const
|
|
||||||
return maFormulaGroups;
|
|
||||||
}
|
|
||||||
|
|
||||||
+sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups()
|
|
||||||
+{
|
|
||||||
+ return maFormulaGroups;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+ScOrcusFactory& ScOrcusSheet::getFactory()
|
|
||||||
+{
|
|
||||||
+ return mrFactory;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
ScOrcusSharedStrings::ScOrcusSharedStrings(ScOrcusFactory& rFactory) :
|
|
||||||
mrFactory(rFactory) {}
|
|
||||||
|
|
||||||
@@ -1087,7 +1234,7 @@ ScOrcusStyles::font::font():
|
|
||||||
}
|
|
||||||
|
|
||||||
ScOrcusStyles::fill::fill():
|
|
||||||
- maPattern(""),
|
|
||||||
+ mePattern(orcus::spreadsheet::fill_pattern_t::none),
|
|
||||||
maFgColor(COL_WHITE),
|
|
||||||
maBgColor(COL_WHITE),
|
|
||||||
mbHasFillAttr(false)
|
|
||||||
@@ -1143,13 +1290,13 @@ void ScOrcusStyles::font::applyToItemSet(SfxItemSet& rSet) const
|
|
||||||
|
|
||||||
void ScOrcusStyles::fill::applyToItemSet(SfxItemSet& rSet) const
|
|
||||||
{
|
|
||||||
- if (maPattern.equalsIgnoreAsciiCase("none"))
|
|
||||||
+ if (mePattern == orcus::spreadsheet::fill_pattern_t::none)
|
|
||||||
{
|
|
||||||
SAL_INFO("sc.orcus.style", "no fill style");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (maPattern.equalsIgnoreAsciiCase("solid"))
|
|
||||||
+ if (mePattern == orcus::spreadsheet::fill_pattern_t::solid)
|
|
||||||
rSet.Put(SvxBrushItem(maFgColor, ATTR_BACKGROUND));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1575,10 +1722,9 @@ void ScOrcusStyles::set_fill_count(size_t /*n*/)
|
|
||||||
// needed at all?
|
|
||||||
}
|
|
||||||
|
|
||||||
-void ScOrcusStyles::set_fill_pattern_type(const char* s, size_t n)
|
|
||||||
+void ScOrcusStyles::set_fill_pattern_type(orcus::spreadsheet::fill_pattern_t fp)
|
|
||||||
{
|
|
||||||
- maCurrentFill.maPattern = OUString(s, n, RTL_TEXTENCODING_UTF8);
|
|
||||||
- maCurrentFill.mbHasFillAttr = true;
|
|
||||||
+ maCurrentFill.mePattern = fp;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ScOrcusStyles::set_fill_fg_color(
|
|
||||||
@@ -1962,12 +2108,12 @@ ScOrcusAutoFilter::~ScOrcusAutoFilter()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
-void ScOrcusAutoFilter::set_range(const char* p_ref, size_t n_ref)
|
|
||||||
+void ScOrcusAutoFilter::set_range(const orcus::spreadsheet::range_t& range)
|
|
||||||
{
|
|
||||||
- OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
|
|
||||||
- SAL_INFO("sc.orcus.autofilter", "set_range: " << aRange);
|
|
||||||
-
|
|
||||||
- maRange.Parse(aRange);
|
|
||||||
+ maRange.aStart.SetRow(range.first.row);
|
|
||||||
+ maRange.aStart.SetCol(range.first.column);
|
|
||||||
+ maRange.aEnd.SetRow(range.last.row);
|
|
||||||
+ maRange.aEnd.SetCol(range.last.column);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ScOrcusAutoFilter::set_column(orcus::spreadsheet::col_t col)
|
|
||||||
diff --git sc/source/filter/orcus/xmlcontext.cxx sc/source/filter/orcus/xmlcontext.cxx
|
|
||||||
index 5e97db9f84e9..29223cbe4c7c 100644
|
|
||||||
--- sc/source/filter/orcus/xmlcontext.cxx
|
|
||||||
+++ sc/source/filter/orcus/xmlcontext.cxx
|
|
||||||
@@ -23,6 +23,7 @@
|
|
||||||
#include <orcus/orcus_xml.hpp>
|
|
||||||
#include <orcus/global.hpp>
|
|
||||||
#include <orcus/sax_parser_base.hpp>
|
|
||||||
+#include <orcus/stream.hpp>
|
|
||||||
|
|
||||||
#include <com/sun/star/ucb/XCommandEnvironment.hpp>
|
|
||||||
#include <comphelper/processfactory.hxx>
|
|
||||||
@@ -288,7 +289,9 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- filter.read_file(path);
|
|
||||||
+ std::string content = orcus::load_file_content(path);
|
|
||||||
+ filter.read_stream(content.data(), content.size());
|
|
||||||
+
|
|
||||||
aFactory.finalize();
|
|
||||||
}
|
|
||||||
catch (const std::exception&)
|
|
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Template file for 'libreoffice'
|
# Template file for 'libreoffice'
|
||||||
pkgname=libreoffice
|
pkgname=libreoffice
|
||||||
version=6.1.4.2
|
version=6.2.0.3
|
||||||
revision=2
|
revision=1
|
||||||
build_style=meta
|
build_style=meta
|
||||||
make_build_args="build-nocheck"
|
make_build_args="build-nocheck"
|
||||||
nocross=yes
|
nocross=yes
|
||||||
|
@ -47,12 +47,12 @@ depends+=" libreoffice-i18n-pt>=${version}_${revision}"
|
||||||
short_desc="Productivity suite"
|
short_desc="Productivity suite"
|
||||||
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
|
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
|
||||||
license="GPL-3.0-or-later"
|
license="GPL-3.0-or-later"
|
||||||
homepage="http://www.libreoffice.org/"
|
homepage="https://www.libreoffice.org/"
|
||||||
|
|
||||||
# Source, dictionary, help and translations
|
# Source, dictionary, help and translations
|
||||||
_baseurl="http://download.documentfoundation.org/${pkgname}/src/${version%.*}"
|
_baseurl="https://download.documentfoundation.org/${pkgname}/src/${version%.*}"
|
||||||
_addurl="http://dev-www.libreoffice.org/src"
|
_addurl="https://dev-www.libreoffice.org/src"
|
||||||
_exturl="http://dev-www.libreoffice.org/extern"
|
_exturl="https://dev-www.libreoffice.org/extern"
|
||||||
|
|
||||||
# Additional distfiles and checksums can be found in
|
# Additional distfiles and checksums can be found in
|
||||||
# the file 'download.lst' after configure was run.
|
# the file 'download.lst' after configure was run.
|
||||||
|
@ -72,11 +72,11 @@ distfiles="
|
||||||
${_addurl}/Firebird-3.0.0.32483-0.tar.bz2
|
${_addurl}/Firebird-3.0.0.32483-0.tar.bz2
|
||||||
${_addurl}/libstaroffice-0.0.6.tar.xz
|
${_addurl}/libstaroffice-0.0.6.tar.xz
|
||||||
${_addurl}/libzmf-0.0.2.tar.xz
|
${_addurl}/libzmf-0.0.2.tar.xz
|
||||||
${_addurl}/pdfium-3426.tar.bz2
|
${_addurl}/pdfium-3550.tar.bz2
|
||||||
${_addurl}/poppler-0.66.0.tar.xz
|
${_addurl}/poppler-0.73.0.tar.xz
|
||||||
${_addurl}/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
|
${_addurl}/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
|
||||||
${_exturl}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
|
${_exturl}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
|
||||||
${_exturl}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar
|
${_exturl}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar
|
||||||
${_exturl}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
${_exturl}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||||
${_addurl}/commons-logging-1.2-src.tar.gz
|
${_addurl}/commons-logging-1.2-src.tar.gz
|
||||||
${_addurl}/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
|
${_addurl}/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
|
||||||
|
@ -94,31 +94,33 @@ distfiles="
|
||||||
${_addurl}/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
|
${_addurl}/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
|
||||||
${_addurl}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
${_addurl}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
||||||
${_addurl}/ltm-1.0.zip
|
${_addurl}/ltm-1.0.zip
|
||||||
${_addurl}/xmlsec1-1.2.25.tar.gz
|
${_addurl}/xmlsec1-1.2.27.tar.gz
|
||||||
${_addurl}/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz
|
${_addurl}/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz
|
||||||
${_addurl}/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz
|
${_addurl}/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz
|
||||||
${_addurl}/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip
|
${_addurl}/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip
|
||||||
${_addurl}/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip
|
${_addurl}/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip
|
||||||
${_addurl}/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz
|
${_addurl}/liberation-narrow-fonts-ttf-1.07.6.tar.gz
|
||||||
${_addurl}/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz
|
${_addurl}/liberation-fonts-ttf-2.00.4.tar.gz
|
||||||
${_addurl}/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
|
${_addurl}/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
|
||||||
${_addurl}/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz
|
${_addurl}/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz
|
||||||
${_addurl}/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz
|
${_addurl}/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz
|
||||||
|
${_addurl}/source-serif-font-2.007R.tar.gz
|
||||||
${_addurl}/EmojiOneColor-SVGinOT-1.3.tar.gz
|
${_addurl}/EmojiOneColor-SVGinOT-1.3.tar.gz
|
||||||
${_addurl}/noto-fonts-20171024.tar.gz
|
${_addurl}/noto-fonts-20171024.tar.gz
|
||||||
${_addurl}/culmus-0.131.tar.gz
|
${_addurl}/culmus-0.131.tar.gz
|
||||||
${_addurl}/libre-hebrew-1.0.tar.gz
|
${_addurl}/libre-hebrew-1.0.tar.gz
|
||||||
${_addurl}/alef-1.001.tar.gz
|
${_addurl}/alef-1.001.tar.gz
|
||||||
${_addurl}/ttf-kacst_2.01+mry.tar.gz
|
${_addurl}/ttf-kacst_2.01+mry.tar.gz
|
||||||
|
${_exturl}/49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf
|
||||||
${_addurl}/lxml-4.1.1.tgz
|
${_addurl}/lxml-4.1.1.tgz
|
||||||
${_addurl}/Amiri-0.111.zip
|
${_addurl}/Amiri-0.111.zip
|
||||||
${_addurl}/ReemKufi-0.7.zip
|
${_addurl}/ReemKufi-0.7.zip
|
||||||
${_addurl}/Scheherazade-2.100.zip
|
${_addurl}/Scheherazade-2.100.zip
|
||||||
"
|
"
|
||||||
checksum="648fe9177e0813625a99e775dac1354a416eef2f3ef44eab4e770d08293b37fe
|
checksum="87d0581afbc582fdccf5e95a749a38572c62979a4b1c7f144b4854b93d6b1ade
|
||||||
fe0991f888dc09bce401a2d5c5505abfff361d1184d080e0056c1ebb08769c4b
|
3130b0046c56af77edca2d2d8b2f069b9d109a4e83b6c8f415fa8caa2a10c51d
|
||||||
f5b21510942e63829744cf0dfdcf556ada854fced168e54a25105a3d3b484445
|
a6e7c7cf927182572405af1be100363abc9ca9fbbdd9999b4418f97e54d481cc
|
||||||
010505af211b9e4aa841c27443957297c58a7bb434ee8cce0d7ef2fa91b6fed1
|
9165c136e366a75a3a9403c2d1f0b1d48d708e72877f9180cbae25c0e33d7e03
|
||||||
1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753
|
1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753
|
||||||
75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870
|
75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870
|
||||||
983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776
|
983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776
|
||||||
|
@ -130,11 +132,11 @@ checksum="648fe9177e0813625a99e775dac1354a416eef2f3ef44eab4e770d08293b37fe
|
||||||
6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860
|
6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860
|
||||||
6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4
|
6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4
|
||||||
27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22
|
27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22
|
||||||
80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957
|
572460f7f9e2f86d022a9c6a82f1e2ded6c3c29ba352d4b9fac60b87e2159679
|
||||||
2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7
|
e44b5543903128884ba4538c2a97d3bcc8889e97ffacc4636112101f0238db03
|
||||||
d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a
|
d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a
|
||||||
f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770
|
f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770
|
||||||
aa8896eef3adbd6b54d4ec1817c1bc3871cce99120faf26f93502077480233cf
|
984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504
|
||||||
eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6
|
eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6
|
||||||
49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81
|
49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81
|
||||||
9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96
|
9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96
|
||||||
|
@ -152,27 +154,28 @@ checksum="648fe9177e0813625a99e775dac1354a416eef2f3ef44eab4e770d08293b37fe
|
||||||
a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585
|
a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585
|
||||||
085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045
|
085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045
|
||||||
083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483
|
083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483
|
||||||
967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2
|
97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6
|
||||||
c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09
|
c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09
|
||||||
4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a
|
4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a
|
||||||
7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a
|
7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a
|
||||||
2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc
|
2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc
|
||||||
61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c
|
8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3
|
||||||
7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504
|
c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45
|
||||||
54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5
|
54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5
|
||||||
09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f
|
09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f
|
||||||
e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61
|
e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61
|
||||||
|
10b2bbb357d52bf0f516d3e0ac0a09b5f7901470fbf649b69dad9ccc2d29f7cb
|
||||||
d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7
|
d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7
|
||||||
29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994
|
29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994
|
||||||
dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b
|
dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b
|
||||||
f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a
|
f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a
|
||||||
b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52
|
b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52
|
||||||
dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56
|
dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56
|
||||||
|
49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63
|
||||||
940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e
|
940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e
|
||||||
1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166
|
1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166
|
||||||
f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f
|
f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f
|
||||||
251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5
|
251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5"
|
||||||
"
|
|
||||||
skip_extraction="
|
skip_extraction="
|
||||||
${pkgname}-dictionaries-${version}.tar.xz
|
${pkgname}-dictionaries-${version}.tar.xz
|
||||||
${pkgname}-help-${version}.tar.xz
|
${pkgname}-help-${version}.tar.xz
|
||||||
|
@ -188,11 +191,11 @@ skip_extraction="
|
||||||
Firebird-3.0.0.32483-0.tar.bz2
|
Firebird-3.0.0.32483-0.tar.bz2
|
||||||
libstaroffice-0.0.6.tar.xz
|
libstaroffice-0.0.6.tar.xz
|
||||||
libzmf-0.0.2.tar.xz
|
libzmf-0.0.2.tar.xz
|
||||||
pdfium-3426.tar.bz2
|
pdfium-3550.tar.bz2
|
||||||
poppler-0.66.0.tar.xz
|
poppler-0.73.0.tar.xz
|
||||||
bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
|
bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
|
||||||
8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
|
8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
|
||||||
odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar
|
odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar
|
||||||
185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||||
commons-logging-1.2-src.tar.gz
|
commons-logging-1.2-src.tar.gz
|
||||||
beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
|
beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
|
||||||
|
@ -210,22 +213,24 @@ skip_extraction="
|
||||||
7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
|
7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
|
||||||
39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
||||||
ltm-1.0.zip
|
ltm-1.0.zip
|
||||||
xmlsec1-1.2.25.tar.gz
|
xmlsec1-1.2.27.tar.gz
|
||||||
368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz
|
368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz
|
||||||
c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz
|
c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz
|
||||||
33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip
|
33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip
|
||||||
1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip
|
1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip
|
||||||
134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz
|
liberation-narrow-fonts-ttf-1.07.6.tar.gz
|
||||||
5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz
|
liberation-fonts-ttf-2.00.4.tar.gz
|
||||||
e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
|
e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
|
||||||
907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz
|
907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz
|
||||||
edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz
|
edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz
|
||||||
|
source-serif-font-2.007R.tar.gz
|
||||||
EmojiOneColor-SVGinOT-1.3.tar.gz
|
EmojiOneColor-SVGinOT-1.3.tar.gz
|
||||||
noto-fonts-20171024.tar.gz
|
noto-fonts-20171024.tar.gz
|
||||||
culmus-0.131.tar.gz
|
culmus-0.131.tar.gz
|
||||||
libre-hebrew-1.0.tar.gz
|
libre-hebrew-1.0.tar.gz
|
||||||
alef-1.001.tar.gz
|
alef-1.001.tar.gz
|
||||||
ttf-kacst_2.01+mry.tar.gz
|
ttf-kacst_2.01+mry.tar.gz
|
||||||
|
49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf
|
||||||
lxml-4.1.1.tgz
|
lxml-4.1.1.tgz
|
||||||
Amiri-0.111.zip
|
Amiri-0.111.zip
|
||||||
ReemKufi-0.7.zip
|
ReemKufi-0.7.zip
|
||||||
|
@ -285,7 +290,7 @@ _add_lang() {
|
||||||
_languages="$_languages ${pkglang//_/-}"
|
_languages="$_languages ${pkglang//_/-}"
|
||||||
eval "libreoffice-i18n-${1}_package() {
|
eval "libreoffice-i18n-${1}_package() {
|
||||||
short_desc+=\"- ${2} language pack\"
|
short_desc+=\"- ${2} language pack\"
|
||||||
noarch=yes
|
archs=noarch
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
_split lang_${pkglang}
|
_split lang_${pkglang}
|
||||||
}
|
}
|
||||||
|
@ -458,7 +463,6 @@ do_configure() {
|
||||||
# libreoffice options
|
# libreoffice options
|
||||||
opts+=" --with-vendor='VoidLinux'"
|
opts+=" --with-vendor='VoidLinux'"
|
||||||
opts+=" --with-help"
|
opts+=" --with-help"
|
||||||
opts+=" --with-alloc=system"
|
|
||||||
opts+=" --disable-odk"
|
opts+=" --disable-odk"
|
||||||
opts+=" --disable-online-update"
|
opts+=" --disable-online-update"
|
||||||
opts+=" --enable-python=system"
|
opts+=" --enable-python=system"
|
||||||
|
@ -499,7 +503,6 @@ do_configure() {
|
||||||
opts+=" --without-system-firebird"
|
opts+=" --without-system-firebird"
|
||||||
opts+=" --without-system-libzmf"
|
opts+=" --without-system-libzmf"
|
||||||
opts+=" --without-system-libstaroffice"
|
opts+=" --without-system-libstaroffice"
|
||||||
opts+=" --without-system-mysql-cppconn"
|
|
||||||
opts+=" --without-system-libtommath"
|
opts+=" --without-system-libtommath"
|
||||||
opts+=" --without-system-jfreereport"
|
opts+=" --without-system-jfreereport"
|
||||||
opts+=" --without-system-apache-commons"
|
opts+=" --without-system-apache-commons"
|
||||||
|
@ -533,6 +536,7 @@ do_install() {
|
||||||
libreoffice-common_package() {
|
libreoffice-common_package() {
|
||||||
short_desc+=" - Common files"
|
short_desc+=" - Common files"
|
||||||
depends="hunspell hyphen mythes openldap"
|
depends="hunspell hyphen mythes openldap"
|
||||||
|
skiprdeps=/usr/lib/libreoffice/program/libofficebean.so
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
_split common
|
_split common
|
||||||
}
|
}
|
||||||
|
@ -582,7 +586,7 @@ libreoffice-firebird_package() {
|
||||||
|
|
||||||
libreoffice-fonts_package() {
|
libreoffice-fonts_package() {
|
||||||
short_desc+=" - Fonts"
|
short_desc+=" - Fonts"
|
||||||
noarch=yes
|
archs=noarch
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmkdir usr/lib/libreoffice/share
|
vmkdir usr/lib/libreoffice/share
|
||||||
mv ${DESTDIR}/all/usr/lib/libreoffice/share/fonts \
|
mv ${DESTDIR}/all/usr/lib/libreoffice/share/fonts \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue