Date: Wednesday, March 2, 2022 @ 12:14:27
  Author: foutrelis
Revision: 1139490

Fix build with poppler 22.03.0

Added:
  scribus/trunk/poppler-22.02.0.patch
    (from rev 1139489, scribus/trunk/poppler-22.2.0.patch)
  scribus/trunk/poppler-22.03.0.patch
Modified:
  scribus/trunk/PKGBUILD
Deleted:
  scribus/trunk/poppler-22.2.0.patch

-----------------------+
 PKGBUILD              |   10 ++-
 poppler-22.02.0.patch |  131 ++++++++++++++++++++++++++++++++++++++++++++++++
 poppler-22.03.0.patch |   39 ++++++++++++++
 poppler-22.2.0.patch  |  131 ------------------------------------------------
 4 files changed, 177 insertions(+), 134 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-03-02 12:14:21 UTC (rev 1139489)
+++ PKGBUILD    2022-03-02 12:14:27 UTC (rev 1139490)
@@ -22,10 +22,12 @@
             'hyphen-lang: hyphenation patterns for desired languages')
 options=(!lto)
 
source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.asc}
-        poppler-22.2.0.patch)
+        poppler-22.02.0.patch
+        poppler-22.03.0.patch)
 sha256sums=('47816e8fcf6d05788ff16aa4499f97ff22431c777a7789149b0a88b451e16b74'
             'SKIP'
-            '016ae42c6b33b78d579c62e19bee22c442c49baf452032f9fb62580327ca24e5')
+            '016ae42c6b33b78d579c62e19bee22c442c49baf452032f9fb62580327ca24e5'
+            'dd66c1cc7a4be041b0e9d6fcacb819a1e1a1ce45fd06057e9485edb7644332a7')
 validpgpkeys=(5086B8D68E70FDDF4C40045AEF7B95E7F60166DA  # Peter Linnell 
<[email protected]>
               757F5E9B13DD648887AD50092D47C099E782504E  # The Scribus Team 
(www.scribus.net) <[email protected]>
               6558BE84D27273A438A151198BEA48118AEBEE64) # Craig Bradney 
