gnu: scribus: Update to 1.6.1
* gnu/packages/scribus.scm (scribus): Update to 1.6.1. * gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch" Delete file. * gnu/local.mk: Apply file removal. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Change-Id: I7f40863f24f5b5ed82cf81bece6833c9d4b4ad9e
This commit is contained in:
		
							parent
							
								
									ff3c592710
								
							
						
					
					
						commit
						3da49b1472
					
				
					 7 changed files with 4 additions and 535 deletions
				
			
		|  | @ -1821,11 +1821,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/quodlibet-fix-invalid-glob.patch	\
 | ||||
|   %D%/packages/patches/quodlibet-fix-mtime-tests.patch		\
 | ||||
|   %D%/packages/patches/qxlsx-fix-include-directory.patch	\
 | ||||
|   %D%/packages/patches/scribus-1.5.8-poppler-22.03.0.patch	\
 | ||||
|   %D%/packages/patches/scribus-1.5.8-poppler-22.04.0.patch	\
 | ||||
|   %D%/packages/patches/scribus-1.5.8-poppler-22.09.0.patch	\
 | ||||
|   %D%/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch	\
 | ||||
|   %D%/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch	\
 | ||||
|   %D%/packages/patches/sdcc-disable-non-free-code.patch		\
 | ||||
|   %D%/packages/patches/sdl-pango-api_additions.patch		\
 | ||||
|   %D%/packages/patches/sdl-pango-blit_overflow.patch		\
 | ||||
|  |  | |||
|  | @ -1,52 +0,0 @@ | |||
| From f19410ac3b27e33dd62105746784e61e85b90a1d Mon Sep 17 00:00:00 2001 | ||||
| From: Jean Ghali <jghali@libertysurf.fr> | ||||
| Date: Wed, 2 Mar 2022 22:22:53 +0000 | ||||
| Subject: [PATCH] #16764: Build break with poppler 22.03.0 | ||||
| 
 | ||||
| git-svn-id: svn://scribus.net/trunk/Scribus@24982 11d20701-8431-0410-a711-e3c959e3b870 | ||||
| ---
 | ||||
|  scribus/plugins/import/pdf/importpdf.cpp | 13 +++++++++++++ | ||||
|  1 file changed, 13 insertions(+) | ||||
| 
 | ||||
| diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
 | ||||
| index 154e58a3f0..392dcd9e64 100644
 | ||||
| --- a/scribus/plugins/import/pdf/importpdf.cpp
 | ||||
| +++ b/scribus/plugins/import/pdf/importpdf.cpp
 | ||||
| @@ -89,7 +89,11 @@ QImage PdfPlug::readThumbnail(const QString& fName)
 | ||||
|  #endif | ||||
|  	globalParams->setErrQuiet(gTrue); | ||||
|   | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
 | ||||
| +	PDFDoc pdfDoc{ std::make_unique<GooString>(fname) };
 | ||||
| +#else
 | ||||
|  	PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr}; | ||||
| +#endif
 | ||||
|  	if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted) | ||||
|  		return QImage(); | ||||
|   | ||||
| @@ -342,7 +346,11 @@ bool PdfPlug::convert(const QString& fn)
 | ||||
|  	globalParams->setErrQuiet(gTrue); | ||||
|  //	globalParams->setPrintCommands(gTrue); | ||||
|  	QList<OptionalContentGroup*> ocgGroups; | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
 | ||||
| +	auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname));
 | ||||
| +#else
 | ||||
|  	auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr)); | ||||
| +#endif
 | ||||
|  	if (pdfDoc) | ||||
|  	{ | ||||
|  		if (pdfDoc->getErrorCode() == errEncrypted) | ||||
| @@ -361,8 +369,13 @@ bool PdfPlug::convert(const QString& fn)
 | ||||
|  #else | ||||
|  				auto fname = new GooString(QFile::encodeName(fn).data()); | ||||
|  #endif | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
 | ||||
| +				std::optional<GooString> userPW(std::in_place, text.toLocal8Bit().data());
 | ||||
| +				pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), userPW, userPW, nullptr));
 | ||||
| +#else
 | ||||
|  				auto userPW = new GooString(text.toLocal8Bit().data()); | ||||
|  				pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr)); | ||||
| +#endif
 | ||||
