Bug#1144161: scribus: diff for NMU version 1.6.6+dfsg-0.2

Adrian Bunk <[email protected]>
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <an9wNntp9pmmDF4G@localhost>
Control: tags 1144161 + patch
Control: tags 1144161 + pending

Dear maintainer,

I've prepared an NMU for scribus (versioned as 1.6.6+dfsg-0.2) and 
uploaded it to DELAYED/2. Please feel free to tell me if I should
cancel it.

cu
Adrian
scribus-1.6.6+dfsg-0.2-nmu.diff (text/x-diff, 27 KB)
diffstat for scribus-1.6.6+dfsg scribus-1.6.6+dfsg

 changelog                                                               |    8 
 patches/0001-17808-Fix-failure-to-build-with-poppler-26.05.0.patch      |   76 +
 patches/0001-17832-Additional-fix-for-failure-to-build-with-poppl.patch |   26 
 patches/0001-17832-Fix-failure-to-build-with-poppler-26.06.0.patch      |  431 ++++++++++
 patches/0001-17880-Attempt-to-fix-failure-to-build-with-poppler-2.patch |   34 
 patches/series                                                          |    4 
 6 files changed, 579 insertions(+)

diff -Nru scribus-1.6.6+dfsg/debian/changelog scribus-1.6.6+dfsg/debian/changelog
--- scribus-1.6.6+dfsg/debian/changelog	2026-05-03 03:03:13.000000000 +0300
+++ scribus-1.6.6+dfsg/debian/changelog	2026-08-14 22:30:17.000000000 +0300
@@ -1,3 +1,11 @@
+scribus (1.6.6+dfsg-0.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Backport upstream fixes for FTBFS with poppler 26.07.0.
+    (Closes: #1144161)
+
+ -- Adrian Bunk <[email protected]>  Fri, 14 Aug 2026 22:30:17 +0300
+
 scribus (1.6.6+dfsg-0.1) unstable; urgency=medium
 
   * Non-maintainer upload
diff -Nru scribus-1.6.6+dfsg/debian/patches/0001-17808-Fix-failure-to-build-with-poppler-26.05.0.patch scribus-1.6.6+dfsg/debian/patches/0001-17808-Fix-failure-to-build-with-poppler-26.05.0.patch
--- scribus-1.6.6+dfsg/debian/patches/0001-17808-Fix-failure-to-build-with-poppler-26.05.0.patch	1970-01-01 02:00:00.000000000 +0200
+++ scribus-1.6.6+dfsg/debian/patches/0001-17808-Fix-failure-to-build-with-poppler-26.05.0.patch	2026-08-14 22:23:53.000000000 +0300
@@ -0,0 +1,76 @@
+From 72d5c2b47dce2ee6bcd4f12b410c9684755536c6 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <[email protected]>
+Date: Tue, 5 May 2026 22:28:48 +0000
+Subject: #17808: Fix failure to build with poppler 26.05.0
+
+git-svn-id: svn://scribus.net/branches/Version16x/Scribus@27544 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/importpdfconfig.h |  4 ++++
+ scribus/plugins/import/pdf/slaoutput.cpp     | 24 +++++++++++++++++---
+ 2 files changed, 25 insertions(+), 3 deletions(-)
+
+diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
+index bd4d30f28..cbd5a7e00 100644
+--- a/scribus/plugins/import/pdf/importpdfconfig.h
++++ b/scribus/plugins/import/pdf/importpdfconfig.h
+@@ -21,4 +21,8 @@ for which a new license (GPL+exception) is in place.
+ #define POPPLER_CONST_25_02
+ #endif
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 5, 0)
++using SplashCoord = double;
++#endif
++
+ #endif
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index 54db6c2e5..8bc0b721a 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -3177,7 +3177,13 @@ void SlaOutputDev::updateFont(GfxState *state)
+ 		// load the font file
+ 		switch (fontType) {
+ 		case fontType1:
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 5, 0)
++			if (!(fontFile = m_fontEngine->loadType1Font(std::move(id), std::move(fontsrc), static_cast<Gfx8BitFont*>(gfxFont)->getEncoding(), fontLoc->fontNum)))
++			{
++				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++				goto err2;
++			}
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
+ 			if (!(fontFile = m_fontEngine->loadType1Font(std::move(id), std::move(fontsrc), (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
+ 			{
+ 				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+@@ -3198,7 +3204,13 @@ void SlaOutputDev::updateFont(GfxState *state)
+ #endif
+ 			break;
+ 		case fontType1C:
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 5, 0)
++			if (!(fontFile = m_fontEngine->loadType1CFont(std::move(id), std::move(fontsrc), static_cast<Gfx8BitFont*>(gfxFont)->getEncoding(), fontLoc->fontNum)))
++			{
++				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++				goto err2;
++			}
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
+ 			if (!(fontFile = m_fontEngine->loadType1CFont(std::move(id), std::move(fontsrc), (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
+ 			{
+ 				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+@@ -3219,7 +3231,13 @@ void SlaOutputDev::updateFont(GfxState *state)
+ #endif
+ 			break;
+ 		case fontType1COT:
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 5, 0)
++			if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(std::move(id), std::move(fontsrc), static_cast<Gfx8BitFont*>(gfxFont)->getEncoding(), fontLoc->fontNum)))
++			{
++				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++				goto err2;
++			}
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
+ 			if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(std::move(id), std::move(fontsrc), (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
+ 			{
+ 				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+-- 
+2.47.3
+
diff -Nru scribus-1.6.6+dfsg/debian/patches/0001-17832-Additional-fix-for-failure-to-build-with-poppl.patch scribus-1.6.6+dfsg/debian/patches/0001-17832-Additional-fix-for-failure-to-build-with-poppl.patch
--- scribus-1.6.6+dfsg/debian/patches/0001-17832-Additional-fix-for-failure-to-build-with-poppl.patch	1970-01-01 02:00:00.000000000 +0200
+++ scribus-1.6.6+dfsg/debian/patches/0001-17832-Additional-fix-for-failure-to-build-with-poppl.patch	2026-08-14 22:22:19.000000000 +0300
@@ -0,0 +1,26 @@
+From b99c4573817af756ca50f4d859cdc8448aca0a98 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <[email protected]>
+Date: Thu, 11 Jun 2026 19:02:55 +0000
+Subject: #17832: Additional fix for failure to build with poppler 26.06.0
+
+git-svn-id: svn://scribus.net/branches/Version16x/Scribus@27641 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/slaoutput.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index 27c521c5f..313572aae 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -744,7 +744,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+ 			}
+ 			ite->setIsAnnotation(true);
+ 			ite->AutoName = false;
+-			AnnotBorder *brd = annota->getBorder();
++			const AnnotBorder *brd = annota->getBorder();
+ 			if (brd)
+ 			{
+ 				int bsty = brd->getStyle();
+-- 
+2.47.3
+
diff -Nru scribus-1.6.6+dfsg/debian/patches/0001-17832-Fix-failure-to-build-with-poppler-26.06.0.patch scribus-1.6.6+dfsg/debian/patches/0001-17832-Fix-failure-to-build-with-poppler-26.06.0.patch
--- scribus-1.6.6+dfsg/debian/patches/0001-17832-Fix-failure-to-build-with-poppler-26.06.0.patch	1970-01-01 02:00:00.000000000 +0200
+++ scribus-1.6.6+dfsg/debian/patches/0001-17832-Fix-failure-to-build-with-poppler-26.06.0.patch	2026-08-14 22:20:36.000000000 +0300
@@ -0,0 +1,431 @@
+From 527c0e9b8bd167b4917d67e52a45b4311e4f6f58 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <[email protected]>
+Date: Wed, 3 Jun 2026 23:06:07 +0000
+Subject: #17832: Fix failure to build with poppler 26.06.0
+
+git-svn-id: svn://scribus.net/branches/Version16x/Scribus@27628 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/importpdf.cpp     |  21 ++++
+ scribus/plugins/import/pdf/importpdfconfig.h |   6 ++
+ scribus/plugins/import/pdf/slaoutput.cpp     | 101 +++++++++++++++++--
+ scribus/plugins/import/pdf/slaoutput.h       |  26 ++++-
+ 4 files changed, 141 insertions(+), 13 deletions(-)
+
+diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
+index 0c0979aa9..8fe5983a2 100644
+--- a/scribus/plugins/import/pdf/importpdf.cpp
++++ b/scribus/plugins/import/pdf/importpdf.cpp
+@@ -378,8 +378,13 @@ bool PdfPlug::convert(const QString& fn)
+ 			bool useMediaBox = true;
+ 			bool crop = true;
+ 			bool printing = false;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++			const PDFRectangle& mediaBox = pdfDoc->getPage(1)->getMediaBox();
++			QRectF mediaRect = QRectF(QPointF(mediaBox.x1, mediaBox.y1), QPointF(mediaBox.x2, mediaBox.y2)).normalized();
++#else
+ 			const PDFRectangle *mediaBox = pdfDoc->getPage(1)->getMediaBox();
+ 			QRectF mediaRect = QRectF(QPointF(mediaBox->x1, mediaBox->y1), QPointF(mediaBox->x2, mediaBox->y2)).normalized();
++#endif
+ 			bool boxesAreDifferent = false;
+ 			if (getCBox(Crop_Box, 1) != mediaRect)
+ 				boxesAreDifferent = true;
+@@ -885,6 +890,21 @@ QImage PdfPlug::readPreview(int pgNum, int width, int height, int box)
+ 
+ QRectF PdfPlug::getCBox(int box, int pgNum)
+ {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++	PDFRectangle cBox;
++	if (box == Media_Box)
++		cBox = m_pdfDoc->getPage(pgNum)->getMediaBox();
++	else if (box == Bleed_Box)
++		cBox = m_pdfDoc->getPage(pgNum)->getBleedBox();
++	else if (box == Trim_Box)
++		cBox = m_pdfDoc->getPage(pgNum)->getTrimBox();
++	else if (box == Crop_Box)
++		cBox = m_pdfDoc->getPage(pgNum)->getCropBox();
++	else if (box == Art_Box)
++		cBox = m_pdfDoc->getPage(pgNum)->getArtBox();
++	QRectF cRect = QRectF(QPointF(cBox.x1, cBox.y1), QPointF(cBox.x2, cBox.y2)).normalized();
++	return cRect;
++#else
+ 	const PDFRectangle *cBox = nullptr;
+ 	if (box == Media_Box)
+ 		cBox = m_pdfDoc->getPage(pgNum)->getMediaBox();
+@@ -898,6 +918,7 @@ QRectF PdfPlug::getCBox(int box, int pgNum)
+ 		cBox = m_pdfDoc->getPage(pgNum)->getArtBox();
+ 	QRectF cRect = QRectF(QPointF(cBox->x1, cBox->y1), QPointF(cBox->x2, cBox->y2)).normalized();
+ 	return cRect;
++#endif
+ }
+ 
+ QString PdfPlug::UnicodeParsedString(const GooString *s1) const
+diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
+index cbd5a7e00..04bd710f4 100644
+--- a/scribus/plugins/import/pdf/importpdfconfig.h
++++ b/scribus/plugins/import/pdf/importpdfconfig.h
+@@ -25,4 +25,10 @@ for which a new license (GPL+exception) is in place.
+ using SplashCoord = double;
+ #endif
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++#define POPPLER_CONST_26_06 const
++#else
++#define POPPLER_CONST_26_06
++#endif
++
+ #endif
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index 8bc0b721a..27c521c5f 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -17,6 +17,7 @@ for which a new license (GPL+exception) is in place.
+ #include <poppler/poppler-config.h>
+ #include <poppler/FileSpec.h>
+ #include <poppler/fofi/FoFiTrueType.h>
++#include <poppler/OptionalContent.h>
+ 
+ #include <QApplication>
+ #include <QFile>
+@@ -189,7 +190,11 @@ void AnoOutputDev::drawString(GfxState *state, const GooString *s)
+ #endif
+ }
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 06, 0)
++QString AnoOutputDev::getColor(GfxColorSpace *color_space, const GfxColor &color, int* shade)
++#else
+ QString AnoOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade)
++#endif
+ {
+ 	QString fNam;
+ 	QString namPrefix = "FromPDF";
+@@ -272,7 +277,11 @@ QString AnoOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color
+ 		tmp.setSpotColor(true);
+ 
+ 		fNam = m_doc->PageColors.tryAddColor(name, tmp);
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 06, 0)
++		*shade = qRound(colToDbl(color.c[0]) * 100);
++#else
+ 		*shade = qRound(colToDbl(color->c[0]) * 100);
++#endif
+ 	}
+ 	else
+ 	{
+@@ -660,7 +669,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+ 		}
+ 		if (retVal)
+ 		{
+-			AnnotAppearanceCharacs *achar = ano->getAppearCharacs();
++			POPPLER_CONST_26_06 AnnotAppearanceCharacs *achar = ano->getAppearCharacs();
+ 			bool fgFound = false;
+ 			bool bgFound = false;
+ 			if (achar)
+@@ -696,7 +705,10 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+ 			if (apa || !achar)
+ 			{
+ 				auto annotOutDev = std::make_shared<AnoOutputDev>(m_doc, m_importedColors);
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++				const PDFRectangle& annotaRect = annota->getRect();
++				auto gfx = std::make_shared<Gfx>(m_pdfDoc, annotOutDev.get(), m_pdfDoc->getPage(m_actPage)->getResourceDict(), annotaRect, nullptr);
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ 				const PDFRectangle& annotaRect = annota->getRect();
+ 				auto gfx = std::make_shared<Gfx>(m_pdfDoc, annotOutDev.get(), m_pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr);
+ #else
+@@ -853,7 +865,11 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+ 				{
+ 					if (wtyp == 5)
+ 						ite->annotation().addToFlag(Annotation::Flag_Combo);
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++					size_t co = btn->getChoices().size();
++#else
+ 					int co = btn->getNumChoices();
++#endif
+ 					if (co > 0)
+ 					{
+ 						QString inh = UnicodeParsedString(btn->getChoice(0));
+@@ -958,7 +974,7 @@ void SlaOutputDev::applyTextStyle(PageItem* ite, const QString& fontName, const
+ 
+ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+ {
+-	LinkAction *Lact = ano->getAction();
++	POPPLER_CONST_26_06 LinkAction *Lact = ano->getAction();
+ 	if (Lact)
+ 	{
+ 		if (Lact->getKind() == actionJavaScript)
+@@ -1508,7 +1524,9 @@ void SlaOutputDev::endTransparencyGroup(GfxState *state)
+ 	m_tmpSel->clear();
+ }
+ 
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 9, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++void SlaOutputDev::setSoftMask(GfxState* /*state*/, const std::array<double, 4>& bbox, bool alpha, Function* transferFunc, const GfxColor& /*backdropColor*/)
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 9, 0)
+ void SlaOutputDev::setSoftMask(GfxState* /*state*/, const std::array<double, 4>& bbox, bool alpha, Function* transferFunc, GfxColor* /*backdropColor*/)
+ #else
+ void SlaOutputDev::setSoftMask(GfxState* /*state*/, const double* bbox, bool alpha, Function* transferFunc, GfxColor* /*backdropColor*/)
+@@ -2303,7 +2321,11 @@ bool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx* /*gfx*/, Catalog *cat
+ 	QTransform mm(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]);
+ 	QTransform mmx = mm * m_ctm;
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++	auto gfx = std::make_shared<Gfx>(m_pdfDoc, this, resDict, box, nullptr);
++#else
+ 	auto gfx = std::make_shared<Gfx>(m_pdfDoc, this, resDict, &box, nullptr);
++#endif
+ 	m_inPattern++;
+ 	// Unset the clip path as it is unrelated to the pattern's coordinate space.
+ 	QPainterPath savedClip = m_graphicStack.top().clipPath;
+@@ -2551,7 +2573,11 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str
+ 	if (matteColor != nullptr)
+ 	{
+ 		GfxRGB matteRgb;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++		colorMap->getColorSpace()->getRGB(*matteColor, &matteRgb);
++#else
+ 		colorMap->getColorSpace()->getRGB(matteColor, &matteRgb);
++#endif
+ 		matteRc = qRound(colToDbl(matteRgb.r) * 255);
+ 		matteGc = qRound(colToDbl(matteRgb.g) * 255);
+ 		matteBc = qRound(colToDbl(matteRgb.b) * 255);
+@@ -2939,10 +2965,18 @@ void SlaOutputDev::beginMarkedContent(const char *name, Object *dictRef)
+ 	m_mcStack.push(mSte);
+ }
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++void SlaOutputDev::beginMarkedContent(const std::string& name, Dict* properties)
++#else
+ void SlaOutputDev::beginMarkedContent(const char *name, Dict *properties)
++#endif
+ {
+ //	qDebug() << "Begin Marked Content with Name " << QString(name);
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++	QString nam = QString::fromStdString(name);
++#else
+ 	QString nam(name);
++#endif
+ 	mContent mSte;
+ 	mSte.name = nam;
+ 	mSte.ocgName = "";
+@@ -3021,16 +3055,31 @@ void SlaOutputDev::endMarkedContent(GfxState *state)
+ 	}
+ }
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++void SlaOutputDev::markPoint(const std::string& name)
++{
++	//	qDebug() << "Begin Marked Point with Name " << QString(name);
++}
++#else
+ void SlaOutputDev::markPoint(const char *name)
+ {
+ //	qDebug() << "Begin Marked Point with Name " << QString(name);
+ }
++#endif
+ 
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++void SlaOutputDev::markPoint(const std::string& name, Dict* properties)
++{
++	//	qDebug() << "Begin Marked Point with Name " << QString(name) << "and Properties";
++	beginMarkedContent(name.c_str(), properties);
++}
++#else
+ void SlaOutputDev::markPoint(const char *name, Dict *properties)
+ {
+ //	qDebug() << "Begin Marked Point with Name " << QString(name) << "and Properties";
+ 	beginMarkedContent(name, properties);
+ }
++#endif
+ 
+ void SlaOutputDev::updateFont(GfxState *state)
+ {
+@@ -3761,6 +3810,13 @@ void SlaOutputDev::endTextObject(GfxState *state)
+ }
+ 
+ QString SlaOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade)
++{
++	if (!color)
++		return CommonStrings::None;
++	return getColor(color_space, *color, shade);
++}
++
++QString SlaOutputDev::getColor(GfxColorSpace *color_space, const GfxColor &color, int *shade)
+ {
+ 	QString fNam;
+ 	QString namPrefix = "FromPDF";
+@@ -3777,31 +3833,43 @@ QString SlaOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color
+ 	if ((color_space->getMode() == csDeviceRGB) || (color_space->getMode() == csCalRGB))
+ 	{
+ 		GfxRGB rgb;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
+ 		color_space->getRGB(color, &rgb);
++#else
++		color_space->getRGB(&color, &rgb);
++#endif
+ 		double Rc = colToDbl(rgb.r);
+ 		double Gc = colToDbl(rgb.g);
+ 		double Bc = colToDbl(rgb.b);
+ 		tmp.setRgbColorF(Rc, Gc, Bc);
+-		fNam = m_doc->PageColors.tryAddColor(namPrefix+tmp.name(), tmp);
++		fNam = m_doc->PageColors.tryAddColor(namPrefix + tmp.name(), tmp);
+ 	}
+ 	else if (color_space->getMode() == csDeviceCMYK)
+ 	{
+ 		GfxCMYK cmyk;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
+ 		color_space->getCMYK(color, &cmyk);
++#else
++		color_space->getCMYK(&color, &cmyk);
++#endif
+ 		double Cc = colToDbl(cmyk.c);
+ 		double Mc = colToDbl(cmyk.m);
+ 		double Yc = colToDbl(cmyk.y);
+ 		double Kc = colToDbl(cmyk.k);
+ 		tmp.setCmykColorF(Cc, Mc, Yc, Kc);
+-		fNam = m_doc->PageColors.tryAddColor(namPrefix+tmp.name(), tmp);
++		fNam = m_doc->PageColors.tryAddColor(namPrefix + tmp.name(), tmp);
+ 	}
+ 	else if ((color_space->getMode() == csCalGray) || (color_space->getMode() == csDeviceGray))
+ 	{
+ 		GfxGray gray;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
+ 		color_space->getGray(color, &gray);
++#else
++		color_space->getGray(&color, &gray);
++#endif
+ 		double Kc = 1.0 - colToDbl(gray);
+ 		tmp.setCmykColorF(0, 0, 0, Kc);
+-		fNam = m_doc->PageColors.tryAddColor(namPrefix+tmp.name(), tmp);
++		fNam = m_doc->PageColors.tryAddColor(namPrefix + tmp.name(), tmp);
+ 	}
+ 	else if (color_space->getMode() == csSeparation)
+ 	{
+@@ -3839,7 +3907,11 @@ QString SlaOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color
+ 		else
+ 		{
+ 			GfxCMYK cmyk;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
+ 			color_space->getCMYK(color, &cmyk);
++#else
++			color_space->getCMYK(&color, &cmyk);
++#endif
+ 			double Cc = colToDbl(cmyk.c);
+ 			double Mc = colToDbl(cmyk.m);
+ 			double Yc = colToDbl(cmyk.y);
+@@ -3849,20 +3921,24 @@ QString SlaOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color
+ 		tmp.setSpotColor(true);
+ 
+ 		fNam = m_doc->PageColors.tryAddColor(name, tmp);
+-		*shade = qRound(colToDbl(color->c[0]) * 100);
++		*shade = qRound(colToDbl(color.c[0]) * 100);
+ 	}
+ 	else
+ 	{
+ 		GfxRGB rgb;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
+ 		color_space->getRGB(color, &rgb);
++#else
++		color_space->getRGB(&color, &rgb);
++#endif
+ 		double Rc = colToDbl(rgb.r);
+ 		double Gc = colToDbl(rgb.g);
+ 		double Bc = colToDbl(rgb.b);
+ 		tmp.setRgbColorF(Rc, Gc, Bc);
+-		fNam = m_doc->PageColors.tryAddColor(namPrefix+tmp.name(), tmp);
++		fNam = m_doc->PageColors.tryAddColor(namPrefix + tmp.name(), tmp);
+ //		qDebug() << "update fill color other colorspace" << color_space->getMode() << "treating as rgb" << Rc << Gc << Bc;
+ 	}
+-	if (fNam == namPrefix+tmp.name())
++	if (fNam == namPrefix + tmp.name())
+ 		m_importedColors->append(fNam);
+ 	return fNam;
+ }
+@@ -4109,6 +4185,11 @@ void SlaOutputDev::pushGroup(const QString& maskName, bool forSoftMask, bool alp
+ 	m_groupStack.push(gElements);
+ }
+ 
++QString SlaOutputDev::UnicodeParsedString(const GooString& s1) const
++{
++	return UnicodeParsedString(&s1);
++}
++
+ QString SlaOutputDev::UnicodeParsedString(const GooString *s1) const
+ {
+ #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 10, 0)
+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
+index 7b3a71dc6..0211d77e7 100644
+--- a/scribus/plugins/import/pdf/slaoutput.h
++++ b/scribus/plugins/import/pdf/slaoutput.h
+@@ -22,6 +22,7 @@ for which a new license (GPL+exception) is in place.
+ 
+ #include <array>
+ #include <memory>
++#include <string>
+ 
+ #include "fpointarray.h"
+ #include "importpdfconfig.h"
+@@ -156,9 +157,14 @@ public:
+ 	std::unique_ptr<GooString> itemText;
+ 
+ private:
+-	QString getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade);
+ 	ScribusDoc* m_doc { nullptr };
+ 	QStringList *m_importedColors { nullptr };
++
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 06, 0)
++	QString getColor(GfxColorSpace *color_space, const GfxColor &color, int *shade);
++#else
++	QString getColor(GfxColorSpace *color_space, const GfxColor *color, int* shade);
++#endif
+ };
+ 
+ 
+@@ -239,11 +245,21 @@ public:
+ 	virtual void endMaskClip(GfxState *state) { qDebug() << "End Mask Clip"; }
+ 
+   //----- grouping operators
+-	void beginMarkedContent(const char *name, Dict *properties) override;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++	void beginMarkedContent(const std::string& name, Dict* properties) override;
++#else
++	void beginMarkedContent(const char* name, Dict* properties) override;
++#endif
+ 	virtual void beginMarkedContent(const char *name, Object *dictRef);
+ 	void endMarkedContent(GfxState *state) override;
++
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++	void markPoint(const std::string& name) override;
++	void markPoint(const std::string& name, Dict* properties) override;
++#else
+ 	void markPoint(const char *name) override;
+ 	void markPoint(const char *name, Dict *properties) override;
++#endif
+ 
+ 	//----- image drawing
+ 	void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, bool invert, bool interpolate, bool inlineImg) override;
+@@ -275,7 +291,9 @@ public:
+ #endif
+ 	void endTransparencyGroup(GfxState *state) override;
+ 
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 9, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 6, 0)
++	void setSoftMask(GfxState * /*state*/, const std::array<double, 4> & /*bbox*/, bool /*alpha*/, Function * /*transferFunc*/, const GfxColor & /*backdropColor*/) override;
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 9, 0)
+ 	void setSoftMask(GfxState * /*state*/, const std::array<double, 4> & /*bbox*/, bool /*alpha*/, Function * /*transferFunc*/, GfxColor * /*backdropColor*/) override;
+ #else
+ 	void setSoftMask(GfxState * /*state*/, const double * /*bbox*/, bool /*alpha*/, Function * /*transferFunc*/, GfxColor * /*backdropColor*/) override;
+@@ -384,10 +402,12 @@ protected:
+ private:
+ 	void getPenState(GfxState *state);
+ 	QString getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade);
++	QString getColor(GfxColorSpace* color_space, const GfxColor &color, int* shade);
+ 	QString getAnnotationColor(const AnnotColor *color);
+ 	QString convertPath(const GfxPath *path);
+ 	int getBlendMode(GfxState *state) const;
+ 	QString UnicodeParsedString(const GooString *s1) const;
++	QString UnicodeParsedString(const GooString &s1) const;
+ 	QString UnicodeParsedString(const std::string& s1) const;
+ 	bool checkClip();
+ 
+-- 
+2.47.3
+
diff -Nru scribus-1.6.6+dfsg/debian/patches/0001-17880-Attempt-to-fix-failure-to-build-with-poppler-2.patch scribus-1.6.6+dfsg/debian/patches/0001-17880-Attempt-to-fix-failure-to-build-with-poppler-2.patch
--- scribus-1.6.6+dfsg/debian/patches/0001-17880-Attempt-to-fix-failure-to-build-with-poppler-2.patch	1970-01-01 02:00:00.000000000 +0200
+++ scribus-1.6.6+dfsg/debian/patches/0001-17880-Attempt-to-fix-failure-to-build-with-poppler-2.patch	2026-08-14 22:22:45.000000000 +0300
@@ -0,0 +1,34 @@
+From 986ee987af49d6dc42bc8cf1ba7904479a400b63 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <[email protected]>
+Date: Wed, 8 Jul 2026 07:04:33 +0000
+Subject: #17880: Attempt to fix failure to build with poppler 26.07.0
+
+git-svn-id: svn://scribus.net/branches/Version16x/Scribus@27702 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/slaoutput.cpp | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index 313572aae..10ade069e 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -914,12 +914,13 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+ 			{
+ 				// Load children
+ 				QList<int> radList;
+-				for (int i = 0; i < obj2.arrayGetLength(); i++)
++				Array* kidsArray = obj2.getArray();
++				for (int i = 0; i < kidsArray->getLength(); i++)
+ 				{
+-					const Object& childRef = obj2.arrayGetNF(i);
++					const Object& childRef = kidsArray->getNF(i);
+ 					if (!childRef.isRef())
+ 						continue;
+-					Object childObj = obj2.arrayGet(i);
++					Object childObj = kidsArray->get(i);
+ 					if (!childObj.isDict())
+ 						continue;
+ 					const Ref ref = childRef.getRef();
+-- 
+2.47.3
+
diff -Nru scribus-1.6.6+dfsg/debian/patches/series scribus-1.6.6+dfsg/debian/patches/series
--- scribus-1.6.6+dfsg/debian/patches/series	2026-05-03 03:03:13.000000000 +0300
+++ scribus-1.6.6+dfsg/debian/patches/series	2026-08-14 22:30:05.000000000 +0300
@@ -1,4 +1,8 @@
 # already applied upstream
+0001-17808-Fix-failure-to-build-with-poppler-26.05.0.patch
+0001-17832-Fix-failure-to-build-with-poppler-26.06.0.patch
+0001-17832-Additional-fix-for-failure-to-build-with-poppl.patch
+0001-17880-Attempt-to-fix-failure-to-build-with-poppler-2.patch
 
 # to be upstreamed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.