<[email protected]>
@@ -33,7 +35,9 @@
 prepare() {
   cd ${pkgname}-${pkgver}
   # https://bugs.scribus.net/view.php?id=16734
-  patch -Np1 -i ../poppler-22.2.0.patch
+  patch -Np1 -i ../poppler-22.02.0.patch
+  # https://bugs.scribus.net/view.php?id=16764
+  patch -Np1 -i ../poppler-22.03.0.patch
 }
 
 build() {

Copied: scribus/trunk/poppler-22.02.0.patch (from rev 1139489, 
scribus/trunk/poppler-22.2.0.patch)
===================================================================
--- poppler-22.02.0.patch                               (rev 0)
+++ poppler-22.02.0.patch       2022-03-02 12:14:27 UTC (rev 1139490)
@@ -0,0 +1,131 @@
+diff -upr scribus-1.5.8.orig/scribus/plugins/import/pdf/slaoutput.cpp 
scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp
+--- scribus-1.5.8.orig/scribus/plugins/import/pdf/slaoutput.cpp        
2022-01-23 18:16:01.000000000 +0200
++++ scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp     2022-02-02 
12:21:07.441133975 +0200
+@@ -7,6 +7,8 @@ for which a new license (GPL+exception)
+ 
+ #include "slaoutput.h"
+ 
++#include <memory>
++#include <optional>
+ #include <poppler/GlobalParams.h>
+ #include <poppler/poppler-config.h>
+ #include <poppler/FileSpec.h>
+@@ -3027,14 +3029,19 @@ void SlaOutputDev::markPoint(POPPLER_CON
+ 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;
++#else
++      GfxFontLoc *fontLoc = nullptr;
++      GooString *fileName = nullptr;
++      FoFiTrueType *ff;
++#endif
+       GfxFontType fontType;
+       SlaOutFontFileID *id;
+       SplashFontFile *fontFile;
+       SplashFontSrc *fontsrc = nullptr;
+-      FoFiTrueType *ff;
+       Object refObj, strObj;
+-      GooString *fileName;
+       char *tmpBuf;
+       int tmpBufLen = 0;
+       int *codeToGID;
+@@ -3046,9 +3053,7 @@ void SlaOutputDev::updateFont(GfxState *
+       SplashCoord matrix[6];
+ 
+       m_font = nullptr;
+-      fileName = nullptr;
+       tmpBuf = nullptr;
+-      fontLoc = nullptr;
+ 
+       gfxFont = state->getFont();
+       if (!gfxFont)
+@@ -3083,7 +3088,11 @@ void SlaOutputDev::updateFont(GfxState *
+               }
+               else
+               { // gfxFontLocExternal
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++                      fileName = fontLoc->pathAsGooString();
++#else
+                       fileName = fontLoc->path;
++#endif
+                       fontType = fontLoc->fontType;
+               }
+ 
+@@ -3130,15 +3139,23 @@ void SlaOutputDev::updateFont(GfxState *
+                       break;
+               case fontTrueType:
+               case fontTrueTypeOT:
++                      {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++                      std::unique_ptr<FoFiTrueType> ff;
++#endif
+                       if (fileName)
+                               ff = FoFiTrueType::load(fileName->getCString());
+                       else
+                               ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+                       if (ff)
+                       {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++                              codeToGID = ((Gfx8BitFont 
*)gfxFont)->getCodeToGIDMap(ff.get());
++#else
+                               codeToGID = ((Gfx8BitFont 
*)gfxFont)->getCodeToGIDMap(ff);
+-                              n = 256;
+                               delete ff;
++#endif
++                              n = 256;
+                       }
+                       else
+                       {
+@@ -3154,6 +3171,7 @@ void SlaOutputDev::updateFont(GfxState *
+                               gfxFont->getName() ? 
gfxFont->getName()->getCString() : "(unnamed)");
+                               goto err2;
+                       }
++                      }
+                       break;
+               case fontCIDType0:
+               case fontCIDType0C:
+@@ -3203,14 +3221,21 @@ void SlaOutputDev::updateFont(GfxState *
+                       }
+                       else
+                       {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++                              std::unique_ptr<FoFiTrueType> ff;
++#endif
+                               if (fileName)
+                                       ff = 
FoFiTrueType::load(fileName->getCString());
+                               else
+                                       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);
++#else
+                               codeToGID = ((GfxCIDFont 
*)gfxFont)->getCodeToGIDMap(ff, &n);
+                               delete ff;
++#endif
+                       }
+                       if (!(fontFile = m_fontEngine->loadTrueTypeFont(
+                                                       id,
+@@ -3247,14 +3272,18 @@ void SlaOutputDev::updateFont(GfxState *
+       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();

Added: poppler-22.03.0.patch
===================================================================
--- poppler-22.03.0.patch                               (rev 0)
+++ poppler-22.03.0.patch       2022-03-02 12:14:27 UTC (rev 1139490)
@@ -0,0 +1,39 @@
+diff -upr scribus-1.5.8.orig/scribus/plugins/import/pdf/importpdf.cpp 
scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp
+--- scribus-1.5.8.orig/scribus/plugins/import/pdf/importpdf.cpp        
2022-01-23 18:16:01.000000000 +0200
++++ scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp     2022-03-02 
14:03:29.851352471 +0200
+@@ -90,7 +90,11 @@ QImage PdfPlug::readThumbnail(const QStr
+ #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();
+ 
+@@ -343,7 +347,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::unique_ptr<PDFDoc>(new 
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)
+@@ -363,7 +371,11 @@ bool PdfPlug::convert(const QString& fn)
+                               auto fname = new 
GooString(QFile::encodeName(fn).data());
+ #endif
+                               auto userPW = new 
GooString(text.toLocal8Bit().data());
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
++                              pdfDoc.reset(new 
PDFDoc(std::make_unique<GooString>(fname), GooString(userPW), 
GooString(userPW)));
++#else
+                               pdfDoc.reset(new PDFDoc(fname, userPW, userPW, 
nullptr));
++#endif
+                               
qApp->changeOverrideCursor(QCursor(Qt::WaitCursor));
+                       }
+                       if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone))

Deleted: poppler-22.2.0.patch
===================================================================
--- poppler-22.2.0.patch        2022-03-02 12:14:21 UTC (rev 1139489)
+++ poppler-22.2.0.patch        2022-03-02 12:14:27 UTC (rev 1139490)
@@ -1,131 +0,0 @@
-diff -upr scribus-1.5.8.orig/scribus/plugins/import/pdf/slaoutput.cpp 
scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp
---- scribus-1.5.8.orig/scribus/plugins/import/pdf/slaoutput.cpp        
2022-01-23 18:16:01.000000000 +0200
-+++ scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp     2022-02-02 
12:21:07.441133975 +0200
-@@ -7,6 +7,8 @@ for which a new license (GPL+exception)
- 
- #include "slaoutput.h"
- 
-+#include <memory>
-+#include <optional>
- #include <poppler/GlobalParams.h>
- #include <poppler/poppler-config.h>
- #include <poppler/FileSpec.h>
-@@ -3027,14 +3029,19 @@ void SlaOutputDev::markPoint(POPPLER_CON
- 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;
-+#else
-+      GfxFontLoc *fontLoc = nullptr;
-+      GooString *fileName = nullptr;
-+      FoFiTrueType *ff;
-+#endif
-       GfxFontType fontType;
-       SlaOutFontFileID *id;
-       SplashFontFile *fontFile;
-       SplashFontSrc *fontsrc = nullptr;
--      FoFiTrueType *ff;
-       Object refObj, strObj;
--      GooString *fileName;
-       char *tmpBuf;
-       int tmpBufLen = 0;
-       int *codeToGID;
-@@ -3046,9 +3053,7 @@ void SlaOutputDev::updateFont(GfxState *
-       SplashCoord matrix[6];
- 
-       m_font = nullptr;
--      fileName = nullptr;
-       tmpBuf = nullptr;
--      fontLoc = nullptr;
- 
-       gfxFont = state->getFont();
-       if (!gfxFont)
-@@ -3083,7 +3088,11 @@ void SlaOutputDev::updateFont(GfxState *
-               }
-               else
-               { // gfxFontLocExternal
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+                      fileName = fontLoc->pathAsGooString();
-+#else
-                       fileName = fontLoc->path;
-+#endif
-                       fontType = fontLoc->fontType;
-               }
- 
-@@ -3130,15 +3139,23 @@ void SlaOutputDev::updateFont(GfxState *
-                       break;
-               case fontTrueType:
-               case fontTrueTypeOT:
-+                      {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+                      std::unique_ptr<FoFiTrueType> ff;
-+#endif
-                       if (fileName)
-                               ff = FoFiTrueType::load(fileName->getCString());
-                       else
-                               ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
-                       if (ff)
-                       {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+                              codeToGID = ((Gfx8BitFont 
*)gfxFont)->getCodeToGIDMap(ff.get());
-+#else
-                               codeToGID = ((Gfx8BitFont 
*)gfxFont)->getCodeToGIDMap(ff);
--                              n = 256;
-                               delete ff;
-+#endif
-+                              n = 256;
-                       }
-                       else
-                       {
-@@ -3154,6 +3171,7 @@ void SlaOutputDev::updateFont(GfxState *
-                               gfxFont->getName() ? 
gfxFont->getName()->getCString() : "(unnamed)");
-                               goto err2;
-                       }
-+                      }
-                       break;
-               case fontCIDType0:
-               case fontCIDType0C:
-@@ -3203,14 +3221,21 @@ void SlaOutputDev::updateFont(GfxState *
-                       }
-                       else
-                       {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+                              std::unique_ptr<FoFiTrueType> ff;
-+#endif
-                               if (fileName)
-                                       ff = 
FoFiTrueType::load(fileName->getCString());
-                               else
-                                       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);
-+#else
-                               codeToGID = ((GfxCIDFont 
*)gfxFont)->getCodeToGIDMap(ff, &n);
-                               delete ff;
-+#endif
-                       }
-                       if (!(fontFile = m_fontEngine->loadTrueTypeFont(
-                                                       id,
-@@ -3247,14 +3272,18 @@ void SlaOutputDev::updateFont(GfxState *
-       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();

Reply via email to