|  				qApp->changeOverrideCursor(QCursor(Qt::WaitCursor)); | ||||
|  			} | ||||
|  			if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone)) | ||||
|  | @ -1,291 +0,0 @@ | |||
| https://bugs.gentoo.org/843287 | ||||
| https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch | ||||
| 
 | ||||
| From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001 | ||||
| From: Jean Ghali <jghali@libertysurf.fr> | ||||
| Date: Fri, 1 Apr 2022 23:52:32 +0000 | ||||
| Subject: [PATCH] Fix build with poppler 22.04.0 | ||||
| 
 | ||||
| git-svn-id: svn://scribus.net/trunk/Scribus@25074 11d20701-8431-0410-a711-e3c959e3b870 | ||||
| ---
 | ||||
|  scribus/plugins/import/pdf/slaoutput.cpp | 123 ++++++++++++++--------- | ||||
|  1 file changed, 78 insertions(+), 45 deletions(-) | ||||
| 
 | ||||
| diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| index e20a81f99e..5626fe3477 100644
 | ||||
| --- a/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| +++ b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| @@ -174,8 +174,13 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s)
 | ||||
|  	int shade = 100; | ||||
|  	currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade); | ||||
|  	fontSize = state->getFontSize(); | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +	if (state->getFont() && state->getFont()->getName())
 | ||||
| +		fontName = new GooString(state->getFont()->getName().value());
 | ||||
| +#else
 | ||||
|  	if (state->getFont()) | ||||
|  		fontName = state->getFont()->getName()->copy(); | ||||
| +#endif
 | ||||
|  	itemText = s->copy(); | ||||
|  } | ||||
|   | ||||
| @@ -357,7 +362,12 @@ std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key
 | ||||
|  GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data) | ||||
|  { | ||||
|  	SlaOutputDev *dev = (SlaOutputDev*)user_data; | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +	const PDFRectangle& annotRect = annota->getRect();;
 | ||||
| +	const PDFRectangle* box = &annotRect;
 | ||||
| +#else
 | ||||
|  	PDFRectangle *box = annota->getRect(); | ||||
| +#endif
 | ||||
|  	double xCoor = dev->m_doc->currentPage()->xOffset() + box->x1 - dev->cropOffsetX; | ||||
|  	double yCoor = dev->m_doc->currentPage()->yOffset() + dev->m_doc->currentPage()->height() - box->y2 + dev->cropOffsetY; | ||||
|  	double width = box->x2 - box->x1; | ||||
| @@ -684,7 +694,12 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
 | ||||
|  			if (apa || !achar) | ||||
|  			{ | ||||
|  				AnoOutputDev *annotOutDev = new AnoOutputDev(m_doc, m_importedColors); | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +				const PDFRectangle& annotaRect = annota->getRect();
 | ||||
| +				Gfx* gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr);
 | ||||
| +#else
 | ||||
|  				Gfx *gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), annota->getRect(), nullptr); | ||||
| +#endif
 | ||||
|  				ano->draw(gfx, false); | ||||
|  				if (!bgFound) | ||||
|  					m_currColorFill = annotOutDev->currColorFill; | ||||
| @@ -2916,22 +2931,27 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
 | ||||
