summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-01-07 14:21:28 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2022-01-07 14:46:36 +0100
commit767eab50f2deae0e7dcae785cda131fe653e996c (patch)
tree17e0b702a52f6d7dacd33d4f9d20e3e937557ce9 /app-office
parentapp-text/poppler: 22.01.0 version bump (diff)
downloadgentoo-767eab50f2deae0e7dcae785cda131fe653e996c.tar.gz
gentoo-767eab50f2deae0e7dcae785cda131fe653e996c.tar.bz2
gentoo-767eab50f2deae0e7dcae785cda131fe653e996c.zip
app-office/calligra: Fix build with >=poppler-22.01
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'app-office')
-rw-r--r--app-office/calligra/calligra-3.2.1-r5.ebuild (renamed from app-office/calligra/calligra-3.2.1-r4.ebuild)6
-rw-r--r--app-office/calligra/files/calligra-3.2.1-cxx17-fixes.patch443
-rw-r--r--app-office/calligra/files/calligra-3.2.1-cxx17-for-poppler-22.patch31
-rw-r--r--app-office/calligra/files/calligra-3.2.1-imath-1.patch (renamed from app-office/calligra/files/calligra-3.2.1-imath.patch)0
-rw-r--r--app-office/calligra/files/calligra-3.2.1-imath-2.patch25
5 files changed, 503 insertions, 2 deletions
diff --git a/app-office/calligra/calligra-3.2.1-r4.ebuild b/app-office/calligra/calligra-3.2.1-r5.ebuild
index 9590f26021f2..efe49eaa6a28 100644
--- a/app-office/calligra/calligra-3.2.1-r4.ebuild
+++ b/app-office/calligra/calligra-3.2.1-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -117,7 +117,9 @@ BDEPEND="sys-devel/gettext"
PATCHES=(
"${FILESDIR}"/${PN}-3.1.89-no-arch-detection.patch
"${FILESDIR}"/${P}-cmake-3.16.patch # bug 796224
- "${FILESDIR}"/${P}-{openexr-3,imath}.patch
+ "${FILESDIR}"/${P}-{openexr-3,imath-{1,2}}.patch
+ "${FILESDIR}"/${P}-cxx17-for-poppler-22.patch
+ "${FILESDIR}"/${P}-cxx17-fixes.patch
)
pkg_pretend() {
diff --git a/app-office/calligra/files/calligra-3.2.1-cxx17-fixes.patch b/app-office/calligra/files/calligra-3.2.1-cxx17-fixes.patch
new file mode 100644
index 000000000000..127dcda34795
--- /dev/null
+++ b/app-office/calligra/files/calligra-3.2.1-cxx17-fixes.patch
@@ -0,0 +1,443 @@
+From 068cd9aec11052733e393976142516d2190e4564 Mon Sep 17 00:00:00 2001
+From: Pierre Ducroquet <pinaraf@pinaraf.info>
+Date: Sun, 28 Feb 2021 23:23:02 +0100
+Subject: [PATCH] Fix some more warnings
+
+---
+ filters/libmsooxml/MsooXmlDiagramReader_p.cpp | 1 +
+ filters/sheets/csv/csvimport.cc | 2 +-
+ filters/sheets/excel/sidewinder/excel.cpp | 1 +
+ filters/sheets/excel/sidewinder/formulas.cpp | 2 +-
+ filters/sheets/gnumeric/gnumericexport.cc | 5 ++---
+ filters/sheets/html/htmlexport.cc | 2 --
+ filters/sheets/latex/export/latexexport.cc | 1 -
+ filters/sheets/latex/export/table.cc | 1 +
+ filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp | 1 -
+ filters/stage/pptx/PptxXmlDocumentReader.cpp | 2 +-
+ filters/words/msword-odf/texthandler.cpp | 2 ++
+ filters/words/msword-odf/wv2/src/parser9x.cpp | 4 +++-
+ filters/words/msword-odf/wv2/src/styles.cpp | 4 +---
+ filters/words/msword-odf/wv2/src/styles.h | 11 ++++++++---
+ gemini/lib/GeminiMainWindow.cpp | 2 ++
+ libs/pageapp/KoPAOdfPageSaveHelper.cpp | 2 +-
+ plugins/spacenavigator/SpaceNavigatorDevice.h | 6 ++----
+ plugins/spacenavigator/SpaceNavigatorEvent.h | 2 +-
+ plugins/spacenavigator/SpaceNavigatorPollingThread.h | 3 +--
+ plugins/vectorshape/VectorShape.cpp | 1 +
+ sheets/functions/datetime.cpp | 1 +
+ sheets/part/Digest.cpp | 8 ++++----
+ sheets/shape/TableToolFactory.h | 2 +-
+ sheets/tests/TestSort.cpp | 4 ++--
+ 24 files changed, 38 insertions(+), 32 deletions(-)
+
+diff --git a/filters/libmsooxml/MsooXmlDiagramReader_p.cpp b/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
+index 14b08531262..14fc6ab9a71 100644
+--- a/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
++++ b/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
+@@ -872,6 +872,7 @@ void LayoutNodeAtom::finishBuild(Context* context) {
+ case AlgorithmAtom::UnknownAlg:
+ warnMsooXml << "Layout with name=" << m_name << "defines an unknown algorithm.";
+ // fall through and use the composite-algorithm
++ // fall through
+ case AlgorithmAtom::CompositeAlg: m_algorithmImpl = new CompositeAlgorithm; break;
+ case AlgorithmAtom::ConnectorAlg: m_algorithmImpl = new ConnectorAlgorithm; break;
+ case AlgorithmAtom::CycleAlg: m_algorithmImpl = new CycleAlgorithm; break;
+diff --git a/filters/sheets/csv/csvimport.cc b/filters/sheets/csv/csvimport.cc
+index 89fb7162e00..1008d186f18 100644
+--- a/filters/sheets/csv/csvimport.cc
++++ b/filters/sheets/csv/csvimport.cc
+@@ -97,8 +97,8 @@ KoFilter::ConversionStatus CSVFilter::convert(const QByteArray& from, const QByt
+ return KoFilter::FileNotFound;
+ }
+
+- QString csv_delimiter;
+ // ###### FIXME: disabled for now
++ //QString csv_delimiter;
+ //if (!config.isNull())
+ // csv_delimiter = config[0];
+
+diff --git a/filters/sheets/excel/sidewinder/excel.cpp b/filters/sheets/excel/sidewinder/excel.cpp
+index ab592225ca6..7fa5633d433 100644
+--- a/filters/sheets/excel/sidewinder/excel.cpp
++++ b/filters/sheets/excel/sidewinder/excel.cpp
+@@ -2449,6 +2449,7 @@ bool ExcelReader::load(Workbook* workbook, const char* filename)
+ } else {
+ bytes_read = combObjStream->read( buffer, markerOrLength );
+ QString ansiString = readByteString(buffer, markerOrLength);
++ Q_UNUSED(ansiString);
+ //TODO...
+ //printf( "markerOrLength=%i ansiString=%s\n",markerOrLength,ansiString.ascii() );
+ }
+diff --git a/filters/sheets/excel/sidewinder/formulas.cpp b/filters/sheets/excel/sidewinder/formulas.cpp
+index 62747469a49..0132d39e024 100644
+--- a/filters/sheets/excel/sidewinder/formulas.cpp
++++ b/filters/sheets/excel/sidewinder/formulas.cpp
+@@ -1513,7 +1513,7 @@ static void mergeTokens(UStringStack* stack, unsigned count, const QString &merg
+ if (!stack) return;
+ if (stack->size() < count) return;
+
+- QString s1, s2;
++ QString s1;
+
+ while (count) {
+ count--;
+diff --git a/filters/sheets/gnumeric/gnumericexport.cc b/filters/sheets/gnumeric/gnumericexport.cc
+index 1256c68bc74..2468548edb3 100644
+--- a/filters/sheets/gnumeric/gnumericexport.cc
++++ b/filters/sheets/gnumeric/gnumericexport.cc
+@@ -1293,15 +1293,13 @@ KoFilter::ConversionStatus GNUMERICExport::convert(const QByteArray& from, const
+ i = 0;
+ }
+
+- QString line;
+ for (int currentcolumn = 1; currentcolumn <= iMaxColumn; currentcolumn++) {
+ QDomElement cell_contents;
+ Cell cell(table, currentcolumn, currentrow);
+
+- QString text, style;
++ QString text;
+ QDomDocument domLink;
+ QDomElement domRoot;
+- QDomNode domNode;
+ QDomNodeList childNodes;
+
+ if (!cell.isDefault() && !cell.isEmpty()) {
+@@ -1342,6 +1340,7 @@ KoFilter::ConversionStatus GNUMERICExport::convert(const QByteArray& from, const
+ text = domNode.toElement().text();
+
+ while (!domNode.isNull()) {
++ QString style;
+ style = domNode.toElement().tagName();
+
+ if (style == "b")
+diff --git a/filters/sheets/html/htmlexport.cc b/filters/sheets/html/htmlexport.cc
+index 2d116e0608c..bf41a6f743e 100644
+--- a/filters/sheets/html/htmlexport.cc
++++ b/filters/sheets/html/htmlexport.cc
+@@ -242,7 +242,6 @@ void HTMLExport::convertSheet(Sheet *sheet, QString &str, int iMaxUsedRow, int i
+ i = 0;
+ }
+
+- QString separators;
+ QString line;
+ unsigned int nonempty_cells = 0;
+
+@@ -435,7 +434,6 @@ void HTMLExport::detectFilledCells(Sheet *sheet, int &rows, int &columns)
+ int iUsedColumn = 0;
+ for (int currentcolumn = 1 ; currentcolumn <= iMaxColumn ; currentcolumn++) {
+ cell = Cell(sheet, currentcolumn, currentrow);
+- QString text;
+ if (!cell.isDefault() && !cell.isEmpty()) {
+ iUsedColumn = currentcolumn;
+ }
+diff --git a/filters/sheets/latex/export/latexexport.cc b/filters/sheets/latex/export/latexexport.cc
+index 8d0698a3420..4f8caf235d9 100644
+--- a/filters/sheets/latex/export/latexexport.cc
++++ b/filters/sheets/latex/export/latexexport.cc
+@@ -38,7 +38,6 @@ LATEXExport::LATEXExport(QObject* parent, const QVariantList&) :
+
+ KoFilter::ConversionStatus LATEXExport::convert(const QByteArray& from, const QByteArray& to)
+ {
+- QString config;
+
+ if (to != "text/x-tex" || from != "application/x-kspread")
+ return KoFilter::NotImplemented;
+diff --git a/filters/sheets/latex/export/table.cc b/filters/sheets/latex/export/table.cc
+index 8d8b6701a39..e58827dfbc7 100644
+--- a/filters/sheets/latex/export/table.cc
++++ b/filters/sheets/latex/export/table.cc
+@@ -118,6 +118,7 @@ void Table::analyzePaper(const QDomNode node)
+
+ /* borders */
+ QDomNode border = getChild(node, "borders");
++ Q_UNUSED(border);
+ setBorderRight(getAttr(node, "right").toLong());
+ setBorderLeft(getAttr(node, "left").toLong());
+ setBorderBottom(getAttr(node, "bottom").toLong());
+diff --git a/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp b/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
+index 782a5914729..eda8ffc6b47 100644
+--- a/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
++++ b/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
+@@ -872,7 +872,6 @@ KoFilter::ConversionStatus XlsxXmlWorksheetReader::read_conditionalFormatting()
+ while (index < m_conditionalIndices.size()) {
+ QString conditionalArea;
+ Condition examinedCondition = m_conditionalIndices.at(index);
+- QString sqrefOriginal = sqref;
+ int areaIndex = 0;
+ Condition previousCond;
+
+diff --git a/filters/stage/pptx/PptxXmlDocumentReader.cpp b/filters/stage/pptx/PptxXmlDocumentReader.cpp
+index 4cf86aea8c8..11b5ad266b9 100644
+--- a/filters/stage/pptx/PptxXmlDocumentReader.cpp
++++ b/filters/stage/pptx/PptxXmlDocumentReader.cpp
+@@ -316,7 +316,7 @@ KoFilter::ConversionStatus PptxXmlDocumentReader::read_sldId()
+
+ QString slideMasterPath, slideMasterFile;
+ MSOOXML::Utils::splitPathAndFile(m_context->relationships->targetForType(slidePath, slideFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideLayout"), &slideMasterPath, &slideMasterFile);
+- const QString slideMasterPathAndFile = m_context->relationships->targetForType(slideMasterPath, slideMasterFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideMaster");
++ // const QString slideMasterPathAndFile = m_context->relationships->targetForType(slideMasterPath, slideMasterFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideMaster");
+
+ // Delay the reading of a tableStyle until we find a table as we need the
+ // clrMap from the master slide
+diff --git a/filters/words/msword-odf/texthandler.cpp b/filters/words/msword-odf/texthandler.cpp
+index e167d86e028..89ef678961a 100644
+--- a/filters/words/msword-odf/texthandler.cpp
++++ b/filters/words/msword-odf/texthandler.cpp
+@@ -408,6 +408,7 @@ void WordsTextHandler::footnoteFound(wvWare::FootnoteData data,
+ }
+ case msonfcUCLetter:
+ letter = 'A';
++ // fall through
+ case msonfcLCLetter:
+ {
+ while (noteNumber / 25 > 0) {
+@@ -1064,6 +1065,7 @@ void WordsTextHandler::fieldStart(const wvWare::FLD* fld, wvWare::SharedPtr<cons
+ break;
+ case UNSUPPORTED:
+ warnMsDoc << "Warning: Fld data missing, ignoring!";
++ // fall through
+ default:
+ warnMsDoc << "Warning: unrecognized field type, ignoring!";
+ m_fld->m_type = UNSUPPORTED;
+diff --git a/filters/words/msword-odf/wv2/src/parser9x.cpp b/filters/words/msword-odf/wv2/src/parser9x.cpp
+index 9a6d1606ce9..e5d7d14691c 100644
+--- a/filters/words/msword-odf/wv2/src/parser9x.cpp
++++ b/filters/words/msword-odf/wv2/src/parser9x.cpp
+@@ -581,7 +581,8 @@ void Parser9x::processPiece( String* string, U32 fc, U32 limit, const Position&
+ // same ASCII code as TTP_MARK (0x0007), NOTE: table depth == 1
+ case CELL_MARK:
+ m_cellMarkFound = true;
+- // Fall-through intended. A row/cell end is also a paragraph end.
++ // A row/cell end is also a paragraph end.
++ // fall through
+ case PARAGRAPH_MARK:
+ {
+ // No "index - start + 1" here, as we don't want to copy the
+@@ -1064,6 +1065,7 @@ void Parser9x::emitSpecialCharacter( UChar character, U32 globalCP, SharedPtr<co
+ if (m_subDocument == Main) {
+ emitAnnotation( UString(character), globalCP, chp );
+ }
++ break;
+ }
+ case TextHandler::FieldEscapeChar:
+ wvlog << "Found an escape character ++++++++++++++++++++?" << endl;
+diff --git a/filters/words/msword-odf/wv2/src/styles.cpp b/filters/words/msword-odf/wv2/src/styles.cpp
+index f47c3dd8d51..d2c96e3d92b 100644
+--- a/filters/words/msword-odf/wv2/src/styles.cpp
++++ b/filters/words/msword-odf/wv2/src/styles.cpp
+@@ -42,7 +42,6 @@ STD::STD()
+ }
+
+ STD::STD( U16 baseSize, U16 totalSize, OLEStreamReader* stream, bool preservePos )
+-throw(InvalidFormatException)
+ {
+ clearInternal();
+ if (!read( baseSize, totalSize, stream, preservePos )) {
+@@ -112,7 +111,6 @@ STD& STD::operator=( const STD& rhs )
+ }
+
+ bool STD::read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos )
+-throw(InvalidFormatException)
+ {
+ U16 shifterU16;
+ S32 startOffset=stream->tell(); // address where the STD starts
+@@ -938,7 +936,7 @@ void Style::mergeUpechpx( const Style* parentStyle, WordVersion version )
+ }
+
+
+-StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException)
++StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf )
+ : m_udsNum(0)
+ {
+ WordVersion version = Word8;
+diff --git a/filters/words/msword-odf/wv2/src/styles.h b/filters/words/msword-odf/wv2/src/styles.h
+index ba02def6845..41c8278dd21 100644
+--- a/filters/words/msword-odf/wv2/src/styles.h
++++ b/filters/words/msword-odf/wv2/src/styles.h
+@@ -58,8 +58,9 @@ struct STD
+ STD();
+ /**
+ * Simply calls read(...)
++ * @throw InvalidFormatException
+ */
+- STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
++ STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false );
+ /**
+ * Attention: This struct allocates memory on the heap
+ */
+@@ -74,8 +75,9 @@ struct STD
+ * false the state of stream will be changed!
+ *
+ * @return true - success, false - failed
++ * @throw InvalidFormatException
+ */
+- bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
++ bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false );
+
+ /**
+ * Same as reading :)
+@@ -365,7 +367,10 @@ private:
+ class WV2_EXPORT StyleSheet
+ {
+ public:
+- StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException);
++ /**
++ * @throw InvalidFormatException
++ */
++ StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf );
+ ~StyleSheet();
+
+ /**
+diff --git a/gemini/lib/GeminiMainWindow.cpp b/gemini/lib/GeminiMainWindow.cpp
+index 3d05f6461e0..eb5f120c0f7 100644
+--- a/gemini/lib/GeminiMainWindow.cpp
++++ b/gemini/lib/GeminiMainWindow.cpp
+@@ -136,8 +136,10 @@ void GeminiMainWindow::setFullScreen(bool newState)
+ }
+
+
++
+ void GeminiMainWindow::changeState(GeminiMainWindow::GeminiState newState, bool lockNewState)
+ {
++ Q_UNUSED(lockNewState);
+ d->syncObject = new GeminiModeSynchronisationObject;
+
+ if(centralWidget()) {
+diff --git a/libs/pageapp/KoPAOdfPageSaveHelper.cpp b/libs/pageapp/KoPAOdfPageSaveHelper.cpp
+index 92c6dfd4cb4..068501c8af1 100644
+--- a/libs/pageapp/KoPAOdfPageSaveHelper.cpp
++++ b/libs/pageapp/KoPAOdfPageSaveHelper.cpp
+@@ -49,7 +49,7 @@ KoPAOdfPageSaveHelper::KoPAOdfPageSaveHelper( KoPADocument * doc, QList<KoPAPage
+ KoPAPage * p = static_cast<KoPAPage *>( page );
+ masterPages.insert( p->masterPage() );
+ }
+- m_masterPages = masterPages.toList();
++ m_masterPages = masterPages.values();
+ }
+ }
+
+diff --git a/plugins/spacenavigator/SpaceNavigatorDevice.h b/plugins/spacenavigator/SpaceNavigatorDevice.h
+index b9056ac98c1..ecd696e415f 100644
+--- a/plugins/spacenavigator/SpaceNavigatorDevice.h
++++ b/plugins/spacenavigator/SpaceNavigatorDevice.h
+@@ -31,10 +31,8 @@ public:
+ explicit SpaceNavigatorDevice(QObject *parent);
+ virtual ~SpaceNavigatorDevice();
+
+- /// reimplemented from KoInputDeviceHandler
+- virtual bool start();
+- /// reimplemented from KoInputDeviceHandler
+- virtual bool stop();
++ virtual bool start() override;
++ virtual bool stop() override;
+ private Q_SLOTS:
+ void slotMoveEvent( int x, int y, int z, int rx, int ry, int rz, Qt::MouseButtons );
+ void slotButtonEvent( int x, int y, int z, int rx, int ry, int rz, Qt::MouseButtons, Qt::MouseButton, int type );
+diff --git a/plugins/spacenavigator/SpaceNavigatorEvent.h b/plugins/spacenavigator/SpaceNavigatorEvent.h
+index 73751ec88ff..76ee8e2f880 100644
+--- a/plugins/spacenavigator/SpaceNavigatorEvent.h
++++ b/plugins/spacenavigator/SpaceNavigatorEvent.h
+@@ -33,7 +33,7 @@ public:
+ void setPosition( int x, int y, int z );
+ void setRotation( int rx, int ry, int rz );
+
+- virtual KoPointerEvent * pointerEvent();
++ virtual KoPointerEvent * pointerEvent() override;
+
+ private:
+ int m_x, m_y, m_z;
+diff --git a/plugins/spacenavigator/SpaceNavigatorPollingThread.h b/plugins/spacenavigator/SpaceNavigatorPollingThread.h
+index 62c4de8ab73..67d59177021 100644
+--- a/plugins/spacenavigator/SpaceNavigatorPollingThread.h
++++ b/plugins/spacenavigator/SpaceNavigatorPollingThread.h
+@@ -39,8 +39,7 @@ Q_SIGNALS:
+
+ protected:
+
+- /// reimplemented from QThread
+- virtual void run();
++ virtual void run() override;
+
+ private:
+ bool m_stopped;
+diff --git a/plugins/vectorshape/VectorShape.cpp b/plugins/vectorshape/VectorShape.cpp
+index a25ab3fc561..9acbd251c94 100644
+--- a/plugins/vectorshape/VectorShape.cpp
++++ b/plugins/vectorshape/VectorShape.cpp
+@@ -294,6 +294,7 @@ void VectorShape::saveOdf(KoShapeSavingContext & context) const
+ break;
+ case VectorTypeSvg:
+ mimeType = "image/svg+xml";
++ break;
+ default:
+ // FIXME: What here?
+ mimeType = "application/x-what";
+diff --git a/sheets/functions/datetime.cpp b/sheets/functions/datetime.cpp
+index 9f59fe2cf75..6157b0996c1 100644
+--- a/sheets/functions/datetime.cpp
++++ b/sheets/functions/datetime.cpp
+@@ -597,6 +597,7 @@ Value func_currentDate(valVector, ValueCalc * calc, FuncExtra *)
+ // Function: CURRENTTIME
+ Value func_currentTime(valVector, ValueCalc * calc, FuncExtra *)
+ {
++ Q_UNUSED(calc);
+ return Value(QTime::currentTime());
+ }
+
+diff --git a/sheets/part/Digest.cpp b/sheets/part/Digest.cpp
+index 8cd972db989..e9246ce6e7d 100644
+--- a/sheets/part/Digest.cpp
++++ b/sheets/part/Digest.cpp
+@@ -596,10 +596,10 @@ static void __rtl_digest_endSHA(DigestContextSHA *ctx)
+ }
+
+ switch (ctx->m_nDatLen & 0x03) {
+- case 0: X[i] = ((sal_uInt32)(*(p++))) << 0L;
+- case 1: X[i] |= ((sal_uInt32)(*(p++))) << 8L;
+- case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L;
+- case 3: X[i] |= ((sal_uInt32)(*(p++))) << 24L;
++ case 0: X[i] = ((sal_uInt32)(*(p++))) << 0L; /* fall through */
++ case 1: X[i] |= ((sal_uInt32)(*(p++))) << 8L; /* fall through */
++ case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L; /* fall through */
++ case 3: X[i] |= ((sal_uInt32)(*(p++))) << 24L; /* fall through */
+ }
+
+ __rtl_digest_swapLong(X, i + 1);
+diff --git a/sheets/shape/TableToolFactory.h b/sheets/shape/TableToolFactory.h
+index 679bfe14b8e..9412d8ffdc5 100644
+--- a/sheets/shape/TableToolFactory.h
++++ b/sheets/shape/TableToolFactory.h
+@@ -34,7 +34,7 @@ public:
+ TableToolFactory();
+ ~TableToolFactory();
+
+- KoToolBase* createTool(KoCanvasBase* canvas);
++ KoToolBase* createTool(KoCanvasBase* canvas) override;
+ };
+
+ } // namespace Sheets
+diff --git a/sheets/tests/TestSort.cpp b/sheets/tests/TestSort.cpp
+index b3f1e35169d..6354d79abc5 100644
+--- a/sheets/tests/TestSort.cpp
++++ b/sheets/tests/TestSort.cpp
+@@ -68,7 +68,7 @@ void TestSort::AscendingOrder()
+ command->setSheet(sheet);
+
+ // Parameters.
+- command->setSortRows(Qt::Vertical);
++ command->setSortRows(true);
+ command->setSkipFirst(false);
+ command->setCopyFormat(false);
+
+@@ -121,7 +121,7 @@ void TestSort::DescendingOrder()
+ command->setSheet(sheet);
+
+ // Parameters.
+- command->setSortRows(Qt::Vertical);
++ command->setSortRows(true);
+ command->setSkipFirst(false);
+ command->setCopyFormat(false);
+
+--
+GitLab
+
diff --git a/app-office/calligra/files/calligra-3.2.1-cxx17-for-poppler-22.patch b/app-office/calligra/files/calligra-3.2.1-cxx17-for-poppler-22.patch
new file mode 100644
index 000000000000..288c72b61558
--- /dev/null
+++ b/app-office/calligra/files/calligra-3.2.1-cxx17-for-poppler-22.patch
@@ -0,0 +1,31 @@
+From 175b92c26637a08be4093c9579128f2f89253090 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Fri, 7 Jan 2022 14:00:05 +0100
+Subject: [PATCH] Fix build with >=app-text/poppler-22.01.0
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 71272ffef2d..bdd9ed74406 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -104,12 +104,7 @@ if(NOT DEFINED RELEASE_BUILD)
+ endif()
+ message(STATUS "Release build: ${RELEASE_BUILD}")
+
+-# use CPP-11
+-if (CMAKE_VERSION VERSION_LESS "3.1")
+- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+-else ()
+- set (CMAKE_CXX_STANDARD 11)
+-endif ()
++set (CMAKE_CXX_STANDARD 17) # required for >=poppler-22.01
+
+ ############
+ #############
+--
+2.34.1
+
diff --git a/app-office/calligra/files/calligra-3.2.1-imath.patch b/app-office/calligra/files/calligra-3.2.1-imath-1.patch
index 62a2daa2f5dc..62a2daa2f5dc 100644
--- a/app-office/calligra/files/calligra-3.2.1-imath.patch
+++ b/app-office/calligra/files/calligra-3.2.1-imath-1.patch
diff --git a/app-office/calligra/files/calligra-3.2.1-imath-2.patch b/app-office/calligra/files/calligra-3.2.1-imath-2.patch
new file mode 100644
index 000000000000..113e885726f4
--- /dev/null
+++ b/app-office/calligra/files/calligra-3.2.1-imath-2.patch
@@ -0,0 +1,25 @@
+From 4d42f7b414f9cf15051509a80fd8ecdd745b989c Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Mon, 20 Dec 2021 18:46:33 +0100
+Subject: [PATCH] Fixup Imath 3.0 support
+
+OpenEXR_FOUND needs to be set to true in order to compile it.
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a77c4be50b..89636205c2b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -341,6 +341,7 @@ endif ()
+ macro_optional_find_package(Imath 3.0 CONFIG QUIET)
+ if(TARGET Imath::Imath)
+ set(OPENEXR_LIBRARIES Imath::Imath)
++ set(OpenEXR_FOUND TRUE)
+ else()
+ macro_optional_find_package(OpenEXR)
+ endif()
+--
+GitLab
+