Skip to content
Snippets Groups Projects
Commit 88b4a134 authored by Pablo Correa Gómez's avatar Pablo Correa Gómez Committed by alice
Browse files

community/scribus: rebuild against libpoppler.so.119

set WANT_CPP=17 (needed for poppler, std::optional)
parent 15f0555e
No related branches found
No related tags found
1 merge request!32616Poppler 22
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net> # Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=scribus pkgname=scribus
pkgver=1.5.8 pkgver=1.5.8
pkgrel=1 pkgrel=2
pkgdesc="libre desktop publishing" pkgdesc="libre desktop publishing"
url="https://www.scribus.net/" url="https://www.scribus.net/"
arch="all" arch="all"
...@@ -16,6 +16,8 @@ makedepends="cmake boost-dev cairo-dev cups-dev harfbuzz-dev hunspell-dev ...@@ -16,6 +16,8 @@ makedepends="cmake boost-dev cairo-dev cups-dev harfbuzz-dev hunspell-dev
subpackages="$pkgname-doc $pkgname-lang" subpackages="$pkgname-doc $pkgname-lang"
source="https://downloads.sourceforge.net/scribus/scribus-$pkgver.tar.xz source="https://downloads.sourceforge.net/scribus/scribus-$pkgver.tar.xz
fix-util_debug.cpp.patch fix-util_debug.cpp.patch
poppler-22.02.patch
poppler-22.03.patch
" "
langdir="/usr/share/scribus/translations" langdir="/usr/share/scribus/translations"
...@@ -29,7 +31,8 @@ build() { ...@@ -29,7 +31,8 @@ build() {
-DBUILD_SHARED_LIBS=True \ -DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \ -DCMAKE_BUILD_TYPE=None \
-DWANT_DISTROBUILD=True \ -DWANT_DISTROBUILD=True \
$CMAKE_CROSSOPTS . -DWANT_CPP17=True \
$CMAKE_CROSSOPTS
cmake --build build cmake --build build
} }
...@@ -45,4 +48,6 @@ package() { ...@@ -45,4 +48,6 @@ package() {
sha512sums=" sha512sums="
eb46be0165eeb0d8974aa744fc8ffac321b206ca0015da39bb2f50d9fd4a5e28300a49ada0f963b4e0cf9a3301dc746ffba74f359f5e76d308d80b71ee669c2d scribus-1.5.8.tar.xz eb46be0165eeb0d8974aa744fc8ffac321b206ca0015da39bb2f50d9fd4a5e28300a49ada0f963b4e0cf9a3301dc746ffba74f359f5e76d308d80b71ee669c2d scribus-1.5.8.tar.xz
b56359d5e7aa3001cef6a9d6330e5c32a4c7570880b9eeeb79f6ff0ea7a050a5f3964ad0fef653a437e200dfc5d714a8a9c6b30158bbb1abf5d4bc98445f5205 fix-util_debug.cpp.patch b56359d5e7aa3001cef6a9d6330e5c32a4c7570880b9eeeb79f6ff0ea7a050a5f3964ad0fef653a437e200dfc5d714a8a9c6b30158bbb1abf5d4bc98445f5205 fix-util_debug.cpp.patch
fba5da56416c8a84d66e664ccd07cb4fc451de7bc94effa8bcbd1240cc0370ba4a43c89e4283e8a67627cb1070a6a398c196a368c5825f93c349d38574b0805d poppler-22.02.patch
f696e1be43d9280829260545888cc83c575e10cbfc766e7c4899fed0521716566149becd1895d721469ca5e9d2c531487eda1547b2d8c3831388e657235fa3fb poppler-22.03.patch
" "
Patch-Source: https://github.com/archlinux/svntogit-community/blob/b51bcb6c80f4b4102b4d59dcded7901a4e30a3bb/trunk/poppler-22.02.0.patch
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();
Patch-Source: https://github.com/archlinux/svntogit-community/blob/b51bcb6c80f4b4102b4d59dcded7901a4e30a3bb/trunk/poppler-22.03.0.patch
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))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment