app-office/scribus: Fix build with app-text/poppler-0.83.0
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 29 Dec 2019 11:51:36 +0000 (12:51 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 29 Dec 2019 11:54:30 +0000 (12:54 +0100)
Closes: https://bugs.gentoo.org/704162
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
app-office/scribus/files/scribus-1.5.5-poppler-0.83.patch [new file with mode: 0644]
app-office/scribus/scribus-1.5.5.ebuild

diff --git a/app-office/scribus/files/scribus-1.5.5-poppler-0.83.patch b/app-office/scribus/files/scribus-1.5.5-poppler-0.83.patch
new file mode 100644 (file)
index 0000000..0d52486
--- /dev/null
@@ -0,0 +1,153 @@
+Source/Upstream: Yes fixed in svn
+Reason: Fix build with poppler 0.83.0
+
+From b51c2bab4d57d685f96d427d6816bdd4ecfb4674 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <jghali@libertysurf.fr>
+Date: Wed, 4 Dec 2019 05:51:19 +0000
+Subject: [PATCH] #15985: Fix failure to build against poppler 0.83.0
+
+git-svn-id: svn://scribus.net/trunk/Scribus@23395 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/importpdf.cpp     | 22 ++++++++++++++++++++
+ scribus/plugins/import/pdf/importpdfconfig.h |  6 ++++++
+ scribus/plugins/import/pdf/slaoutput.cpp     |  4 ++--
+ scribus/plugins/import/pdf/slaoutput.h       |  2 +-
+ 4 files changed, 31 insertions(+), 3 deletions(-)
+
+diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
+index 2ab38ac758..427cd66ef2 100644
+--- a/scribus/plugins/import/pdf/importpdf.cpp
++++ b/scribus/plugins/import/pdf/importpdf.cpp
+@@ -74,7 +74,11 @@ PdfPlug::PdfPlug(ScribusDoc* doc, int flags)
+ QImage PdfPlug::readThumbnail(const QString& fName)\r
+ {\r
+       QString pdfFile = QDir::toNativeSeparators(fName);\r
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)\r
++      globalParams.reset(new GlobalParams());\r
++#else\r
+       globalParams = new GlobalParams();\r
++#endif\r
+       if (globalParams)\r
+       {\r
+ #if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)\r
+@@ -89,7 +93,9 @@ QImage PdfPlug::readThumbnail(const QString& fName)
+                       if (pdfDoc->getErrorCode() == errEncrypted)\r
+                       {\r
+                               delete pdfDoc;\r
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)\r
+                               delete globalParams;\r
++#endif\r
+                               return QImage();\r
+                       }\r
+                       if (pdfDoc->isOk())\r
+@@ -133,11 +139,15 @@ QImage PdfPlug::readThumbnail(const QString& fName)
+                               image.setText("YSize", QString("%1").arg(h));\r
+                               delete dev;\r
+                               delete pdfDoc;\r
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)\r
+                               delete globalParams;\r
++#endif\r
+                               return image;\r
+                       }\r
+                       delete pdfDoc;\r
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)\r
+                       delete globalParams;\r
++#endif\r
+               }\r
+       }\r
+       return QImage();\r
+@@ -343,7 +353,11 @@ bool PdfPlug::convert(const QString& fn)
+               qApp->processEvents();\r
+       }\r
\r
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)\r
++      globalParams.reset(new GlobalParams());\r
++#else\r
+       globalParams = new GlobalParams();\r
++#endif\r
+       GooString *userPW = nullptr;\r
+       if (globalParams)\r
+       {\r
+@@ -385,7 +399,9 @@ bool PdfPlug::convert(const QString& fn)
+                                       if (progressDialog)\r
+                                               progressDialog->close();\r
+                                       delete pdfDoc;\r
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)\r
+                                       delete globalParams;\r
++#endif\r
+                                       return false;\r
+                               }\r
+                               if (progressDialog)\r
+@@ -430,7 +446,9 @@ bool PdfPlug::convert(const QString& fn)
+                                                       progressDialog->close();\r
+                                               delete optImp;\r
+                                               delete pdfDoc;\r
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)\r
+                                               delete globalParams;\r
++#endif\r
+                                               return false;\r
+                                       }\r
+                                       pageString = optImp->getPagesString();\r
+@@ -843,8 +861,12 @@ bool PdfPlug::convert(const QString& fn)
+               }\r
+               delete pdfDoc;\r
+       }\r
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)\r
++      globalParams.release();\r
++#else\r
+       delete globalParams;\r
+       globalParams = nullptr;\r
++#endif\r
\r
+ //    qDebug() << "converting finished";\r
+ //    qDebug() << "Imported" << Elements.count() << "Elements";\r
+diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
+index 9913ee382c..5a7e0d2162 100644
+--- a/scribus/plugins/import/pdf/importpdfconfig.h
++++ b/scribus/plugins/import/pdf/importpdfconfig.h
+@@ -58,4 +58,10 @@ for which a new license (GPL+exception) is in place.
+ #define POPPLER_CONST_082\r
+ #endif\r
\r
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)\r
++#define POPPLER_CONST_083 const\r
++#else\r
++#define POPPLER_CONST_083\r
++#endif\r
++\r
+ #endif\r
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index 5e4d32a551..ffcfa8450b 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -3678,7 +3678,7 @@ QString SlaOutputDev::getAnnotationColor(const AnnotColor *color)
+       return fNam;\r
+ }\r
\r
+-QString SlaOutputDev::convertPath(GfxPath *path)\r
++QString SlaOutputDev::convertPath(POPPLER_CONST_083 GfxPath *path)\r
+ {\r
+       if (! path)\r
+               return QString();\r
+@@ -3688,7 +3688,7 @@ QString SlaOutputDev::convertPath(GfxPath *path)
\r
+       for (int i = 0; i < path->getNumSubpaths(); ++i)\r
+       {\r
+-              GfxSubpath * subpath = path->getSubpath(i);\r
++              POPPLER_CONST_083 GfxSubpath * subpath = path->getSubpath(i);\r
+               if (subpath->getNumPoints() > 0)\r
+               {\r
+                       output += QString("M %1 %2").arg(subpath->getX(0)).arg(subpath->getY(0));\r
+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
+index 60fb900618..d928fada81 100644
+--- a/scribus/plugins/import/pdf/slaoutput.h
++++ b/scribus/plugins/import/pdf/slaoutput.h
+@@ -282,7 +282,7 @@ class SlaOutputDev : public OutputDev
+       void getPenState(GfxState *state);\r
+       QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);\r
+       QString getAnnotationColor(const AnnotColor *color);\r
+-      QString convertPath(GfxPath *path);\r
++      QString convertPath(POPPLER_CONST_083 GfxPath *path);\r
+       int getBlendMode(GfxState *state);\r
+       void applyMask(PageItem *ite);\r
+       void pushGroup(const QString& maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);\r
index c00d61006ab4514da2d22ca68d8fc897a1ca99a8..cd725acf6b87d53f5f3fa8c1f2c26a9542ba43af 100644 (file)
@@ -69,6 +69,7 @@ RDEPEND="${DEPEND}
 PATCHES=(
        # upstream svn trunk
        "${FILESDIR}"/${P}-poppler-0.82.patch
+       "${FILESDIR}"/${P}-poppler-0.83.patch
        # non(?)-upstreamable
        "${FILESDIR}"/${PN}-1.5.3-fpic.patch
        "${FILESDIR}"/${P}-docdir.patch