|   | ||||
|  void SlaOutputDev::updateFont(GfxState *state) | ||||
|  { | ||||
| -	GfxFont *gfxFont;
 | ||||
| -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +	std::optional<GfxFontLoc> fontLoc;
 | ||||
| +	std::string fileName;
 | ||||
| +	std::unique_ptr<FoFiTrueType> ff;
 | ||||
| +	std::optional<std::vector<unsigned char>> tmpBuf;
 | ||||
| +#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
|  	std::optional<GfxFontLoc> fontLoc; | ||||
|  	const GooString * fileName = nullptr; | ||||
|  	std::unique_ptr<FoFiTrueType> ff; | ||||
| +	char* tmpBuf = nullptr;
 | ||||
|  #else | ||||
|  	GfxFontLoc * fontLoc = nullptr; | ||||
|  	GooString * fileName = nullptr; | ||||
|  	FoFiTrueType * ff = nullptr; | ||||
| +	char* tmpBuf = nullptr;
 | ||||
|  #endif | ||||
|  	GfxFontType fontType; | ||||
|  	SlaOutFontFileID *id; | ||||
|  	SplashFontFile *fontFile; | ||||
|  	SplashFontSrc *fontsrc = nullptr; | ||||
|  	Object refObj, strObj; | ||||
| -	char *tmpBuf = nullptr;
 | ||||
|  	int tmpBufLen = 0; | ||||
|  	int *codeToGID = nullptr; | ||||
|  	const double *textMat = nullptr; | ||||
| @@ -2943,7 +2963,11 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|   | ||||
|  	m_font = nullptr; | ||||
|   | ||||
| -	gfxFont = state->getFont();
 | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +	GfxFont* gfxFont = state->getFont().get();
 | ||||
| +#else
 | ||||
| +	GfxFont* gfxFont = state->getFont();
 | ||||
| +#endif
 | ||||
|  	if (!gfxFont) | ||||
|  		goto err1; | ||||
|   | ||||
| @@ -2968,15 +2992,23 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  		if (fontLoc->locType == gfxFontLocEmbedded) | ||||
|  		{ | ||||
|  			// if there is an embedded font, read it to memory | ||||
| -			tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
 | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +			tmpBuf = gfxFont->readEmbFontFile((xref) ? xref : pdfDoc->getXRef());
 | ||||
|  			if (! tmpBuf) | ||||
|  				goto err2; | ||||
| +#else
 | ||||
| +			tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
 | ||||
| +			if (!tmpBuf)
 | ||||
| +				goto err2;
 | ||||
| +#endif
 | ||||
|   | ||||
|  			// external font | ||||
|  		} | ||||
|  		else | ||||
|  		{ // gfxFontLocExternal | ||||
| -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +			fileName = fontLoc->path;
 | ||||
| +#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
|  			fileName = fontLoc->pathAsGooString(); | ||||
|  #else | ||||
|  			fileName = fontLoc->path; | ||||
| @@ -2985,52 +3017,54 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  		} | ||||
|   | ||||
|  		fontsrc = new SplashFontSrc; | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +		if (!fileName.empty())
 | ||||
| +			fontsrc->setFile(fileName);
 | ||||
| +		else
 | ||||
| +			fontsrc->setBuf(std::move(tmpBuf.value()));
 | ||||
| +#else
 | ||||
|  		if (fileName) | ||||
|  			fontsrc->setFile(fileName, gFalse); | ||||
|  		else | ||||
|  			fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue); | ||||
| +#endif
 | ||||
|   | ||||
|  		// load the font file | ||||
|  		switch (fontType) { | ||||
|  		case fontType1: | ||||
| -			if (!(fontFile = m_fontEngine->loadType1Font(
 | ||||
| -				id,
 | ||||
| -				fontsrc,
 | ||||
| -				(const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
 | ||||
|  			{ | ||||
| -				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
 | ||||
| -				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  				goto err2; | ||||
|  			} | ||||
|  			break; | ||||
|  		case fontType1C: | ||||
| -			if (!(fontFile = m_fontEngine->loadType1CFont(
 | ||||
| -							id,
 | ||||
| -							fontsrc,
 | ||||
| -							(const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
 | ||||
|  			{ | ||||
| -				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
 | ||||
| -				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  				goto err2; | ||||
|  			} | ||||
|  			break; | ||||
|  		case fontType1COT: | ||||
| -			if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(
 | ||||
| -							id,
 | ||||
| -							fontsrc,
 | ||||
| -							(const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
 | ||||
|  			{ | ||||
| -				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
 | ||||
| -				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  				goto err2; | ||||
|  			} | ||||
|  			break; | ||||
|  		case fontTrueType: | ||||
|  		case fontTrueTypeOT: | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +			if (!fileName.empty())
 | ||||
| +				ff = FoFiTrueType::load(fileName.c_str());
 | ||||
| +			else
 | ||||
| +				ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
 | ||||
| +#else
 | ||||
|  			if (fileName) | ||||
|  				ff = FoFiTrueType::load(fileName->getCString()); | ||||
|  			else | ||||
|  				ff = FoFiTrueType::make(tmpBuf, tmpBufLen); | ||||
| +#endif
 | ||||
|  			if (ff) | ||||
|  			{ | ||||
|  #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) | ||||
| @@ -3047,24 +3081,17 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  				codeToGID = nullptr; | ||||
|  				n = 0; | ||||
|  			} | ||||
| -			if (!(fontFile = m_fontEngine->loadTrueTypeFont(
 | ||||
| -							id,
 | ||||
| -							fontsrc,
 | ||||
| -							codeToGID, n)))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n)))
 | ||||
|  			{ | ||||
| -				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
 | ||||
| -				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  				goto err2; | ||||
|  			} | ||||
|  			break; | ||||
|  		case fontCIDType0: | ||||
|  		case fontCIDType0C: | ||||
| -			if (!(fontFile = m_fontEngine->loadCIDFont(
 | ||||
| -							id,
 | ||||
| -							fontsrc)))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc)))
 | ||||
|  			{ | ||||
| -				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
 | ||||
| -				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  				goto err2; | ||||
|  			} | ||||
|  			break; | ||||
| @@ -3080,10 +3107,7 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  				codeToGID = nullptr; | ||||
|  				n = 0; | ||||
|  			} | ||||
| -			if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(
 | ||||
| -							id,
 | ||||
| -							fontsrc,
 | ||||
| -							codeToGID, n)))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n)))
 | ||||
