From 2f71a50c43c2a022148a0810d24e836339c89230 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 21:06:37 +0100 Subject: [PATCH] rebuilt with okular 22.04.0 [release 3.2.1-4mamba;Thu Apr 28 2022] --- ...ulaTool-Guard-against-crash-if-activ.patch | 45 ++ ...38-Annotation-shape-crashes-on-paste.patch | 29 ++ ...invalid-.local-share-autocorrect-cus.patch | 47 ++ ...Fix-comparison-between-QString-and-0.patch | 71 +++ ...large-JPEG-image-into-a-presentation.patch | 34 ++ calligra-3.2.1-Fix-some-more-warnings.patch | 443 ++++++++++++++++++ ...ra-3.2.1-Make-show-hidden-row-s-work.patch | 31 ++ ...f-Commit-62f51070-to-make-it-compile.patch | 86 ++++ ...3.2.1-Repair-KFileWidget-integration.patch | 66 +++ ...23474-Selections-not-retained-when-s.patch | 28 ++ calligra-3.2.1-gcc11.patch | 48 ++ ...aware_xgettext.sh-fix-a-gawk-warning.patch | 30 ++ calligra.spec | 199 ++++---- 13 files changed, 1071 insertions(+), 86 deletions(-) create mode 100644 calligra-3.2.1-ChartTool-KoFormulaTool-Guard-against-crash-if-activ.patch create mode 100644 calligra-3.2.1-Fix-Bug-423038-Annotation-shape-crashes-on-paste.patch create mode 100644 calligra-3.2.1-Fix-assert-with-invalid-.local-share-autocorrect-cus.patch create mode 100644 calligra-3.2.1-Fix-comparison-between-QString-and-0.patch create mode 100644 calligra-3.2.1-Fix-inserting-a-large-JPEG-image-into-a-presentation.patch create mode 100644 calligra-3.2.1-Fix-some-more-warnings.patch create mode 100644 calligra-3.2.1-Make-show-hidden-row-s-work.patch create mode 100644 calligra-3.2.1-Partial-update-of-Commit-62f51070-to-make-it-compile.patch create mode 100644 calligra-3.2.1-Repair-KFileWidget-integration.patch create mode 100644 calligra-3.2.1-Sheets-Fix-Bug-423474-Selections-not-retained-when-s.patch create mode 100644 calligra-3.2.1-gcc11.patch create mode 100644 calligra-3.2.1-kundo2_aware_xgettext.sh-fix-a-gawk-warning.patch diff --git a/calligra-3.2.1-ChartTool-KoFormulaTool-Guard-against-crash-if-activ.patch b/calligra-3.2.1-ChartTool-KoFormulaTool-Guard-against-crash-if-activ.patch new file mode 100644 index 0000000..af857ac --- /dev/null +++ b/calligra-3.2.1-ChartTool-KoFormulaTool-Guard-against-crash-if-activ.patch @@ -0,0 +1,45 @@ +From 3bedba886436fb6cee2d92f446d4674ae431cab0 Mon Sep 17 00:00:00 2001 +From: Dag Andersen +Date: Tue, 30 Jun 2020 09:08:42 +0200 +Subject: [PATCH 10/54] ChartTool, KoFormulaTool: Guard against crash if + activated without shape + +--- + plugins/chartshape/ChartTool.cpp | 5 ++++- + plugins/formulashape/KoFormulaTool.cpp | 4 ++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/plugins/chartshape/ChartTool.cpp b/plugins/chartshape/ChartTool.cpp +index 33d9bb6d876..3fbf8c49f11 100644 +--- a/plugins/chartshape/ChartTool.cpp ++++ b/plugins/chartshape/ChartTool.cpp +@@ -267,7 +267,10 @@ void ChartTool::activate(ToolActivation, const QSet &shapes) + void ChartTool::deactivate() + { + debugChartTool<shape; +- ++ if (!d->shape) { ++ // activated without shape ++ return; ++ } + foreach (QWidget *w, optionWidgets()) { + ConfigWidgetBase *configWidget = dynamic_cast(w); + if (configWidget) +diff --git a/plugins/formulashape/KoFormulaTool.cpp b/plugins/formulashape/KoFormulaTool.cpp +index 6db24cad001..070633348ce 100644 +--- a/plugins/formulashape/KoFormulaTool.cpp ++++ b/plugins/formulashape/KoFormulaTool.cpp +@@ -128,6 +128,10 @@ void KoFormulaTool::deactivate() + for (const TemplateAction &templateAction : koAsConst(m_templateActions)) { + disconnect(templateAction.action, &QAction::triggered, this, nullptr); + } ++ if (!m_formulaShape) { ++ // activated without shape ++ return; ++ } + disconnect(m_formulaShape->formulaData(),0,this,0); + if (canvas()) { + m_cursorList.append(m_formulaEditor); +-- +2.31.1 + diff --git a/calligra-3.2.1-Fix-Bug-423038-Annotation-shape-crashes-on-paste.patch b/calligra-3.2.1-Fix-Bug-423038-Annotation-shape-crashes-on-paste.patch new file mode 100644 index 0000000..ed11c7a --- /dev/null +++ b/calligra-3.2.1-Fix-Bug-423038-Annotation-shape-crashes-on-paste.patch @@ -0,0 +1,29 @@ +From 2dea3f29791a2c157876824ce3e59291eeb0b200 Mon Sep 17 00:00:00 2001 +From: Dag Andersen +Date: Tue, 16 Jun 2020 10:06:01 +0200 +Subject: [PATCH 03/54] Fix Bug 423038 - Annotation shape crashes on paste + +BUG: 423038 + +Reviewers: +CCMAIL: cbo@boemann.dk +--- + plugins/textshape/AnnotationTextShapeFactory.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/plugins/textshape/AnnotationTextShapeFactory.cpp b/plugins/textshape/AnnotationTextShapeFactory.cpp +index 6467222ce32..c28ed1eeb23 100644 +--- a/plugins/textshape/AnnotationTextShapeFactory.cpp ++++ b/plugins/textshape/AnnotationTextShapeFactory.cpp +@@ -103,6 +103,8 @@ KoShape *AnnotationTextShapeFactory::createDefaultShape(KoDocumentResourceManage + document.setChangeTracker(changeTracker); + } + ++ document.setShapeController(documentResources->shapeController()); ++ + //update the resources of the document + annotation->updateDocumentData(); + annotation->setImageCollection(documentResources->imageCollection()); +-- +2.31.1 + diff --git a/calligra-3.2.1-Fix-assert-with-invalid-.local-share-autocorrect-cus.patch b/calligra-3.2.1-Fix-assert-with-invalid-.local-share-autocorrect-cus.patch new file mode 100644 index 0000000..8b0432c --- /dev/null +++ b/calligra-3.2.1-Fix-assert-with-invalid-.local-share-autocorrect-cus.patch @@ -0,0 +1,47 @@ +From dcea315173ffc1d5d42aa2734636fe97cd0180d9 Mon Sep 17 00:00:00 2001 +From: David Faure +Date: Sun, 9 Aug 2020 10:55:41 +0200 +Subject: [PATCH 18/54] Fix assert with invalid + ~/.local/share/autocorrect/custom-en-US.xml + +--- + .../textediting/autocorrection/Autocorrect.cpp | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/plugins/textediting/autocorrection/Autocorrect.cpp b/plugins/textediting/autocorrection/Autocorrect.cpp +index 4d17c0d79c2..61674276e9f 100644 +--- a/plugins/textediting/autocorrection/Autocorrect.cpp ++++ b/plugins/textediting/autocorrection/Autocorrect.cpp +@@ -845,8 +845,12 @@ void Autocorrect::readAutocorrectXmlEntry(const QString &fname, bool onlyCustomi + QDomNodeList nl = doubleQuote.childNodes(); + if(nl.count()==1) { + QDomElement element = nl.item(0).toElement(); +- m_typographicDoubleQuotes.begin = element.attribute(QLatin1String("begin")).at(0); +- m_typographicDoubleQuotes.end = element.attribute(QLatin1String("end")).at(0); ++ const QString beginStr = element.attribute(QLatin1String("begin")); ++ const QString endStr = element.attribute(QLatin1String("end")); ++ if (!beginStr.isEmpty() && !endStr.isEmpty()) { ++ m_typographicDoubleQuotes.begin = beginStr.at(0); ++ m_typographicDoubleQuotes.end = endStr.at(0); ++ } + } + } + +@@ -855,8 +859,12 @@ void Autocorrect::readAutocorrectXmlEntry(const QString &fname, bool onlyCustomi + QDomNodeList nl = singleQuote.childNodes(); + if(nl.count()==1) { + QDomElement element = nl.item(0).toElement(); +- m_typographicSingleQuotes.begin = element.attribute(QLatin1String("begin")).at(0); +- m_typographicSingleQuotes.end = element.attribute(QLatin1String("end")).at(0); ++ const QString beginStr = element.attribute(QLatin1String("begin")); ++ const QString endStr = element.attribute(QLatin1String("end")); ++ if (!beginStr.isEmpty() && !endStr.isEmpty()) { ++ m_typographicSingleQuotes.begin = beginStr.at(0); ++ m_typographicSingleQuotes.end = endStr.at(0); ++ } + } + } + +-- +2.31.1 + diff --git a/calligra-3.2.1-Fix-comparison-between-QString-and-0.patch b/calligra-3.2.1-Fix-comparison-between-QString-and-0.patch new file mode 100644 index 0000000..0adf4dd --- /dev/null +++ b/calligra-3.2.1-Fix-comparison-between-QString-and-0.patch @@ -0,0 +1,71 @@ +From 622e3ae6cca729e11e83e56a91db87e3a4ecbf6f Mon Sep 17 00:00:00 2001 +From: David Faure +Date: Thu, 18 Jun 2020 22:55:10 +0200 +Subject: [PATCH 08/54] Fix comparison between QString and 0. + +Detected with local hack to qstring.h +--- + filters/stage/powerpoint/PptToOdp.cpp | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/filters/stage/powerpoint/PptToOdp.cpp b/filters/stage/powerpoint/PptToOdp.cpp +index f5646f7b089..245b314e7fe 100644 +--- a/filters/stage/powerpoint/PptToOdp.cpp ++++ b/filters/stage/powerpoint/PptToOdp.cpp +@@ -3485,7 +3485,7 @@ void PptToOdp::processDeclaration(KoXmlWriter* xmlWriter) + #if 0 + QString headerText = QString::fromLatin1(headerAtom->header, headerAtom->header.size()); + QString hdrName = findDeclaration(Header, headerText); +- if (hdrName == 0 ) { ++ if (hdrName.isEmpty() ) { + hdrName = QString("hdr%1").arg(declaration.values(Header).count() + 1); + insertDeclaration(Header, hdrName, headerText); + } +@@ -3495,7 +3495,7 @@ void PptToOdp::processDeclaration(KoXmlWriter* xmlWriter) + if (headerFooterAtom && headerFooterAtom->fHasFooter && footerAtom) { + QString footerText = QString::fromUtf16(footerAtom->footer.data(), footerAtom->footer.size()); + QString ftrName = findDeclaration(Footer, footerText); +- if ( ftrName == 0) { ++ if ( ftrName.isEmpty() ) { + ftrName = QString("ftr%1").arg((declaration.values(Footer).count() + 1)); + insertDeclaration(Footer, ftrName, footerText); + } +@@ -3505,7 +3505,7 @@ void PptToOdp::processDeclaration(KoXmlWriter* xmlWriter) + if(headerFooterAtom->fHasUserDate && userDateAtom) { + QString userDate = QString::fromUtf16(userDateAtom->userDate.data(), userDateAtom->userDate.size()); + QString dtdName = findDeclaration(DateTime, userDate); +- if ( dtdName == 0) { ++ if ( dtdName.isEmpty() ) { + dtdName = QString("dtd%1").arg((declaration.values(DateTime).count() + 1)); + insertDeclaration(DateTime, dtdName, userDate); + } +@@ -3513,7 +3513,7 @@ void PptToOdp::processDeclaration(KoXmlWriter* xmlWriter) + } + if(headerFooterAtom->fHasTodayDate) { + QString dtdName = findDeclaration(DateTime, ""); +- if ( dtdName == 0) { ++ if ( dtdName.isEmpty() ) { + dtdName = QString("dtd%1").arg((declaration.values(DateTime).count() + 1)); + insertDeclaration(DateTime, dtdName, ""); + } +@@ -3568,7 +3568,7 @@ QString PptToOdp::findDeclaration(DeclarationType type, const QString &text) con + return item.first; + } + } +- return 0; ++ return QString(); + } + + QString PptToOdp::findNotesDeclaration(DeclarationType type, const QString &text) const +@@ -3581,7 +3581,7 @@ QString PptToOdp::findNotesDeclaration(DeclarationType type, const QString &text + return item.first; + } + } +- return 0; ++ return QString(); + } + + void PptToOdp::insertDeclaration(DeclarationType type, const QString &name, const QString &text) +-- +2.31.1 + diff --git a/calligra-3.2.1-Fix-inserting-a-large-JPEG-image-into-a-presentation.patch b/calligra-3.2.1-Fix-inserting-a-large-JPEG-image-into-a-presentation.patch new file mode 100644 index 0000000..00ccb28 --- /dev/null +++ b/calligra-3.2.1-Fix-inserting-a-large-JPEG-image-into-a-presentation.patch @@ -0,0 +1,34 @@ +From 1b561c83b5076154f0e22ef57709fcb25c263931 Mon Sep 17 00:00:00 2001 +From: David Faure +Date: Sun, 9 Aug 2020 14:27:32 +0200 +Subject: [PATCH 20/54] Fix inserting a (large) JPEG image into a presentation + +The format was hardcoded to "png" but the JPEG data was written "as is" +into the temp file (because > 90kB), so loading as PNG failed. +--- + libs/flake/KoImageData.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libs/flake/KoImageData.cpp b/libs/flake/KoImageData.cpp +index 5882360d8cd..c2238b4f42d 100644 +--- a/libs/flake/KoImageData.cpp ++++ b/libs/flake/KoImageData.cpp +@@ -148,6 +148,7 @@ QImage KoImageData::image() const + d->errorCode = OpenFailed; + } + else if (d->errorCode == Success && !d->image.load(d->temporaryFile->fileName(), d->suffix.toLatin1())) { ++ qWarning() << "Failed to open image" << d->temporaryFile->fileName() << "with format" << d->suffix; + d->errorCode = OpenFailed; + } + d->temporaryFile->close(); +@@ -316,6 +317,7 @@ void KoImageData::setImage(const QByteArray &imageData, KoImageCollection *colle + buffer.setData(imageData); + buffer.open(QIODevice::ReadOnly); + d->copyToTemporary(buffer); ++ d->suffix.clear(); // let QImage find out what the data contains + } + + QCryptographicHash md5(QCryptographicHash::Md5); +-- +2.31.1 + diff --git a/calligra-3.2.1-Fix-some-more-warnings.patch b/calligra-3.2.1-Fix-some-more-warnings.patch new file mode 100644 index 0000000..648967c --- /dev/null +++ b/calligra-3.2.1-Fix-some-more-warnings.patch @@ -0,0 +1,443 @@ +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 @@ 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( 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); + +-- +2.34.1 + diff --git a/calligra-3.2.1-Make-show-hidden-row-s-work.patch b/calligra-3.2.1-Make-show-hidden-row-s-work.patch new file mode 100644 index 0000000..6895c3d --- /dev/null +++ b/calligra-3.2.1-Make-show-hidden-row-s-work.patch @@ -0,0 +1,31 @@ +From 28920c50e6300d643477f256aba91c8c51836682 Mon Sep 17 00:00:00 2001 +From: Dag Andersen +Date: Thu, 11 Jun 2020 10:43:38 +0200 +Subject: [PATCH 02/54] 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 +--- + 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)); + } + } +-- +2.31.1 + diff --git a/calligra-3.2.1-Partial-update-of-Commit-62f51070-to-make-it-compile.patch b/calligra-3.2.1-Partial-update-of-Commit-62f51070-to-make-it-compile.patch new file mode 100644 index 0000000..46f6dd0 --- /dev/null +++ b/calligra-3.2.1-Partial-update-of-Commit-62f51070-to-make-it-compile.patch @@ -0,0 +1,86 @@ +From c7636fb343c848000300a9429410b74d17a4d54d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20Usta?= +Date: Tue, 8 Jun 2021 05:13:23 +0000 +Subject: [PATCH 53/54] Partial update of Commit 62f51070 to make it + compileable again + +Cmake to 3.16 +Fix Fontconfig's FOUND variable +Fix Fontconfig's include_dirs variable +Use Correct Target to link FontConfig and Freetype +--- + CMakeLists.txt | 14 +++++--------- + libs/text/CMakeLists.txt | 4 ++-- + 2 files changed, 7 insertions(+), 11 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ce210ebe01..71272ffef2d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8.12) ++cmake_minimum_required(VERSION 3.16) + + project(calligra) + +@@ -168,6 +168,8 @@ calligra_set_productset(${PRODUCTSET}) + ## Look for ECM, Qt, KF5 ## + ########################### + ########################## ++set(REQUIRED_KF5_VERSION "5.7.0") ++set(REQUIRED_QT_VERSION "5.3.0") + + find_package(ECM 5.19 REQUIRED NO_MODULE) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) +@@ -199,9 +201,6 @@ include(MacroOptionalFindPackage) + include(MacroEnsureVersion) + include(MacroDesktopToJson) + +- +-set(REQUIRED_KF5_VERSION "5.7.0") +- + find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED + COMPONENTS + Archive +@@ -251,9 +250,6 @@ if(${KF5_VERSION} VERSION_LESS "5.16.0") + set(CALLIGRA_OLD_PLUGIN_METADATA TRUE) + endif() + +- +-set(REQUIRED_QT_VERSION "5.3.0") +- + find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED + COMPONENTS + Core +@@ -641,8 +637,8 @@ if(NOT WIN32 AND NOT APPLE) + ) + endif() + +-if(NOT FONTCONFIG_FOUND OR NOT FREETYPE_FOUND) +- set(FONTCONFIG_INCLUDE_DIR "") ++if(NOT Fontconfig_FOUND OR NOT FREETYPE_FOUND) ++ set(Fontconfig_INCLUDE_DIRS "") + set(FREETYPE_INCLUDE_DIRS "") + else() + add_definitions( -DSHOULD_BUILD_FONT_CONVERSION ) +diff --git a/libs/text/CMakeLists.txt b/libs/text/CMakeLists.txt +index 16d7e066fa2..429afe79704 100644 +--- a/libs/text/CMakeLists.txt ++++ b/libs/text/CMakeLists.txt +@@ -152,11 +152,11 @@ if( SHOULD_BUILD_FEATURE_RDF ) + endif() + + if( FONTCONFIG_FOUND ) +- target_link_libraries(kotext PRIVATE ${FONTCONFIG_LIBRARIES}) ++ target_link_libraries(kotext PRIVATE Fontconfig::Fontconfig) + endif() + + if( FREETYPE_FOUND ) +- target_link_libraries(kotext PRIVATE ${FREETYPE_LIBRARIES}) ++ target_link_libraries(kotext PRIVATE Freetype::Freetype) + endif() + + +-- +2.31.1 + diff --git a/calligra-3.2.1-Repair-KFileWidget-integration.patch b/calligra-3.2.1-Repair-KFileWidget-integration.patch new file mode 100644 index 0000000..e40480e --- /dev/null +++ b/calligra-3.2.1-Repair-KFileWidget-integration.patch @@ -0,0 +1,66 @@ +From 4e9bc810ae78efb52dc2e7807032e32b6134a42e Mon Sep 17 00:00:00 2001 +From: David Faure +Date: Sun, 9 Aug 2020 13:04:00 +0200 +Subject: [PATCH 19/54] Repair KFileWidget integration + +We need to do like KDEPlatformFileDialog and call slotOk, to let it +process the selected files (or the location-lineedit text). +--- + plugins/pictureshape/PictureShapeConfigWidget.cpp | 14 ++++++++++++-- + plugins/pictureshape/PictureShapeConfigWidget.h | 3 +++ + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/plugins/pictureshape/PictureShapeConfigWidget.cpp b/plugins/pictureshape/PictureShapeConfigWidget.cpp +index ac26c7ba8d6..9a7f289f838 100644 +--- a/plugins/pictureshape/PictureShapeConfigWidget.cpp ++++ b/plugins/pictureshape/PictureShapeConfigWidget.cpp +@@ -98,20 +98,30 @@ void PictureShapeConfigWidget::open(KoShape *shape) + m_fileWidget->setMimeFilter(imageFilters); + layout->addWidget(m_fileWidget); + setLayout(layout); +- connect(m_fileWidget, SIGNAL(accepted()), this, SIGNAL(accept())); ++ connect(m_fileWidget, &KFileWidget::accepted, this, &PictureShapeConfigWidget::slotAccept); + } + ++// The page dialog's own accept() is called by the OK button ++// This makes exec() return, then we get here. ++// For KFileWidget, nothing happened yet. It still needs to process things in slotOk. + void PictureShapeConfigWidget::save() + { + if (!m_shape) + return; ++ m_fileWidget->slotOk(); // emits accepted, possibly async ++} ++ ++// Called by slotOk, possibly async ++void PictureShapeConfigWidget::slotAccept() ++{ + m_fileWidget->accept(); +- QUrl url = m_fileWidget->selectedUrl(); ++ const QUrl url = m_fileWidget->selectedUrl(); + if (!url.isEmpty()) { + KIO::StoredTransferJob *job = KIO::storedGet(url, KIO::NoReload, 0); + PictureShapeLoadWaiter *waiter = new PictureShapeLoadWaiter(m_shape); + connect(job, SIGNAL(result(KJob*)), waiter, SLOT(setImageData(KJob*))); + } ++ Q_EMIT accept(); + } + + bool PictureShapeConfigWidget::showOnShapeCreate() +diff --git a/plugins/pictureshape/PictureShapeConfigWidget.h b/plugins/pictureshape/PictureShapeConfigWidget.h +index 83ca0d042b0..ed051915d9b 100644 +--- a/plugins/pictureshape/PictureShapeConfigWidget.h ++++ b/plugins/pictureshape/PictureShapeConfigWidget.h +@@ -43,6 +43,9 @@ public: + /// reimplemented from KoShapeConfigWidgetBase + bool showOnShapeSelect() override; + ++private: ++ void slotAccept(); ++ + private: + PictureShape *m_shape; + KFileWidget *m_fileWidget; +-- +2.31.1 + diff --git a/calligra-3.2.1-Sheets-Fix-Bug-423474-Selections-not-retained-when-s.patch b/calligra-3.2.1-Sheets-Fix-Bug-423474-Selections-not-retained-when-s.patch new file mode 100644 index 0000000..d44db70 --- /dev/null +++ b/calligra-3.2.1-Sheets-Fix-Bug-423474-Selections-not-retained-when-s.patch @@ -0,0 +1,28 @@ +From 4788317516dd7d63235819b2f8ee5503221d0abf Mon Sep 17 00:00:00 2001 +From: Dag Andersen +Date: Thu, 25 Jun 2020 10:09:29 +0200 +Subject: [PATCH 09/54] Sheets: Fix Bug 423474 - Selections not retained when + switching between sheets + +BUG: 423474 +--- + sheets/part/View.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sheets/part/View.cpp b/sheets/part/View.cpp +index 02e43b81b48..8c3d76af78a 100644 +--- a/sheets/part/View.cpp ++++ b/sheets/part/View.cpp +@@ -1266,7 +1266,8 @@ void View::setActiveSheet(Sheet* sheet, bool updateSheet) + d->selection->clear(); + d->selection->setActiveSheet(d->activeSheet); + d->selection->setOriginSheet(d->activeSheet); +- d->selection->initialize(QRect(newMarker, newAnchor)); ++ d->selection->initialize(newAnchor); ++ d->selection->update(newMarker); + + d->actions->showPageOutline->blockSignals(true); + d->actions->showPageOutline->setChecked(d->activeSheet->isShowPageOutline()); +-- +2.31.1 + diff --git a/calligra-3.2.1-gcc11.patch b/calligra-3.2.1-gcc11.patch new file mode 100644 index 0000000..c478958 --- /dev/null +++ b/calligra-3.2.1-gcc11.patch @@ -0,0 +1,48 @@ +diff --git a/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp b/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp +index feac1c6..5739328 100644 +--- a/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp ++++ b/filters/sheets/excel/sidewinder/chartsubstreamhandler.cpp +@@ -19,6 +19,7 @@ + Boston, MA 02110-1301, USA + */ + ++#include + #include "chartsubstreamhandler.h" + #include "globalssubstreamhandler.h" + #include "worksheetsubstreamhandler.h" +diff --git a/filters/sheets/excel/sidewinder/objects.cpp b/filters/sheets/excel/sidewinder/objects.cpp +index 7531dd7..6cbca37 100644 +--- a/filters/sheets/excel/sidewinder/objects.cpp ++++ b/filters/sheets/excel/sidewinder/objects.cpp +@@ -17,6 +17,7 @@ + Boston, MA 02110-1301, USA + */ + ++#include + #include "objects.h" + + #include "generated/simpleParser.h" +diff --git a/filters/sheets/excel/sidewinder/utils.h b/filters/sheets/excel/sidewinder/utils.h +index 6e012b2..61d7624 100644 +--- a/filters/sheets/excel/sidewinder/utils.h ++++ b/filters/sheets/excel/sidewinder/utils.h +@@ -23,6 +23,7 @@ + + #include "value.h" + #include ++#include + + #include + #include +diff --git a/filters/sheets/excel/sidewinder/value.cpp b/filters/sheets/excel/sidewinder/value.cpp +index bfa3351..3007058 100644 +--- a/filters/sheets/excel/sidewinder/value.cpp ++++ b/filters/sheets/excel/sidewinder/value.cpp +@@ -17,6 +17,7 @@ + * Boston, MA 02110-1301, USA + */ + ++#include + #include "value.h" + #include "utils.h" + diff --git a/calligra-3.2.1-kundo2_aware_xgettext.sh-fix-a-gawk-warning.patch b/calligra-3.2.1-kundo2_aware_xgettext.sh-fix-a-gawk-warning.patch new file mode 100644 index 0000000..c26a9d8 --- /dev/null +++ b/calligra-3.2.1-kundo2_aware_xgettext.sh-fix-a-gawk-warning.patch @@ -0,0 +1,30 @@ +From 54ac021920c8975d3fa6fc6ad145627a85f87a9b Mon Sep 17 00:00:00 2001 +From: Luigi Toscano +Date: Sun, 21 Mar 2021 23:44:08 +0100 +Subject: [PATCH 37/54] kundo2_aware_xgettext.sh: fix a gawk warning + +The following warning is reported by gawk >= 5 but it really affects +also the previous versions: + +warning: regexp escape sequence `\"' is not a known regexp operator +(cherry picked from commit 15b70303e2b433e6fbb10e90924d7dbd801cf960) +--- + kundo2_aware_xgettext.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kundo2_aware_xgettext.sh b/kundo2_aware_xgettext.sh +index b5921d93e2c..0249b68b03d 100644 +--- a/kundo2_aware_xgettext.sh ++++ b/kundo2_aware_xgettext.sh +@@ -38,7 +38,7 @@ function add_ctxt_qtundo() { + mv "${POT_PART_QUNDOFORMAT}" "${POT_PART_QUNDOFORMAT2}" + cat "${POT_PART_QUNDOFORMAT2}" | awk ' + /^msgid "/ { +- if (lastLine !~ /^\"/ && lastLine !~ /^msgctxt/ && lastLine != "#, fuzzy") { ++ if (lastLine !~ /^"/ && lastLine !~ /^msgctxt/ && lastLine != "#, fuzzy") { + print "msgctxt \"(qtundo-format)\"" + } + } +-- +2.31.1 + diff --git a/calligra.spec b/calligra.spec index a203489..dcc5720 100644 --- a/calligra.spec +++ b/calligra.spec @@ -1,22 +1,35 @@ Name: calligra Version: 3.2.1 -Release: 3mamba +Release: 4mamba Epoch: 1 Summary: An integrated office suite built on the KDE platform (formerly known as koffice) Group: Graphical Desktop/Applications/Office Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco -URL: http://www.calligra.org +URL: https://calligra.org/ Source: http://ct.mirror.garr.it/mirrors/KDE/stable/calligra/%{version}/calligra-%{version}.tar.xz Source1: calligra-autoupdate #Source2: calligra-l10n-%{version}-langpacks.tar.xz Patch0: calligra-3.1.0-libqt5-5.12.1.patch +Patch1: calligra-3.2.1-Fix-some-more-warnings.patch +Patch2: calligra-3.2.1-Make-show-hidden-row-s-work.patch +Patch3: calligra-3.2.1-Fix-Bug-423038-Annotation-shape-crashes-on-paste.patch +Patch4: calligra-3.2.1-Fix-comparison-between-QString-and-0.patch +Patch5: calligra-3.2.1-Sheets-Fix-Bug-423474-Selections-not-retained-when-s.patch +Patch6: calligra-3.2.1-ChartTool-KoFormulaTool-Guard-against-crash-if-activ.patch +Patch7: calligra-3.2.1-Fix-assert-with-invalid-.local-share-autocorrect-cus.patch +Patch8: calligra-3.2.1-Repair-KFileWidget-integration.patch +Patch9: calligra-3.2.1-Fix-inserting-a-large-JPEG-image-into-a-presentation.patch +Patch10: calligra-3.2.1-gcc11.patch +Patch11: calligra-3.2.1-Partial-update-of-Commit-62f51070-to-make-it-compile.patch +Patch12: calligra-3.2.1-kundo2_aware_xgettext.sh-fix-a-gawk-warning.patch License: GPL, LGPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: ldconfig BuildRequires: libICE-devel +BuildRequires: libQt5Svg-devel +BuildRequires: libQt5X11Extras-devel BuildRequires: libSM-devel BuildRequires: libX11-devel BuildRequires: libXext-devel @@ -26,7 +39,7 @@ BuildRequires: libfreetype-devel BuildRequires: libgcc BuildRequires: libgit2-devel BuildRequires: libgsl-devel -BuildRequires: libkactivities5-devel +BuildRequires: libkactivities-devel BuildRequires: libkarchive-devel BuildRequires: libkauth-devel BuildRequires: libkbookmarks-devel @@ -61,12 +74,10 @@ BuildRequires: libkxmlgui-devel BuildRequires: liblcms2-devel BuildRequires: libodfgen-devel BuildRequires: libokular-devel -BuildRequires: libopenexr-devel BuildRequires: libphonon-devel BuildRequires: libpoppler-devel BuildRequires: libpoppler-qt5-devel BuildRequires: libqca-qt5-devel -BuildRequires: libqt5-devel BuildRequires: librevenge-devel BuildRequires: libsolid-devel BuildRequires: libsonnet-devel @@ -77,9 +88,11 @@ BuildRequires: libwpd-devel BuildRequires: libwpg-devel BuildRequires: libwps-devel BuildRequires: libz-devel +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtdeclarative-devel ## AUTOBUILDREQ-END BuildRequires: libgit2-devel >= 1.1.0-1mamba -BuildRequires: libokular-devel >= 16.12.0-1mamba +BuildRequires: libokular-devel >= 22.04.0 BuildRequires: libwps-devel >= 0.4.0-1mamba BuildRequires: libxbase-devel >= 2.1.1 BuildRequires: cmake @@ -91,127 +104,126 @@ BuildRequires: libmarble-devel >= 4.14.0 BuildRequires: libpoppler-devel >= 20.08.0 BuildConflicts: libwpd08-devel Provides: calligra-active -Obsoletes: calligra-active +Obsoletes: calligra-active < 1:3.2.1-4mamba Provides: calligra-author -Obsoletes: calligra-author +Obsoletes: calligra-author < 1:3.2.1-4mamba Provides: calligra-braindump -Obsoletes: calligra-braindump +Obsoletes: calligra-braindump < 1:3.2.1-4mamba Provides: calligra-core -Obsoletes: calligra-core +Obsoletes: calligra-core < 1:3.2.1-4mamba Provides: calligra-devel -Obsoletes: calligra-devel +Obsoletes: calligra-devel < 1:3.2.1-4mamba Provides: calligra-flow -Obsoletes: calligra-flow +Obsoletes: calligra-flow < 1:3.2.1-4mamba Provides: calligra-karbon -Obsoletes: calligra-karbon +Obsoletes: calligra-karbon < 1:3.2.1-4mamba Provides: calligra-kexi -Obsoletes: calligra-kexi +Obsoletes: calligra-kexi < 1:3.2.1-4mamba Provides: calligra-plan -Obsoletes: calligra-plan +Obsoletes: calligra-plan < 1:3.2.1-4mamba Provides: calligra-sheets -Obsoletes: calligra-sheets +Obsoletes: calligra-sheets < 1:3.2.1-4mamba Provides: calligra-stage -Obsoletes: calligra-stage +Obsoletes: calligra-stage < 1:3.2.1-4mamba Provides: calligra-words -Obsoletes: calligra-words +Obsoletes: calligra-words < 1:3.2.1-4mamba Provides: calligra-l110n-bs -Obsoletes: calligra-l110n-bs +Obsoletes: calligra-l110n-bs < 1:3.2.1-4mamba Provides: calligra-l110n-ca -Obsoletes: calligra-l110n-ca +Obsoletes: calligra-l110n-ca < 1:3.2.1-4mamba Provides: calligra-l110n-cs -Obsoletes: calligra-l110n-cs +Obsoletes: calligra-l110n-cs < 1:3.2.1-4mamba Provides: calligra-l110n-da -Obsoletes: calligra-l110n-da +Obsoletes: calligra-l110n-da < 1:3.2.1-4mamba Provides: calligra-l110n-el -Obsoletes: calligra-l110n-el +Obsoletes: calligra-l110n-el < 1:3.2.1-4mamba Provides: calligra-l110n-en_GB -Obsoletes: calligra-l110n-en_GB +Obsoletes: calligra-l110n-en_GB < 1:3.2.1-4mamba Provides: calligra-l110n-es -Obsoletes: calligra-l110n-es +Obsoletes: calligra-l110n-es < 1:3.2.1-4mamba Provides: calligra-l110n-et -Obsoletes: calligra-l110n-et +Obsoletes: calligra-l110n-et < 1:3.2.1-4mamba Provides: calligra-l110n-fi -Obsoletes: calligra-l110n-fi +Obsoletes: calligra-l110n-fi < 1:3.2.1-4mamba Provides: calligra-l110n-fr -Obsoletes: calligra-l110n-fr +Obsoletes: calligra-l110n-fr < 1:3.2.1-4mamba Provides: calligra-l110n-gl -Obsoletes: calligra-l110n-gl +Obsoletes: calligra-l110n-gl < 1:3.2.1-4mamba Provides: calligra-l110n-hu -Obsoletes: calligra-l110n-hu +Obsoletes: calligra-l110n-hu < 1:3.2.1-4mamba Provides: calligra-l110n-it -Obsoletes: calligra-l110n-it +Obsoletes: calligra-l110n-it < 1:3.2.1-4mamba Provides: calligra-l110n-ja -Obsoletes: calligra-l110n-ja +Obsoletes: calligra-l110n-ja < 1:3.2.1-4mamba Provides: calligra-l110n-kk -Obsoletes: calligra-l110n-kk +Obsoletes: calligra-l110n-kk < 1:3.2.1-4mamba Provides: calligra-l110n-nb -Obsoletes: calligra-l110n-nb +Obsoletes: calligra-l110n-nb < 1:3.2.1-4mamba Provides: calligra-l110n-nl -Obsoletes: calligra-l110n-nl +Obsoletes: calligra-l110n-nl < 1:3.2.1-4mamba Provides: calligra-l110n-pl -Obsoletes: calligra-l110n-pl +Obsoletes: calligra-l110n-pl < 1:3.2.1-4mamba Provides: calligra-l110n-pt -Obsoletes: calligra-l110n-pt +Obsoletes: calligra-l110n-pt < 1:3.2.1-4mamba Provides: calligra-l110n-pt_BR -Obsoletes: calligra-l110n-pt_BR +Obsoletes: calligra-l110n-pt_BR < 1:3.2.1-4mamba Provides: calligra-l110n-ru -Obsoletes: calligra-l110n-ru +Obsoletes: calligra-l110n-ru < 1:3.2.1-4mamba Provides: calligra-l110n-sk -Obsoletes: calligra-l110n-sk +Obsoletes: calligra-l110n-sk < 1:3.2.1-4mamba Provides: calligra-l110n-sv -Obsoletes: calligra-l110n-sv +Obsoletes: calligra-l110n-sv < 1:3.2.1-4mamba Provides: calligra-l110n-tr -Obsoletes: calligra-l110n-tr +Obsoletes: calligra-l110n-tr < 1:3.2.1-4mamba Provides: calligra-l110n-uk -Obsoletes: calligra-l110n-uk +Obsoletes: calligra-l110n-uk < 1:3.2.1-4mamba Provides: calligra-l110n-zh_CN -Obsoletes: calligra-l110n-zh_CN +Obsoletes: calligra-l110n-zh_CN < 1:3.2.1-4mamba Provides: calligra-l110n-zh_TW -Obsoletes: calligra-l110n-zh_TW +Obsoletes: calligra-l110n-zh_TW < 1:3.2.1-4mamba Provides: koffice -Obsoletes: koffice +Obsoletes: koffice < 1:3.2.1-4mamba Provides: koffice-core -Obsoletes: koffice-core +Obsoletes: koffice-core < 1:3.2.1-4mamba Provides: calligral10n -Obsoletes: calligral10n +Obsoletes: calligral10n < 1:3.2.1-4mamba Requires: soprano-backend-redland Provides: koffice-kword -Obsoletes: koffice-kword +Obsoletes: koffice-kword < 1:3.2.1-4mamba Provides: kword -Obsoletes: kword +Obsoletes: kword < 1:3.2.1-4mamba Provides: kformula -Obsoletes: kformula +Obsoletes: kformula < 1:3.2.1-4mamba Provides: koffice-kspread -Obsoletes: koffice-kspread +Obsoletes: koffice-kspread < 1:3.2.1-4mamba Provides: kspread -Obsoletes: kspread +Obsoletes: kspread < 1:3.2.1-4mamba Provides: koffice-kpresenter -Obsoletes: koffice-kpresenter +Obsoletes: koffice-kpresenter < 1:3.2.1-4mamba Provides: kpresenter -Obsoletes: kpresenter +Obsoletes: kpresenter < 1:3.2.1-4mamba Provides: koffice-kexi -Obsoletes: koffice-kexi +Obsoletes: koffice-kexi < 1:3.2.1-4mamba Provides: kexi -Obsoletes: kexi +Obsoletes: kexi < 1:3.2.1-4mamba Provides: koffice-karbon -Obsoletes: koffice-karbon +Obsoletes: koffice-karbon < 1:3.2.1-4mamba Provides: karbon -Obsoletes: karbon +Obsoletes: karbon < 1:3.2.1-4mamba Provides: koffice-kplato -Obsoletes: koffice-kplato +Obsoletes: koffice-kplato < 1:3.2.1-4mamba Provides: kplato -Obsoletes: kplato +Obsoletes: kplato < 1:3.2.1-4mamba Provides: kugar -Obsoletes: kugar +Obsoletes: kugar < 1:3.2.1-4mamba Provides: koffice-kchart -Obsoletes: koffice-kchart +Obsoletes: koffice-kchart < 1:3.2.1-4mamba Provides: koffice-kivio -Obsoletes: koffice-kivio +Obsoletes: koffice-kivio < 1:3.2.1-4mamba Provides: kivio -Obsoletes: kivio +Obsoletes: kivio < 1:3.2.1-4mamba Provides: kchart -Obsoletes: kchart -BuildRoot: %{_tmppath}/%{name}-%{version}-root +Obsoletes: kchart < 1:3.2.1-4mamba %description Calligra is an integrated office suite built on the KDE platform. @@ -223,40 +235,40 @@ Summary: Run-time libraries for KOffice Group: Graphical Desktop/Applications/Office Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Provides: libcalligra-braindump -Obsoletes: libcalligra-braindump +Obsoletes: libcalligra-braindump < 1:3.2.1-4mamba Provides: libcalligra-flow -Obsoletes: libcalligra-flow +Obsoletes: libcalligra-flow < 1:3.2.1-4mamba Provides: libcalligra-karbon -Obsoletes: libcalligra-karbon +Obsoletes: libcalligra-karbon < 1:3.2.1-4mamba Provides: libcalligra-kexi -Obsoletes: libcalligra-kexi +Obsoletes: libcalligra-kexi < 1:3.2.1-4mamba Provides: libcalligra-plan -Obsoletes: libcalligra-plan +Obsoletes: libcalligra-plan < 1:3.2.1-4mamba Provides: libcalligra-sheets -Obsoletes: libcalligra-sheets +Obsoletes: libcalligra-sheets < 1:3.2.1-4mamba Provides: libcalligra-stage -Obsoletes: libcalligra-stage +Obsoletes: libcalligra-stage < 1:3.2.1-4mamba Provides: libcalligra-words -Obsoletes: libcalligra-words +Obsoletes: libcalligra-words < 1:3.2.1-4mamba Provides: libkoffice -Obsoletes: libkoffice +Obsoletes: libkoffice < 1:3.2.1-4mamba Provides: libkoffice-kword -Obsoletes: libkoffice-kword +Obsoletes: libkoffice-kword < 1:3.2.1-4mamba Provides: libkoffice-kformula -Obsoletes: libkoffice-kformula +Obsoletes: libkoffice-kformula < 1:3.2.1-4mamba Provides: libkoffice-kspread -Obsoletes: libkoffice-kspread +Obsoletes: libkoffice-kspread < 1:3.2.1-4mamba Provides: libkoffice-kpresenter -Obsoletes: libkoffice-kpresenter +Obsoletes: libkoffice-kpresenter < 1:3.2.1-4mamba Provides: libkoffice-kexi -Obsoletes: libkoffice-kexi +Obsoletes: libkoffice-kexi < 1:3.2.1-4mamba Provides: libkoffice-karbon -Obsoletes: libkoffice-karbon +Obsoletes: libkoffice-karbon < 1:3.2.1-4mamba Provides: libkoffice-kplato -Obsoletes: libkoffice-kplato +Obsoletes: libkoffice-kplato < 1:3.2.1-4mamba Provides: libkoffice-kchart -Obsoletes: libkoffice-kchart -Obsoletes: libkoffice-kivio +Obsoletes: libkoffice-kchart < 1:3.2.1-4mamba +Obsoletes: libkoffice-kivio < 1:3.2.1-4mamba %description -n libcalligra This package provides the run-time library used by most of the Calligra components. @@ -268,6 +280,18 @@ This package provides the run-time library used by most of the Calligra componen #-D -T #:<< _EOF #%patch0 -p1 +%patch1 -p1 -b .Fix-some-more-warnings +%patch2 -p1 -b .Make-show-hidden-row-s-work +%patch3 -p1 -b .Fix-Bug-423038-Annotation-shape-crashes-on-paste +%patch4 -p1 -b .Fix-comparison-between-QString-and-0 +%patch5 -p1 -b .Sheets-Fix-Bug-423474-Selections-not-retained-when-s +%patch6 -p1 -b .ChartTool-KoFormulaTool-Guard-against-crash-if-activ +%patch7 -p1 -b .Fix-assert-with-invalid-.local-share-autocorrect-cus +%patch8 -p1 -b .Repair-KFileWidget-integration +%patch9 -p1 -b .Fix-inserting-a-large-JPEG-image-into-a-presentation +%patch10 -p1 -b .gcc11 +%patch11 -p1 -b .Partial-update-of-Commit-62f51070-to-make-it-compile +%patch12 -p1 -b .kundo2_aware_xgettext.sh-fix-a-gawk-warning %build #:<< _EOF @@ -427,6 +451,9 @@ This package provides the run-time library used by most of the Calligra componen %{_libdir}/lib*.so %changelog +* Thu Apr 28 2022 Silvan Calarco 3.2.1-4mamba +- rebuilt with okular 22.04.0 + * Sat Nov 14 2020 Silvan Calarco 3.2.1-3mamba - rebuilt by autoport with build requirements: libgit2-devel>=1.1.0-1mamba