[arch-commits] Commit in scribus/trunk (PKGBUILD poppler-22.2.0.patch)
Evangelos Foutras
foutrelis at gemini.archlinux.org
Wed Feb 2 10:32:44 UTC 2022
Date: Wednesday, February 2, 2022 @ 10:32:44
Author: foutrelis
Revision: 1122409
Fix build with poppler 22.2.0
Added:
scribus/trunk/poppler-22.2.0.patch
Modified:
scribus/trunk/PKGBUILD
----------------------+
PKGBUILD | 12 +++-
poppler-22.2.0.patch | 131 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 141 insertions(+), 2 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-02-02 09:52:26 UTC (rev 1122408)
+++ PKGBUILD 2022-02-02 10:32:44 UTC (rev 1122409)
@@ -21,13 +21,21 @@
optdepends=('tk: scripts based on tkinter'
'hyphen-lang: hyphenation patterns for desired languages')
options=(!lto)
-source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.asc})
+source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.asc}
+ poppler-22.2.0.patch)
sha256sums=('47816e8fcf6d05788ff16aa4499f97ff22431c777a7789149b0a88b451e16b74'
- 'SKIP')
+ 'SKIP'
+ '016ae42c6b33b78d579c62e19bee22c442c49baf452032f9fb62580327ca24e5')
validpgpkeys=(5086B8D68E70FDDF4C40045AEF7B95E7F60166DA # Peter Linnell <plinnell at scribus.net>
757F5E9B13DD648887AD50092D47C099E782504E # The Scribus Team (www.scribus.net) <the_scribus_team at scribus.net>
6558BE84D27273A438A151198BEA48118AEBEE64) # Craig Bradney <cbradney at zipworld.com.au>
+prepare() {
+ cd ${pkgname}-${pkgver}
+ # https://bugs.scribus.net/view.php?id=16734
+ patch -Np1 -i ../poppler-22.2.0.patch
+}
+
build() {
cmake -B build -S ${pkgname}-${pkgver} \
-DCMAKE_INSTALL_PREFIX=/usr \
Added: poppler-22.2.0.patch
===================================================================
--- poppler-22.2.0.patch (rev 0)
+++ poppler-22.2.0.patch 2022-02-02 10:32:44 UTC (rev 1122409)
@@ -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();
More information about the arch-commits
mailing list