|  			{ | ||||
|  				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", | ||||
|  				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); | ||||
| @@ -3105,10 +3129,17 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  			} | ||||
|  			else | ||||
|  			{ | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
| +				if (!fileName.empty())
 | ||||
| +					ff = FoFiTrueType::load(fileName.c_str());
 | ||||
| +				else
 | ||||
| +					ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
 | ||||
| +#else
 | ||||
|  				if (fileName) | ||||
|  					ff = FoFiTrueType::load(fileName->getCString()); | ||||
|  				else | ||||
|  					ff = FoFiTrueType::make(tmpBuf, tmpBufLen); | ||||
| +#endif
 | ||||
|  				if (! ff) | ||||
|  					goto err2; | ||||
|  #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) | ||||
| @@ -3119,13 +3150,9 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  				delete ff; | ||||
|  #endif | ||||
|  			} | ||||
| -			if (!(fontFile = m_fontEngine->loadTrueTypeFont(
 | ||||
| -							id,
 | ||||
| -							fontsrc,
 | ||||
| -							codeToGID, n, faceIndex)))
 | ||||
| +			if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex)))
 | ||||
|  			{ | ||||
| -				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
 | ||||
| -				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  				goto err2; | ||||
|  			} | ||||
|  			break; | ||||
| @@ -3269,9 +3296,15 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub
 | ||||
|  GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen) | ||||
|  { | ||||
|  //	qDebug() << "beginType3Char"; | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
 | ||||
|  	GfxFont *gfxFont; | ||||
| +	if (!(gfxFont = state->getFont().get()))
 | ||||
| +		return gTrue;
 | ||||
| +#else
 | ||||
| +	GfxFont* gfxFont;
 | ||||
|  	if (!(gfxFont = state->getFont())) | ||||
|  		return gTrue; | ||||
| +#endif
 | ||||
|  	if (gfxFont->getType() != fontType3) | ||||
|  		return gTrue; | ||||
|  	F3Entry f3e; | ||||
|  | @ -1,20 +0,0 @@ | |||
| --- a/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| +++ b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| @@ -3741,9 +3741,16 @@ void SlaOutputDev::getPenState(GfxState *state)
 | ||||
|  			break; | ||||
|  	} | ||||
|  	double lw = state->getLineWidth(); | ||||
| -	double *dashPattern;
 | ||||
|  	int dashLength; | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 9, 0)
 | ||||
| +	const double *dashPattern;
 | ||||
| +	const std::vector<double> &dash = state->getLineDash(&DashOffset);
 | ||||
| +	dashPattern = dash.data();
 | ||||
| +	dashLength = dash.size();
 | ||||
| +#else
 | ||||
| +	double *dashPattern;
 | ||||
|  	state->getLineDash(&dashPattern, &dashLength, &DashOffset); | ||||
| +#endif
 | ||||
