diff --git a/Fails-to-build-with-python-3.8.patch b/Fails-to-build-with-python-3.8.patch
new file mode 100644
index 0000000..dc9ea1e
--- /dev/null
+++ b/Fails-to-build-with-python-3.8.patch
@@ -0,0 +1,185 @@
+From df0ba0a365fd36bf4a4abac3b45e65a65a46c82c Mon Sep 17 00:00:00 2001
+From: Jean Ghali
+Date: Sun, 3 Nov 2019 01:15:12 +0000
+Subject: [PATCH] #15901: Fails to build with python 3.8
+
+git-svn-id: svn://scribus.net/trunk/Scribus@23314 11d20701-8431-0410-a711-e3c959e3b870
+---
+ .../plugins/scriptplugin/objimageexport.cpp | 52 ++++++++++++++++---
+ scribus/plugins/scriptplugin/objpdffile.cpp | 13 ++++-
+ scribus/plugins/scriptplugin/objprinter.cpp | 13 ++++-
+ 3 files changed, 70 insertions(+), 8 deletions(-)
+
+diff --git a/scribus/plugins/scriptplugin/objimageexport.cpp b/scribus/plugins/scriptplugin/objimageexport.cpp
+index cfc3c3fa06..7d2fb2f0a8 100644
+--- a/scribus/plugins/scriptplugin/objimageexport.cpp
++++ b/scribus/plugins/scriptplugin/objimageexport.cpp
+@@ -220,29 +220,62 @@ PyTypeObject ImageExport_Type = {
+ const_cast("scribus.ImageExport"), // char *tp_name; /* For printing, in format "." */
+ sizeof(ImageExport), // int tp_basicsize, /* For allocation */
+ 0, // int tp_itemsize; /* For allocation */
++
++ /* Methods to implement standard operations */
++
+ (destructor) ImageExport_dealloc, // destructor tp_dealloc;
+- nullptr, // printfunc tp_print;
++#if PY_VERSION_HEX >= 0x03080000
++ 0, // Py_ssize_t tp_vectorcall_offset
++#else
++ nullptr, // printfunc tp_print;
++#endif
+ nullptr, // getattrfunc tp_getattr;
+ nullptr, // setattrfunc tp_setattr;
+- nullptr, // cmpfunc tp_compare;
++ nullptr, // cmpfunc tp_as_async;
+ nullptr, // reprfunc tp_repr;
++
++ /* Method suites for standard classes */
++
+ nullptr, // PyNumberMethods *tp_as_number;
+ nullptr, // PySequenceMethods *tp_as_sequence;
+ nullptr, // PyMappingMethods *tp_as_mapping;
++
++ /* More standard operations (here for binary compatibility) */
++
+ nullptr, // hashfunc tp_hash;
+ nullptr, // ternaryfunc tp_call;
+ nullptr, // reprfunc tp_str;
+ nullptr, // getattrofunc tp_getattro;
+ nullptr, // setattrofunc tp_setattro;
++
++ /* Functions to access object as input/output buffer */
+ nullptr, // PyBufferProcs *tp_as_buffer;
++
++ /* Flags to define presence of optional/expanded features */
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, // long tp_flags;
++
+ imgexp__doc__, // char *tp_doc; /* Documentation string */
++
++ /* Assigned meaning in release 2.0 */
++ /* call function for all accessible objects */
+ nullptr, // traverseproc tp_traverse;
++
++ /* delete references to contained objects */
+ nullptr, // inquiry tp_clear;
++
++ /* Assigned meaning in release 2.1 */
++ /* rich comparisons */
+ nullptr, // richcmpfunc tp_richcompare;
++
++ /* weak reference enabler */
+ 0, // long tp_weaklistoffset;
++
++ /* Added in release 2.2 */
++ /* Iterators */
+ nullptr, // getiterfunc tp_iter;
+ nullptr, // iternextfunc tp_iternext;
++
++ /* Attribute descriptor and subclassing stuff */
+ ImageExport_methods, // struct PyMethodDef *tp_methods;
+ ImageExport_members, // struct PyMemberDef *tp_members;
+ ImageExport_getseters, // struct PyGetSetDef *tp_getset;
+@@ -264,12 +297,19 @@ PyTypeObject ImageExport_Type = {
+ nullptr, // destructor tp_del;
+ 0, // unsigned int tp_version_tag;
+ 0, // destructor tp_finalize;
++#if PY_VERSION_HEX >= 0x03080000
++ nullptr, // tp_vectorcall
++#endif
++#if PY_VERSION_HEX >= 0x03080000 && PY_VERSION_HEX < 0x03090000
++ nullptr, //deprecated tp_print
++#endif
+
+ #ifdef COUNT_ALLOCS
+ /* these must be last and never explicitly initialized */
+- // int tp_allocs;
+- // int tp_frees;
+- // int tp_maxalloc;
+- // struct _typeobject *tp_next;
++ // int tp_allocs;
++ // int tp_frees;
++ // int tp_maxalloc;
++ // struct _typeobject *tp_prev;
++ // struct _typeobject *tp_next;
+ #endif
+ };
+diff --git a/scribus/plugins/scriptplugin/objpdffile.cpp b/scribus/plugins/scriptplugin/objpdffile.cpp
+index 2ae8c93452..5ec423b20c 100644
+--- a/scribus/plugins/scriptplugin/objpdffile.cpp
++++ b/scribus/plugins/scriptplugin/objpdffile.cpp
+@@ -1555,10 +1555,14 @@ PyTypeObject PDFfile_Type = {
+ /* Methods to implement standard operations */
+
+ (destructor) PDFfile_dealloc, // destructor tp_dealloc;
++#if PY_VERSION_HEX >= 0x03080000
++ 0, // Py_ssize_t tp_vectorcall_offset
++#else
+ nullptr, // printfunc tp_print;
++#endif
+ nullptr, // getattrfunc tp_getattr;
+ nullptr, // setattrfunc tp_setattr;
+- nullptr, // cmpfunc tp_compare;
++ nullptr, // cmpfunc tp_as_async;
+ nullptr, // reprfunc tp_repr;
+
+ /* Method suites for standard classes */
+@@ -1624,12 +1628,19 @@ PyTypeObject PDFfile_Type = {
+ nullptr, // destructor tp_del;
+ 0, // unsigned int tp_version_tag;
+ 0, // destructor tp_finalize;
++#if PY_VERSION_HEX >= 0x03080000
++ nullptr, // tp_vectorcall
++#endif
++#if PY_VERSION_HEX >= 0x03080000 && PY_VERSION_HEX < 0x03090000
++ nullptr, //deprecated tp_print
++#endif
+
+ #ifdef COUNT_ALLOCS
+ /* these must be last and never explicitly initialized */
+ // int tp_allocs;
+ // int tp_frees;
+ // int tp_maxalloc;
++ // struct _typeobject *tp_prev;
+ // struct _typeobject *tp_next;
+ #endif
+ };
+diff --git a/scribus/plugins/scriptplugin/objprinter.cpp b/scribus/plugins/scriptplugin/objprinter.cpp
+index 3219f77534..e59e71d024 100644
+--- a/scribus/plugins/scriptplugin/objprinter.cpp
++++ b/scribus/plugins/scriptplugin/objprinter.cpp
+@@ -517,10 +517,14 @@ PyTypeObject Printer_Type = {
+ /* Methods to implement standard operations */
+
+ (destructor) Printer_dealloc, // destructor tp_dealloc;
++#if PY_VERSION_HEX >= 0x03080000
++ 0, // Py_ssize_t tp_vectorcall_offset
++#else
+ nullptr, // printfunc tp_print;
++#endif
+ nullptr, // getattrfunc tp_getattr;
+ nullptr, // setattrfunc tp_setattr;
+- nullptr, // cmpfunc tp_compare;
++ nullptr, // cmpfunc tp_as_async;
+ nullptr, // reprfunc tp_repr;
+
+ /* Method suites for standard classes */
+@@ -586,12 +590,19 @@ PyTypeObject Printer_Type = {
+ nullptr, // destructor tp_del;
+ 0, // unsigned int tp_version_tag;
+ 0, // destructor tp_finalize;
++#if PY_VERSION_HEX >= 0x03080000
++ nullptr, // tp_vectorcall
++#endif
++#if PY_VERSION_HEX >= 0x03080000 && PY_VERSION_HEX < 0x03090000
++ nullptr, //deprecated tp_print
++#endif
+
+ #ifdef COUNT_ALLOCS
+ /* these must be last and never explicitly initialized */
+ // int tp_allocs;
+ // int tp_frees;
+ // int tp_maxalloc;
++ // struct _typeobject *tp_prev;
+ // struct _typeobject *tp_next;
+ #endif
+ };
diff --git a/Fix-failure-to-build-against-poppler-0.83.0.patch b/Fix-failure-to-build-against-poppler-0.83.0.patch
new file mode 100644
index 0000000..bac0b79
--- /dev/null
+++ b/Fix-failure-to-build-against-poppler-0.83.0.patch
@@ -0,0 +1,150 @@
+From b51c2bab4d57d685f96d427d6816bdd4ecfb4674 Mon Sep 17 00:00:00 2001
+From: Jean Ghali
+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)
+ {
+ QString pdfFile = QDir::toNativeSeparators(fName);
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
++ globalParams.reset(new GlobalParams());
++#else
+ globalParams = new GlobalParams();
++#endif
+ if (globalParams)
+ {
+ #if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)
+@@ -89,7 +93,9 @@ QImage PdfPlug::readThumbnail(const QString& fName)
+ if (pdfDoc->getErrorCode() == errEncrypted)
+ {
+ delete pdfDoc;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
+ delete globalParams;
++#endif
+ return QImage();
+ }
+ if (pdfDoc->isOk())
+@@ -133,11 +139,15 @@ QImage PdfPlug::readThumbnail(const QString& fName)
+ image.setText("YSize", QString("%1").arg(h));
+ delete dev;
+ delete pdfDoc;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
+ delete globalParams;
++#endif
+ return image;
+ }
+ delete pdfDoc;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
+ delete globalParams;
++#endif
+ }
+ }
+ return QImage();
+@@ -343,7 +353,11 @@ bool PdfPlug::convert(const QString& fn)
+ qApp->processEvents();
+ }
+
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
++ globalParams.reset(new GlobalParams());
++#else
+ globalParams = new GlobalParams();
++#endif
+ GooString *userPW = nullptr;
+ if (globalParams)
+ {
+@@ -385,7 +399,9 @@ bool PdfPlug::convert(const QString& fn)
+ if (progressDialog)
+ progressDialog->close();
+ delete pdfDoc;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
+ delete globalParams;
++#endif
+ return false;
+ }
+ if (progressDialog)
+@@ -430,7 +446,9 @@ bool PdfPlug::convert(const QString& fn)
+ progressDialog->close();
+ delete optImp;
+ delete pdfDoc;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
+ delete globalParams;
++#endif
+ return false;
+ }
+ pageString = optImp->getPagesString();
+@@ -843,8 +861,12 @@ bool PdfPlug::convert(const QString& fn)
+ }
+ delete pdfDoc;
+ }
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
++ globalParams.release();
++#else
+ delete globalParams;
+ globalParams = nullptr;
++#endif
+
+ // qDebug() << "converting finished";
+ // qDebug() << "Imported" << Elements.count() << "Elements";
+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
+ #endif
+
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
++#define POPPLER_CONST_083 const
++#else
++#define POPPLER_CONST_083
++#endif
++
+ #endif
+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;
+ }
+
+-QString SlaOutputDev::convertPath(GfxPath *path)
++QString SlaOutputDev::convertPath(POPPLER_CONST_083 GfxPath *path)
+ {
+ if (! path)
+ return QString();
+@@ -3688,7 +3688,7 @@ QString SlaOutputDev::convertPath(GfxPath *path)
+
+ for (int i = 0; i < path->getNumSubpaths(); ++i)
+ {
+- GfxSubpath * subpath = path->getSubpath(i);
++ POPPLER_CONST_083 GfxSubpath * subpath = path->getSubpath(i);
+ if (subpath->getNumPoints() > 0)
+ {
+ output += QString("M %1 %2").arg(subpath->getX(0)).arg(subpath->getY(0));
+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);
+ QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
+ QString getAnnotationColor(const AnnotColor *color);
+- QString convertPath(GfxPath *path);
++ QString convertPath(POPPLER_CONST_083 GfxPath *path);
+ int getBlendMode(GfxState *state);
+ void applyMask(PageItem *ite);
+ void pushGroup(const QString& maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
diff --git a/Fix-failure-to-build-with-poppler-0.84.0.patch b/Fix-failure-to-build-with-poppler-0.84.0.patch
new file mode 100644
index 0000000..6f9bf6f
--- /dev/null
+++ b/Fix-failure-to-build-with-poppler-0.84.0.patch
@@ -0,0 +1,34 @@
+From 3742559924136c2471ab15081c5b600dd5feaeb0 Mon Sep 17 00:00:00 2001
+From: Jean Ghali
+Date: Sat, 28 Dec 2019 21:32:29 +0000
+Subject: [PATCH] Fix failure to build with poppler 0.84.0
+
+git-svn-id: svn://scribus.net/trunk/Scribus@23429 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/slaoutput.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index ffcfa8450b..d788f9f06c 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -1189,6 +1189,11 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
+ catalog = catA;
+ pdfDoc = doc;
+ updateGUICounter = 0;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 84, 0)
++ m_fontEngine = new SplashFontEngine(true, true, true, true);
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 61, 0)
++ m_fontEngine = new SplashFontEngine(globalParams->getEnableFreeType(), true, true, true);
++#else
+ m_fontEngine = new SplashFontEngine(
+ #if HAVE_T1LIB_H
+ globalParams->getEnableT1lib(),
+@@ -1199,6 +1204,7 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
+ true,
+ #endif
+ true);
++#endif
+ }
+
+ void SlaOutputDev::startPage(int pageNum, GfxState *, XRef *)
diff --git a/Use-same-mechanism-as-with-previous-poppler-versions.patch b/Use-same-mechanism-as-with-previous-poppler-versions.patch
new file mode 100644
index 0000000..435fd3b
--- /dev/null
+++ b/Use-same-mechanism-as-with-previous-poppler-versions.patch
@@ -0,0 +1,140 @@
+From fca3858b15aa76dc05691cfa7b5b3649264b7786 Mon Sep 17 00:00:00 2001
+From: Jean Ghali
+Date: Tue, 29 Oct 2019 01:55:42 +0000
+Subject: [PATCH] Use same mechanism as with previous poppler versions to
+ support change of constness in function signatures
+
+git-svn-id: svn://scribus.net/trunk/Scribus@23289 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/importpdfconfig.h | 6 +++++
+ scribus/plugins/import/pdf/slaoutput.cpp | 26 ++++++--------------
+ scribus/plugins/import/pdf/slaoutput.h | 15 +++--------
+ 3 files changed, 16 insertions(+), 31 deletions(-)
+
+diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
+index 2a13b0d109..9913ee382c 100644
+--- a/scribus/plugins/import/pdf/importpdfconfig.h
++++ b/scribus/plugins/import/pdf/importpdfconfig.h
+@@ -52,4 +52,10 @@ for which a new license (GPL+exception) is in place.
+ #define POPPLER_REF
+ #endif
+
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 82, 0)
++#define POPPLER_CONST_082 const
++#else
++#define POPPLER_CONST_082
++#endif
++
+ #endif
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index f3d6446880..bb7b184272 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -1606,7 +1606,7 @@ void SlaOutputDev::stroke(GfxState *state)
+ ite->PoLine = out.copy();
+ ite->ClipEdited = true;
+ ite->FrameType = 3;
+- ite->setWidthHeight(wh.x(),wh.y());
++ ite->setWidthHeight(wh.x(), wh.y());
+ m_doc->adjustItemSize(ite);
+ if (m_Elements->count() != 0)
+ {
+@@ -2471,7 +2471,7 @@ void SlaOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str, int
+ out.translate(-ite->xPos(), -ite->yPos());
+ ite->PoLine = out.copy();
+ FPoint wh = getMaxClipF(&ite->PoLine);
+- ite->setWidthHeight(wh.x(),wh.y());
++ ite->setWidthHeight(wh.x(), wh.y());
+ ite->setTextFlowMode(PageItem::TextFlowDisabled);
+ ite->ScaleType = true;
+ m_doc->adjustItemSize(ite);
+@@ -2613,7 +2613,7 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str
+ out.translate(-ite->xPos(), -ite->yPos());
+ ite->PoLine = out.copy();
+ FPoint wh = getMaxClipF(&ite->PoLine);
+- ite->setWidthHeight(wh.x(),wh.y());
++ ite->setWidthHeight(wh.x(), wh.y());
+ ite->setTextFlowMode(PageItem::TextFlowDisabled);
+ ite->ScaleType = true;
+ m_doc->adjustItemSize(ite);
+@@ -2762,7 +2762,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str, i
+ out.translate(-ite->xPos(), -ite->yPos());
+ ite->PoLine = out.copy();
+ FPoint wh = getMaxClipF(&ite->PoLine);
+- ite->setWidthHeight(wh.x(),wh.y());
++ ite->setWidthHeight(wh.x(), wh.y());
+ ite->setTextFlowMode(PageItem::TextFlowDisabled);
+ ite->ScaleType = true;
+ m_doc->adjustItemSize(ite);
+@@ -2784,11 +2784,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str, i
+ delete[] mbuffer;
+ }
+
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+-void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int* maskColors, GBool inlineImg)
+-#else
+-void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, const int* maskColors, GBool inlineImg)
+-#endif
++void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, POPPLER_CONST_082 int* maskColors, GBool inlineImg)
+ {
+ ImageStream * imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
+ // qDebug() << "Image Components" << colorMap->getNumPixelComps() << "Mask" << maskColors;
+@@ -3369,11 +3365,7 @@ void SlaOutputDev::updateFont(GfxState *state)
+ fontsrc->unref();
+ }
+
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+-void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, Unicode *u, int uLen)
+-#else
+-void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, const Unicode *u, int uLen)
+-#endif
++void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, POPPLER_CONST_082 Unicode *u, int uLen)
+ {
+ double x1, y1, x2, y2;
+ int render;
+@@ -3460,11 +3452,7 @@ void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, doub
+ }
+ }
+
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+-GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, Unicode *u, int uLen)
+-#else
+-GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, const Unicode *u, int uLen)
+-#endif
++GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen)
+ {
+ // qDebug() << "beginType3Char";
+ GfxFont *gfxFont;
+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
+index b5905184e5..14a590d55e 100644
+--- a/scribus/plugins/import/pdf/slaoutput.h
++++ b/scribus/plugins/import/pdf/slaoutput.h
+@@ -229,11 +229,7 @@ class SlaOutputDev : public OutputDev
+
+ //----- image drawing
+ void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg) override;
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+- void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg) override;
+-#else
+- void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, const int *maskColors, GBool inlineImg) override;
+-#endif
++ void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, POPPLER_CONST_082 int *maskColors, GBool inlineImg) override;
+ void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+ int width, int height,
+ GfxImageColorMap *colorMap,
+@@ -265,13 +261,8 @@ class SlaOutputDev : public OutputDev
+ //----- text drawing
+ void beginTextObject(GfxState *state) override;
+ void endTextObject(GfxState *state) override;
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+- void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, Unicode * /*u*/, int /*uLen*/) override;
+- GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, Unicode * /*u*/, int /*uLen*/) override;
+-#else
+- void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, const Unicode * /*u*/, int /*uLen*/) override;
+- GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, const Unicode * /*u*/, int /*uLen*/) override;
+-#endif
++ void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, POPPLER_CONST_082 Unicode * /*u*/, int /*uLen*/) override;
++ GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, POPPLER_CONST_082 Unicode * /*u*/, int /*uLen*/) override;
+ void endType3Char(GfxState * /*state*/) override;
+ void type3D0(GfxState * /*state*/, double /*wx*/, double /*wy*/) override;
+ void type3D1(GfxState * /*state*/, double /*wx*/, double /*wy*/, double /*llx*/, double /*lly*/, double /*urx*/, double /*ury*/) override;
diff --git a/Work-around-poppler-0.82-signature-changes.patch b/Work-around-poppler-0.82-signature-changes.patch
new file mode 100644
index 0000000..af07b40
--- /dev/null
+++ b/Work-around-poppler-0.82-signature-changes.patch
@@ -0,0 +1,82 @@
+From 6db15ec1af791377b28981601f8c296006de3c6f Mon Sep 17 00:00:00 2001
+From: Craig Bradney
+Date: Mon, 28 Oct 2019 22:11:56 +0000
+Subject: [PATCH] Work around poppler 0.82 signature changes
+
+git-svn-id: svn://scribus.net/trunk/Scribus@23287 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/plugins/import/pdf/slaoutput.cpp | 14 +++++++++++++-
+ scribus/plugins/import/pdf/slaoutput.h | 9 +++++++++
+ 2 files changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index 6094f3d9eb..f3d6446880 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -2784,7 +2784,11 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str, i
+ delete[] mbuffer;
+ }
+
+-void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg)
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
++void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int* maskColors, GBool inlineImg)
++#else
++void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, const int* maskColors, GBool inlineImg)
++#endif
+ {
+ ImageStream * imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
+ // qDebug() << "Image Components" << colorMap->getNumPixelComps() << "Mask" << maskColors;
+@@ -3365,7 +3369,11 @@ void SlaOutputDev::updateFont(GfxState *state)
+ fontsrc->unref();
+ }
+
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+ void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, Unicode *u, int uLen)
++#else
++void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, const Unicode *u, int uLen)
++#endif
+ {
+ double x1, y1, x2, y2;
+ int render;
+@@ -3452,7 +3460,11 @@ void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, doub
+ }
+ }
+
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+ GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, Unicode *u, int uLen)
++#else
++GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, const Unicode *u, int uLen)
++#endif
+ {
+ // qDebug() << "beginType3Char";
+ GfxFont *gfxFont;
+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
+index bc4350a034..b5905184e5 100644
+--- a/scribus/plugins/import/pdf/slaoutput.h
++++ b/scribus/plugins/import/pdf/slaoutput.h
+@@ -229,7 +229,11 @@ class SlaOutputDev : public OutputDev
+
+ //----- image drawing
+ void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg) override;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+ void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg) override;
++#else
++ void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, const int *maskColors, GBool inlineImg) override;
++#endif
+ void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+ int width, int height,
+ GfxImageColorMap *colorMap,
+@@ -261,8 +265,13 @@ class SlaOutputDev : public OutputDev
+ //----- text drawing
+ void beginTextObject(GfxState *state) override;
+ void endTextObject(GfxState *state) override;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 82, 0)
+ void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, Unicode * /*u*/, int /*uLen*/) override;
+ GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, Unicode * /*u*/, int /*uLen*/) override;
++#else
++ void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, const Unicode * /*u*/, int /*uLen*/) override;
++ GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, const Unicode * /*u*/, int /*uLen*/) override;
++#endif
+ void endType3Char(GfxState * /*state*/) override;
+ void type3D0(GfxState * /*state*/, double /*wx*/, double /*wy*/) override;
+ void type3D1(GfxState * /*state*/, double /*wx*/, double /*wy*/, double /*llx*/, double /*lly*/, double /*urx*/, double /*ury*/) override;
diff --git a/port-scripter-to-Python-3.patch b/port-scripter-to-Python-3.patch
new file mode 100644
index 0000000..1ea992f
--- /dev/null
+++ b/port-scripter-to-Python-3.patch
@@ -0,0 +1,3922 @@
+From 3d1fe747ea7dd23cb099f5e93976f6de146cd250 Mon Sep 17 00:00:00 2001
+From: Jean Ghali
+Date: Sun, 27 Oct 2019 13:01:32 +0000
+Subject: [PATCH] #15030 : port scripter to Python 3
+
+git-svn-id: svn://scribus.net/trunk/Scribus@23278 11d20701-8431-0410-a711-e3c959e3b870
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7385057e28..255aae06de 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -847,10 +847,10 @@ endif()
+
+ #<< PYTHON
+ #set(PythonLibs_FIND_VERSION 2)
+-find_package(PythonInterp 2)
+-find_package(PythonLibs 2 REQUIRED)
++find_package(PythonInterp 3)
++find_package(PythonLibs 3 REQUIRED)
+ if (PYTHON_LIBRARY)
+- message("Python Library Found OK")
++ message("Python 3.x Library Found OK")
+ set(HAVE_PYTHON ON)
+ set(COMPILE_PYTHON ON)
+ endif()
+diff --git a/doc/de/install2.html b/doc/de/install2.html
+index e8ec3b8820..dd46fbd72a 100644
+--- a/doc/de/install2.html
++++ b/doc/de/install2.html
+@@ -3,36 +3,39 @@
+
+ Voraussetzungen
+
++
+
+ Voraussetzungen
+ Die Programme, die Sie benötigen, um Scribus zu kompilieren, sind:
+
+- - Für Scribus 1.4.x wird mindestens GCC 3.x+ benötigt und GCC 3.3+ dringend empfohlen. Das Scribus-Team hat GCC 4.1+ getestet. Wir empfehlen, jeweils die aktuelle GCC 4.x-Version zu verwenden, da sich dadurch Performance-Vorteile ergeben können.
+- - CMake
++ - Für Scribus 1.5.x wird mindestens GCC 4.8+ benötigt und GCC 7+ dringend empfohlen. Wir empfehlen, jeweils die aktuelle GCC Version zu verwenden, da sich dadurch Performance-Vorteile ergeben können.
++ - CMake 3.12+
+ - GNU make
+
+ Die Abhängigkeiten zum Kompilieren und zur Verwendung von Scribus sind:
+
+-- Qt 4.6.0+, sowohl die Laufzeit- als auch die Entwicklerbibliotheken.
+-- Python und Python-devel 2.3+. Python 2.2 wird nicht unterstützt.
+-- Freetype2 2.1.7+. Wegen verschiedener Fehler in Freetype2 empfehlen wir, wenn möglich, die Verwendung von Version 2.3.x
+-- Cairo 1.4.x. We empfehlen 1.4.10 oder höher.
+-- libxml2 2.6+.
+-- Ghostscript 8.60+ wird dringend empfohlen.
+-- littleCMS – in einigen Distributionen auch lcms genannt. Das Minimum ist 1.12, aber wir empfehlen 1.17 oder höher. lcms 1.12+ bietet Unterstützung von Tiefenkompensierung.
+-- libtiff 3.6.0+
+-- libjpeg
+-- CUPS-devel – Scribus unterstützt die direkte Druckausgabe mit CUPS. (Linux/UNIX/Mac OS X).
+-- tkinter – für das »Font Sampler«- und das »Calendar Wizard«-Script.
+-- Python-imaging für einige Funktionen des Scripters.
+-- openssl-devel (einige Linux-Distributionen, insbesondere OpenSUSE, ermöglichen SSL-Unterstützung für CUPS)
+-- fontconfig-devel – um das automatische Auffinden von Schriftdateien unter Linux, Mac OS X und UNIX zu ermöglichen. Nicht erforderlich unter Windows, OS/2 und eComStation.
+-- Podofo 0.6 oder höher – wird vom AI-Importfilter benötigt.
++ - Qt 5.10.0+, sowohl die Laufzeit- als auch die Entwicklerbibliotheken.
++ - Cairo 1.14.x. We empfehlen 1.16.0 oder höher.
++ - CUPS-devel – Scribus unterstützt die direkte Druckausgabe mit CUPS. (Linux/UNIX/Mac OS X).
++ - fontconfig-devel – um das automatische Auffinden von Schriftdateien unter Linux, Mac OS X und UNIX zu ermöglichen. Nicht erforderlich unter Windows, OS/2 und eComStation.
++ - Freetype2 2.1.7+. Wegen verschiedener Fehler in Freetype2 empfehlen wir, wenn möglich, die Verwendung von Version 2.3.x
++ - Ghostscript 9.0+ wird dringend empfohlen.
++ - littleCMS – in einigen Distributionen auch lcms genannt. Das Minimum ist 2.1, aber wir empfehlen 2.9 oder höher.
++ - libjpeg
++ - libtiff 3.6.0+
++ - libxml2 2.6+.
++ - Podofo 0.9 oder höher – wird vom AI-Importfilter benötigt.
++ - Python und Python-devel 3.3+. Python 3.2 wird nicht unterstützt.
++ - Python-imaging für einige Funktionen des Scripters.
++ - tkinter – für das »Font Sampler«- und das »Calendar Wizard«-Script.
++ - openssl-devel (einige Linux-Distributionen, insbesondere OpenSUSE, ermöglichen SSL-Unterstützung für CUPS)
+
+ Optional:
+
+-- antiword – benötigt für dem Import von MS-Word-Dateien, ist aber unnötig beim Kompilieren. Scribus wird ein installiertes Antiword später automatisch finden.
+-- Um Renderrahmen verwenden zu können, benötigen Sie zusätzliche Programme wie LaTeX oder Lilypond.
++ - antiword – benötigt für dem Import von MS-Word-Dateien, ist aber unnötig beim Kompilieren. Scribus wird ein installiertes Antiword später automatisch finden.
++ - Um Renderrahmen verwenden zu können, benötigen Sie zusätzliche Programme wie LaTeX oder Lilypond.
+
+ Scribus läuft in jeder Desktopumgebung und benötigt kein KDE, aber Drag’n’drop funktioniert nur in KDE.
+ Falls das Farbmanagement nicht funktioniert, müssen Sie zusätzlich mindestens ein RGB- und ein CMYK-Profil installieren. Anderenfalls werden die Farbmanagement-Optionen ausgeblendet oder ausgegraut. Normalerweise installiert Scribus ein RGB- and ein CMYK-Profil, und zwar nur, um das Farbmanagement zu aktivieren, aber aufgrund ihrer Lizenzpolitik (v.a. Debian) befinden sich die Profile u.U. in einem separaten Paket.
+diff --git a/doc/de/scripter1.html b/doc/de/scripter1.html
+index c3acdd06c0..78fba55d9a 100644
+--- a/doc/de/scripter1.html
++++ b/doc/de/scripter1.html
+@@ -14,6 +14,9 @@ Overview
+
+ Note that additions to the Scripter are being made frequently, which means that the available documentation may be incomplete.
+
++Scripter and Windows
++If you installed your Windows version of Scribus using the installer at Sourceforge, the installation includes Python 3.7 in a directory labeled python\. This will suffice for most uses. You may find or write some Python script which requires an additional Python package not included, and there is no way to add these to the Scribus directory. Chances are, your system is not even aware of this Python.
++Should you need to use some additional packages, the answer comes from installing Python 3.7 on your system, then also the desired additional packages. The next and important step is to use a file manager to go to C:\Program Files\Scribus 1.5.6\ and look for a directory named python\. Simply rename this to anything else, such as oldpython\, and the next time Scribus starts, it will use the system Python and its packages.
+
+ Using the Plug-in
+ Scribus is being shipped with some “hard-wired” scripts, which are available via Scripter > Scribus Scripts:
+diff --git a/doc/en/install2.html b/doc/en/install2.html
+index a02c4a771f..7762b5d8a6 100644
+--- a/doc/en/install2.html
++++ b/doc/en/install2.html
+@@ -10,32 +10,32 @@
+ Requirements
+ The programs you will need to compile Scribus 1.4 are:
+
+- - For Scribus 1.4.x GCC 3.x+ is required, GCC 3.3+ is strongly recommended. The Scribus Team has tested compiling with GCC 4.1+. We recommend the newest stable GCC 4.x release for the performance benefits.
+- - CMake
++ - For Scribus 1.5.x GCC 4.8+ is required, GCC 7+ is strongly recommended. We recommend the newest stable GCC release for the performance benefits.
++ - CMake 3.12+
+ - GNU make
+
+ The dependencies for compilation, and also to run Scribus are:
+
+-- Qt 4.6.0+, both the runtime libraries and development libraries.
+-- Python and Python-devel libraries 2.3+. Python 2.2 is not supported.
+-- Freetype2 2.1.7+. Due to various freetype2 bugs, we recommend, if your distribution/OS allows, to use 2.3.x
+-- Cairo 1.4.x. We recommend 1.4.10 or later for performance reasons.
+-- libxml2 2.6+.
+-- Ghostscript 8.60+ is highly recommended.
+-- littleCMS – also known as lcms in some distributions. The minimum is 1.12, whereas 1.17+ is recommended. lcms 1.12+ has support for black point compensation.
+-- libtiff 3.6.0+
+-- libjpeg
+-- CUPS development libraries – Scribus directly supports printing with CUPS. (Linux/UNIX/Mac OS X only).
+-- tkinter – for the Font Sampler and Calendar Wizard scripts.
+-- Python-imaging libaries for some scripting features.
+-- openssl-devel (Some Linux distributions enable ssl support for CUPS, notably OpenSUSE)
+-- fontconfig-devel – for auto discovery of fonts on Linux, Mac OS X and UNIX. Not needed on Windows, OS/2 and eComStation.
+-- Podofo 0.6 or later – used to enhance the Adobe Illustrator importer.
++ - Qt 5.10.0+, both the runtime libraries and development libraries.
++ - Cairo 1.14.x. We recommend 1.16.x.
++ - CUPS development libraries – Scribus directly supports printing with CUPS. (Linux/UNIX/Mac OS X only).
++ - fontconfig-devel – for auto discovery of fonts on Linux, Mac OS X and UNIX. Not needed on Windows, OS/2 and eComStation.
++ - Freetype2 2.1.7+. Due to various freetype2 bugs, we recommend, if your distribution/OS allows, to use 2.3.x
++ - Ghostscript 9.0+ is highly recommended.
++ - littleCMS – also known as lcms in some distributions. The minimum is 2.1, whereas 2.9+ is recommended..
++ - libjpeg
++ - libtiff 3.6.0+
++ - libxml2 2.6+.
++ - Podofo 0.9 or later – used to enhance the Adobe Illustrator importer.
++ - Python and Python-devel libraries 3.3+. Python 3.2 is not supported.
++ - Python-imaging libaries for some scripting features.
++ - tkinter – for the Font Sampler and Calendar Wizard scripts.
++ - openssl-devel (Some Linux distributions enable ssl support for CUPS, notably OpenSUSE)
+
+ Optionally:
+
+-- antiword – this is not needed at compile time for MS Word import. Scribus will detect this at run time however.
+-- To use Render Frames, you need additional programs, like LaTeX or Lilypond.
++ - antiword – this is not needed at compile time for MS Word import. Scribus will detect this at run time however.
++ - To use Render Frames, you need additional programs, like LaTeX or Lilypond.
+
+ Scribus will run under almost any window manager and does not require KDE. However, drag and drop functionality will be lost without KDE.
+ If color management does not work, you also need at least one RGB profile and one CMYK profile installed or the color preferences and options will not appear in the menus. Scribus installs one RGB and one CMYK profile simply to enable color management, but some distributions, notably Debian, provide ICC profiles in separate packages, due to their licensing policy.
+diff --git a/doc/en/scripter1.html b/doc/en/scripter1.html
+index 922e0cf9f6..78fba55d9a 100644
+--- a/doc/en/scripter1.html
++++ b/doc/en/scripter1.html
+@@ -15,8 +15,8 @@ Overview
+ Note that additions to the Scripter are being made frequently, which means that the available documentation may be incomplete.
+
+ Scripter and Windows
+-If you installed your Windows version of Scribus using the installer at Sourceforge, the installation includes Python2.7 in a directory labeled python\. This will suffice for most uses. You may find or write some Python script which requires an additional Python package not included, and there is no way to add these to the Scribus directory. Chances are, your system is not even aware of this Python.
+-Should you need to use some additional packages, the answer comes from installing Python27 on your system, then also the desired additional packages. The next and important step is to use a file manager to go to C:\Program Files\Scribus 1.5.3\ and look for a directory named python\. Simply rename this to anything else, such as oldpython\, and the next time Scribus starts, it will use the system Python and its packages.
++If you installed your Windows version of Scribus using the installer at Sourceforge, the installation includes Python 3.7 in a directory labeled python\. This will suffice for most uses. You may find or write some Python script which requires an additional Python package not included, and there is no way to add these to the Scribus directory. Chances are, your system is not even aware of this Python.
++Should you need to use some additional packages, the answer comes from installing Python 3.7 on your system, then also the desired additional packages. The next and important step is to use a file manager to go to C:\Program Files\Scribus 1.5.6\ and look for a directory named python\. Simply rename this to anything else, such as oldpython\, and the next time Scribus starts, it will use the system Python and its packages.
+
+ Using the Plug-in
+ Scribus is being shipped with some “hard-wired” scripts, which are available via Scripter > Scribus Scripts:
+diff --git a/doc/fr/install2.html b/doc/fr/install2.html
+index 1ff30ec699..8e802dd172 100644
+--- a/doc/fr/install2.html
++++ b/doc/fr/install2.html
+@@ -7,19 +7,24 @@
+ Éléments requis
+ Pour compiler Scribus, vous aurez besoin de :
+
+- - Pour Scribus 1.3.x+ GCC 3.x+ est requis, GCC 3.3+ est fortement recommandé. L'équipe de Scribus a testé la compilation avec GCC 3.4 ou GCC 4.0 et recommande de l'utiliser, s'il est disponible, pour les gains de performance obtenus.
+- - autoconf 2.53+
+- - automake 1.6.3+
++ - Pour Scribus 1.5.x+ GCC 4.8+ est requis, GCC 7+ est fortement recommandé. L'équipe de Scribus recommande de l'utiliser la dernière release de GGC en raison des gains de performance obtenus.
++ - CMake 3.12+
++ - GNU make
+
+ Les dépendances pour la compilation et pour exécuter Scribus sont:
+
+- - Qt 3.3.0+, les librairies d'exécution et les libraires de développement. Nous recommandons d'utiliser Qt 3.3.4+. Qt =< 3.2.x n'est pas supporté.
+- - Les librairies Python et python-devel 2.3+. Vous pouvez désactiver le support Python à l'aide de
configure --without-python
. Python 2.2 n'est pas supporté.
+- - Freetype2 2.1.3+. À cause de nombreux problèmes de freetype2, nous recommandons, si votre distribution/système d'exploitation le permet, d'utiliser 2.1.10+
+- - libart_lgpl 2.3.10+, 2.3.17+ recommandé.
+- - libxml 2.6+.
+- - Ghostscript 7.07+ ou GPL Ghostscript 8.57+ est hautement recommandé.
+- - PostScript-Fonts. TrueType Fonts. Scribus supporte également les polices OpenType, TrueType et Type 1 Outline OpenType Fonts dans 1.1.1+.
++ - Qt 5.10.0+, les librairies d'exécution et les libraires de développement. Nous recommandons d'utiliser Qt 5.12.0+.
++ - Cairo 1.14.x. Nous recommandons 1.16.x ou ultérieur.
++ - Les librairies de développement CUPS - Scribus supporte maintenant directement l'impression avec CUPS. (Linux/UNIX/Mac OS X uniquement)
++ - fontconfig-devel - pour la découverte automatique des polices sous Linux, MacOSX et Unix. Pas nécessaire sous Windows.
++ - Freetype2 2.1.7+. À cause de nombreux problèmes de freetype2, nous recommandons, si votre distribution/système d'exploitation le permet, d'utiliser 2.1.10+
++ - Ghostscript 9.00+ est hautement recommandé.
++ - Littlecms - aussi connu comme lcms dans certaines distributions. Minimum 2.1, 2.9+ recommandé.
++ - libjpeg
++ - libtiff 3.6.0+
++ - libxml2 2.6+.
++ - Podofo 0.9 ou ultérieur. Utilisé pour améliorer l'import des fichiers Adobe Illustrator.
++ - Les librairies Python et python-devel 3.3+. Python 3.2 n'est pas supporté.
+
+ Scribus s'exécutera sous la plupart des gestionnaires de fenêtres et ne requiert pas KDE en soi. Cependant, les fonctionnalités de glisser-déposer seront perdues sans KDE. Un des développeurs de Scribus roule sous Gnome. L'auteur de cette documentation s'est astreint à tester chaque version de Scribus sous Blackbox également.
+ L'opération n'a révélé aucune incompatibilité ni problème, mise à part la perte de la fonctionnalité glisser-déposer.
+@@ -32,13 +37,10 @@ Éléments requis
+ pour des options détaillées
+ Optionnellement :
+
+-- Les librairies de développement CUPS - Scribus supporte maintenant directement l'impression avec CUPS.
+-- Les librairies de développement Gimp Print - Scribus supporte maintenant l'extension Gimp Print avec CUPS.
+-- Littlecms - aussi connu comme lcms dans certaines distributions. Minimum 1.12, 1.16+ recommandé. lcms 1.12+ supporte la génération du point noir.
+-- tkinter - pour le script d'échantillonnage de police
+-- Les librairies python-imaging pour l'aperçu du script d'échantillonage de police
+-- openssl-devel (Certaines distributions activent le support ssl pour CUPS, notamment Suse Linux)
+-- fontconfig-devel - pour la découverte automatique des polices sous Linux, MacOSX et Unix. Pas nécessaire sous Windows.
++ - Les librairies de développement Gimp Print - Scribus supporte maintenant l'extension Gimp Print avec CUPS.
++ - tkinter - pour le script d'échantillonnage de police
++ - Les librairies python-imaging pour l'aperçu du script d'échantillonage de police
++ - openssl-devel (Certaines distributions activent le support ssl pour CUPS, notamment Suse Linux)
+
+
+