From be30e58f980bbb92a9049b205856fcdd0392adcf Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Fri, 25 Mar 2022 18:33:32 -0700 Subject: [PATCH] calligra: rebuild against libpoppler 22.06.0 --- .../patches/0001-Fix-some-more-warnings.patch | 440 ++++++++++++++++++ .../0002-Make-show-hidden-row-s-work.patch | 29 ++ srcpkgs/calligra/patches/c++17.patch | 16 + .../patches/poppler-22.03.0-fix.patch | 70 +++ .../patches/poppler-22.04.0-fix.patch | 91 ++++ srcpkgs/calligra/template | 2 +- 6 files changed, 647 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/calligra/patches/0001-Fix-some-more-warnings.patch create mode 100644 srcpkgs/calligra/patches/0002-Make-show-hidden-row-s-work.patch create mode 100644 srcpkgs/calligra/patches/c++17.patch create mode 100644 srcpkgs/calligra/patches/poppler-22.03.0-fix.patch create mode 100644 srcpkgs/calligra/patches/poppler-22.04.0-fix.patch diff --git a/srcpkgs/calligra/patches/0001-Fix-some-more-warnings.patch b/srcpkgs/calligra/patches/0001-Fix-some-more-warnings.patch new file mode 100644 index 00000000000..6cc132925b1 --- /dev/null +++ b/srcpkgs/calligra/patches/0001-Fix-some-more-warnings.patch @@ -0,0 +1,440 @@ +From 068cd9aec11052733e393976142516d2190e4564 Mon Sep 17 00:00:00 2001 +From: Pierre Ducroquet +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::SharedPtrm_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, SharedPtrtell(); // 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 @@ class WV2_EXPORT Style + 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( 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 @@ class SpaceNavigatorDevice : public KoInputDeviceHandler + 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 @@ class SpaceNavigatorEvent : public KoInputDeviceHandlerEvent + 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 @@ class SpaceNavigatorPollingThread : public QThread + + 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 @@ class TableToolFactory : public KoToolFactoryBase + 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); + diff --git a/srcpkgs/calligra/patches/0002-Make-show-hidden-row-s-work.patch b/srcpkgs/calligra/patches/0002-Make-show-hidden-row-s-work.patch new file mode 100644 index 00000000000..d4b082b9a0f --- /dev/null +++ b/srcpkgs/calligra/patches/0002-Make-show-hidden-row-s-work.patch @@ -0,0 +1,29 @@ +From 22e02998dec8af15a25b7e8e3d53c174810cc3be Mon Sep 17 00:00:00 2001 +From: Dag Andersen +Date: Thu, 11 Jun 2020 10:43:38 +0200 +Subject: [PATCH] Make show hidden row(s) work + +Check for hidden rows was inverted to check for shown rows, +hence hidden rows would never be unhidden. + +BUG:338816 +BUG:354236 +FIXED-IN:3.2.2 +(cherry picked from commit 28920c50e6300d643477f256aba91c8c51836682) +--- + sheets/commands/RowColumnManipulators.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sheets/commands/RowColumnManipulators.cpp b/sheets/commands/RowColumnManipulators.cpp +index 95282d6e31b..25e8c454e27 100644 +--- a/sheets/commands/RowColumnManipulators.cpp ++++ b/sheets/commands/RowColumnManipulators.cpp +@@ -192,7 +192,7 @@ bool HideShowManipulator::preProcessing() + } + } + for (int row = range.top(); row <= range.bottom(); ++row) { +- if (!m_sheet->rowFormats()->isHidden(row)) { ++ if (m_sheet->rowFormats()->isHidden(row)) { + region.add(QRect(1, row, KS_colMax, 1)); + } + } diff --git a/srcpkgs/calligra/patches/c++17.patch b/srcpkgs/calligra/patches/c++17.patch new file mode 100644 index 00000000000..1db8385161a --- /dev/null +++ b/srcpkgs/calligra/patches/c++17.patch @@ -0,0 +1,16 @@ +diff -Naur CMakeLists.txt.orig CMakeLists.txt +--- a/CMakeLists.txt.orig ++++ b/CMakeLists.txt +@@ -106,9 +106,9 @@ + + # use CPP-11 + if (CMAKE_VERSION VERSION_LESS "3.1") +- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") + else () +- set (CMAKE_CXX_STANDARD 11) ++ set (CMAKE_CXX_STANDARD 17) + endif () + + ############ + diff --git a/srcpkgs/calligra/patches/poppler-22.03.0-fix.patch b/srcpkgs/calligra/patches/poppler-22.03.0-fix.patch new file mode 100644 index 00000000000..7dab53bcfc7 --- /dev/null +++ b/srcpkgs/calligra/patches/poppler-22.03.0-fix.patch @@ -0,0 +1,70 @@ +From 236bacbe13739414e919de868283b0caf2df5d8a Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Wed, 13 Apr 2022 01:25:44 +0200 +Subject: [PATCH] PdfImport: Fix compile with newer poppler + +Brings a dependency on poppler-qt5 to be able to include the version +header, honestly it's not strictly needed, one could do a +check_cxx_source_compiles, but I don't care about Calligra enough to +spend more time making it compile while it's using poppler the wrong +way. +--- + CMakeLists.txt | 1 + + filters/karbon/pdf/CMakeLists.txt | 2 +- + filters/karbon/pdf/PdfImport.cpp | 9 +++++++++ + 3 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 51f1d65b8e6..06bbad5c24c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -952,6 +952,7 @@ calligra_drop_product_on_bad_condition( FILTER_WPG_TO_ODG + calligra_drop_product_on_bad_condition( FILTER_PDF_TO_SVG + NOT_WIN "not supported on Windows" + PopplerXPDFHeaders_FOUND "poppler xpdf headers not found" ++ Poppler_FOUND "poppler qt5 headers not found" + ) + + calligra_drop_product_on_bad_condition( FILTER_HTML_TO_ODS +diff --git a/filters/karbon/pdf/CMakeLists.txt b/filters/karbon/pdf/CMakeLists.txt +index 8fddf1ad757..b71c92cbf04 100644 +--- a/filters/karbon/pdf/CMakeLists.txt ++++ b/filters/karbon/pdf/CMakeLists.txt +@@ -3,7 +3,7 @@ set(pdf2svg_PART_SRCS PdfImportDebug.cpp PdfImport.cpp SvgOutputDev.cpp ) + add_library(calligra_filter_pdf2svg MODULE ${pdf2svg_PART_SRCS}) + calligra_filter_desktop_to_json(calligra_filter_pdf2svg calligra_filter_pdf2svg.desktop) + +-target_link_libraries(calligra_filter_pdf2svg komain Poppler::Core) ++target_link_libraries(calligra_filter_pdf2svg komain Poppler::Core Poppler::Qt5) + + install(TARGETS calligra_filter_pdf2svg DESTINATION ${PLUGIN_INSTALL_DIR}/calligra/formatfilters) + +diff --git a/filters/karbon/pdf/PdfImport.cpp b/filters/karbon/pdf/PdfImport.cpp +index abbe681b4e8..e97974fc133 100644 +--- a/filters/karbon/pdf/PdfImport.cpp ++++ b/filters/karbon/pdf/PdfImport.cpp +@@ -17,6 +17,10 @@ + + #include + ++#include ++ ++#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) ++ + // Don't show this warning: it's an issue in poppler + #ifdef __GNUC__ + #pragma GCC diagnostic ignored "-Wunused-parameter" +@@ -54,8 +58,13 @@ KoFilter::ConversionStatus PdfImport::convert(const QByteArray& from, const QByt + if (! globalParams) + return KoFilter::NotImplemented; + ++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(22, 03, 0) + GooString * fname = new GooString(QFile::encodeName(m_chain->inputFile()).data()); + PDFDoc * pdfDoc = new PDFDoc(fname, 0, 0, 0); ++#else ++ std::unique_ptr fname = std::make_unique(QFile::encodeName(m_chain->inputFile()).data()); ++ PDFDoc * pdfDoc = new PDFDoc(std::move(fname)); ++#endif + if (! pdfDoc) { + globalParams.reset(); + return KoFilter::StupidError; diff --git a/srcpkgs/calligra/patches/poppler-22.04.0-fix.patch b/srcpkgs/calligra/patches/poppler-22.04.0-fix.patch new file mode 100644 index 00000000000..e47169950b8 --- /dev/null +++ b/srcpkgs/calligra/patches/poppler-22.04.0-fix.patch @@ -0,0 +1,91 @@ +From 6b75bec784c9835c78993349845d8c2ef22ec3de Mon Sep 17 00:00:00 2001 +From: Dag Andersen +Date: Wed, 13 Apr 2022 14:45:33 +0200 +Subject: [PATCH] PdfImport: Fix compile with newer poppler + +Also fixes odg2pdf filter. + +Same solution as commit 236bacbe13739414e919de868283b0caf2df5d8a +by accid@kde.org. +--- + filters/karbon/pdf/CMakeLists.txt | 2 +- + filters/karbon/pdf/Pdf2OdgImport.cpp | 9 +++++++++ + filters/karbon/pdf/SvgOutputDev.cpp | 9 +++++++++ + 3 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/filters/karbon/pdf/CMakeLists.txt b/filters/karbon/pdf/CMakeLists.txt +index b71c92cbf04..4ce138ccdd6 100644 +--- a/filters/karbon/pdf/CMakeLists.txt ++++ b/filters/karbon/pdf/CMakeLists.txt +@@ -13,6 +13,6 @@ set(pdf2odg_PART_SRCS PdfImportDebug.cpp Pdf2OdgImport.cpp SvgOutputDev.cpp) + add_library(calligra_filter_pdf2odg MODULE ${pdf2odg_PART_SRCS}) + calligra_filter_desktop_to_json(calligra_filter_pdf2odg calligra_filter_pdf2odg.desktop) + +-target_link_libraries(calligra_filter_pdf2odg kopageapp karbonui Poppler::Core) ++target_link_libraries(calligra_filter_pdf2odg kopageapp karbonui Poppler::Core Poppler::Qt5) + + install(TARGETS calligra_filter_pdf2odg DESTINATION ${PLUGIN_INSTALL_DIR}/calligra/formatfilters) +diff --git a/filters/karbon/pdf/Pdf2OdgImport.cpp b/filters/karbon/pdf/Pdf2OdgImport.cpp +index 934e31dd5aa..a21eac97a77 100644 +--- a/filters/karbon/pdf/Pdf2OdgImport.cpp ++++ b/filters/karbon/pdf/Pdf2OdgImport.cpp +@@ -27,6 +27,8 @@ + + #include + ++#include ++ + // Don't show this warning: it's an issue in poppler + #ifdef __GNUC__ + #pragma GCC diagnostic ignored "-Wunused-parameter" +@@ -36,6 +38,8 @@ + #include + #include + ++#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) ++ + K_PLUGIN_FACTORY_WITH_JSON(Pdf2OdgImportFactory, "calligra_filter_pdf2odg.json", + registerPlugin();) + +@@ -69,8 +73,13 @@ KoFilter::ConversionStatus Pdf2OdgImport::convert(const QByteArray& from, const + if (! globalParams) + return KoFilter::NotImplemented; + ++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(22, 03, 0) + GooString * fname = new GooString(QFile::encodeName(m_chain->inputFile()).data()); + PDFDoc * pdfDoc = new PDFDoc(fname, 0, 0, 0); ++#else ++ std::unique_ptr fname = std::make_unique(QFile::encodeName(m_chain->inputFile()).data()); ++ PDFDoc * pdfDoc = new PDFDoc(std::move(fname)); ++#endif + if (! pdfDoc) { + globalParams.reset(); + return KoFilter::StupidError; +diff --git a/filters/karbon/pdf/SvgOutputDev.cpp b/filters/karbon/pdf/SvgOutputDev.cpp +index 0e6e5a934ca..7caec15175a 100644 +--- a/filters/karbon/pdf/SvgOutputDev.cpp ++++ b/filters/karbon/pdf/SvgOutputDev.cpp +@@ -22,6 +22,10 @@ + #include + #include + ++#include ++ ++#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO)) ++ + class SvgOutputDev::Private + { + public: +@@ -386,7 +390,12 @@ void SvgOutputDev::drawString(GfxState * state, const GooString * s) + if (s->getLength() == 0) + return; + ++#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(22, 03, 0) + GfxFont * font = state->getFont(); ++#else ++ std::shared_ptr font = state->getFont(); ++#endif ++ + + QString str; + diff --git a/srcpkgs/calligra/template b/srcpkgs/calligra/template index 7c1411bf3da..6f924d62f8f 100644 --- a/srcpkgs/calligra/template +++ b/srcpkgs/calligra/template @@ -1,7 +1,7 @@ # Template file for 'calligra' pkgname=calligra version=3.2.1 -revision=7 +revision=8 build_style=cmake configure_args="-Wno-dev -DCALLIGRA_SHOULD_BUILD_UNMAINTAINED=ON -DBUILD_TESTING=OFF"