|  	QVector<double> pattern(dashLength); | ||||
|  	for (int i = 0; i < dashLength; ++i) | ||||
|  	{ | ||||
|  | @ -1,129 +0,0 @@ | |||
| From 85c0dff3422fa3c26fbc2e8d8561f597ec24bd92 Mon Sep 17 00:00:00 2001 | ||||
| From: Jean Ghali <jghali@libertysurf.fr> | ||||
| Date: Wed, 2 Feb 2022 23:12:52 +0000 | ||||
| Subject: [PATCH] #16734: Build break with poppler 22.2.0 | ||||
| 
 | ||||
| git-svn-id: svn://scribus.net/trunk/Scribus@24884 11d20701-8431-0410-a711-e3c959e3b870 | ||||
| ---
 | ||||
|  scribus/plugins/import/pdf/slaoutput.cpp | 47 +++++++++++++++++++----- | ||||
|  1 file changed, 37 insertions(+), 10 deletions(-) | ||||
| 
 | ||||
| diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| index 5894bf2ad6..3650c96f52 100644
 | ||||
| --- a/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| +++ b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| @@ -7,6 +7,11 @@ for which a new license (GPL+exception) is in place.
 | ||||
|   | ||||
|  #include "slaoutput.h" | ||||
|   | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +#include <memory>
 | ||||
| +#include <optional>
 | ||||
| +#endif
 | ||||
| +
 | ||||
|  #include <poppler/GlobalParams.h> | ||||
|  #include <poppler/poppler-config.h> | ||||
|  #include <poppler/FileSpec.h> | ||||
| @@ -3027,18 +3032,24 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
 | ||||
|  void SlaOutputDev::updateFont(GfxState *state) | ||||
|  { | ||||
|  	GfxFont *gfxFont; | ||||
| -	GfxFontLoc *fontLoc;
 | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +	std::optional<GfxFontLoc> fontLoc;
 | ||||
| +	const GooString * fileName = nullptr;
 | ||||
| +	std::unique_ptr<FoFiTrueType> ff;
 | ||||
| +#else
 | ||||
| +	GfxFontLoc * fontLoc = nullptr;
 | ||||
| +	GooString * fileName = nullptr;
 | ||||
| +	FoFiTrueType * ff = nullptr;
 | ||||
| +#endif
 | ||||
|  	GfxFontType fontType; | ||||
|  	SlaOutFontFileID *id; | ||||
|  	SplashFontFile *fontFile; | ||||
|  	SplashFontSrc *fontsrc = nullptr; | ||||
| -	FoFiTrueType *ff;
 | ||||
|  	Object refObj, strObj; | ||||
| -	GooString *fileName;
 | ||||
| -	char *tmpBuf;
 | ||||
| +	char *tmpBuf = nullptr;
 | ||||
|  	int tmpBufLen = 0; | ||||
| -	int *codeToGID;
 | ||||
| -	const double *textMat;
 | ||||
| +	int *codeToGID = nullptr;
 | ||||
| +	const double *textMat = nullptr;
 | ||||
|  	double m11, m12, m21, m22, fontSize; | ||||
|  	SplashCoord mat[4]; | ||||
|  	int n = 0; | ||||
| @@ -3046,9 +3057,6 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  	SplashCoord matrix[6]; | ||||
|   | ||||
|  	m_font = nullptr; | ||||
| -	fileName = nullptr;
 | ||||
| -	tmpBuf = nullptr;
 | ||||
| -	fontLoc = nullptr;
 | ||||
|   | ||||
|  	gfxFont = state->getFont(); | ||||
|  	if (!gfxFont) | ||||
| @@ -3083,7 +3091,11 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  		} | ||||
|  		else | ||||
|  		{ // gfxFontLocExternal | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +			fileName = fontLoc->pathAsGooString();
 | ||||
| +#else
 | ||||
|  			fileName = fontLoc->path; | ||||
| +#endif
 | ||||
|  			fontType = fontLoc->fontType; | ||||
|  		} | ||||
|   | ||||
| @@ -3136,9 +3148,14 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  				ff = FoFiTrueType::make(tmpBuf, tmpBufLen); | ||||
|  			if (ff) | ||||
|  			{ | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +				codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get());
 | ||||
| +				ff.reset();
 | ||||
| +#else
 | ||||
|  				codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff); | ||||
| -				n = 256;
 | ||||
|  				delete ff; | ||||
| +#endif
 | ||||
| +				n = 256;
 | ||||
|  			} | ||||
|  			else | ||||
|  			{ | ||||
| @@ -3209,8 +3226,13 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  					ff = FoFiTrueType::make(tmpBuf, tmpBufLen); | ||||
|  				if (! ff) | ||||
|  					goto err2; | ||||
| +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
| +				codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n);
 | ||||
| +				ff.reset();
 | ||||
| +#else
 | ||||
|  				codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n); | ||||
|  				delete ff; | ||||
| +#endif
 | ||||
|  			} | ||||
|  			if (!(fontFile = m_fontEngine->loadTrueTypeFont( | ||||
|  							id, | ||||
| @@ -3247,14 +3269,19 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  	mat[3] = -m22; | ||||
|  	m_font = m_fontEngine->getFont(fontFile, mat, matrix); | ||||
|   | ||||
| +#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
|  	delete fontLoc; | ||||
| +#endif
 | ||||
|  	if (fontsrc && !fontsrc->isFile) | ||||
|  		fontsrc->unref(); | ||||
|  	return; | ||||
|   | ||||
|  err2: | ||||
|  	delete id; | ||||
| +#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
 | ||||
|  	delete fontLoc; | ||||
| +#endif
 | ||||
| +
 | ||||
|  err1: | ||||
|  	if (fontsrc && !fontsrc->isFile) | ||||
|  		fontsrc->unref(); | ||||
|  | @ -1,28 +0,0 @@ | |||
| From f75c1613db67f4067643d0218a2db3235e42ec9f Mon Sep 17 00:00:00 2001 | ||||
| From: Jean Ghali <jghali@libertysurf.fr> | ||||
| Date: Thu, 3 Feb 2022 19:46:13 +0000 | ||||
| Subject: [PATCH] Small update vs latest code in poppler | ||||
| 
 | ||||
| git-svn-id: svn://scribus.net/trunk/Scribus@24885 11d20701-8431-0410-a711-e3c959e3b870 | ||||
| ---
 | ||||
|  scribus/plugins/import/pdf/slaoutput.cpp | 6 +++--- | ||||
|  1 file changed, 3 insertions(+), 3 deletions(-) | ||||
| 
 | ||||
| diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| index 3650c96f52..a6f4e00fa9 100644
 | ||||
| --- a/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| +++ b/scribus/plugins/import/pdf/slaoutput.cpp
 | ||||
| @@ -3072,10 +3072,10 @@ void SlaOutputDev::updateFont(GfxState *state)
 | ||||
|  		delete id; | ||||
|  	else | ||||
|  	{ | ||||
| -		if (!(fontLoc = gfxFont->locateFont(xref, nullptr)))
 | ||||
| +		fontLoc = gfxFont->locateFont((xref) ? xref : pdfDoc->getXRef(), nullptr);
 | ||||
| +		if (!fontLoc)
 | ||||
|  		{ | ||||
| -			error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'",
 | ||||
| -			gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
| +			error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
 | ||||
|  			goto err2; | ||||
|  		} | ||||
|   | ||||
|  | @ -50,20 +50,14 @@ | |||
| (define-public scribus | ||||
|   (package | ||||
|     (name "scribus") | ||||
|     (version "1.5.8") | ||||
|     (version "1.6.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/scribus/scribus-devel/" | ||||
|                            version "/scribus-" version ".tar.xz")) | ||||
|        (uri (string-append "mirror://sourceforge/scribus/scribus/" | ||||
|                            version "/scribus-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0x3bw58v920akca8jxvsfwf468pzjyglk93ay67ph1bdry7nx0a7")) | ||||
|        (patches | ||||
|         (search-patches "scribus-1.5.8-poppler-22.2.0-1.patch" | ||||
|                         "scribus-1.5.8-poppler-22.2.0-2.patch" | ||||
|                         "scribus-1.5.8-poppler-22.03.0.patch" | ||||
|                         "scribus-1.5.8-poppler-22.04.0.patch" | ||||
|                         "scribus-1.5.8-poppler-22.09.0.patch")))) | ||||
|         (base32 "1kqqffx5xz35mwd422s4i110794zzx9sc2bn2mg77rz02hrxdhxg")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ;no test target | ||||
|  |  | |||
		Reference in a new issue