From 33026725dbee19475106e70cb35ed19d4e2e1e7d Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Wed, 30 May 2018 21:38:01 +1000 Subject: [PATCH] Scribus: fix build with Qt 5.11 * Fix settings dir for haiku --- .../scribus/patches/scribus-1.5.2.patchset | 316 +++++++++- .../scribus/patches/scribus-1.5.3.patchset | 558 ------------------ .../patches/scribus_python_disable.patch | 54 -- app-office/scribus/scribus-1.5.2.recipe | 9 +- 4 files changed, 313 insertions(+), 624 deletions(-) delete mode 100644 app-office/scribus/patches/scribus-1.5.3.patchset delete mode 100644 app-office/scribus/patches/scribus_python_disable.patch diff --git a/app-office/scribus/patches/scribus-1.5.2.patchset b/app-office/scribus/patches/scribus-1.5.2.patchset index 6aebc63b1..33f4117da 100644 --- a/app-office/scribus/patches/scribus-1.5.2.patchset +++ b/app-office/scribus/patches/scribus-1.5.2.patchset @@ -1,4 +1,4 @@ -From a5a203dff83cde11754037ec038f3ff5f0c76908 Mon Sep 17 00:00:00 2001 +From 18ff6e4d04f0eb198dad55441672c89d53ed9d95 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Thu, 3 May 2018 21:03:11 +1000 Subject: Fix build for Haiku @@ -79,10 +79,10 @@ index 04d07b0..1b636c7 100644 char **messages = ( char ** ) NULL; int i, trace_size = 0; -- -2.16.2 +2.16.4 -From f2cd2e7bc492e588f49e5c790e2bfffcfdf2e717 Mon Sep 17 00:00:00 2001 +From 6e675d9ee89a1971f51953a50e85a51ba9caad0c Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Fri, 4 May 2018 21:51:22 +1000 Subject: Add support new versions of poppler. Backport pdf import plugin from @@ -991,10 +991,10 @@ index e9cf029..df36b4c 100644 } else -- -2.16.2 +2.16.4 -From d676ca5641346bf1f7cb7cf7dcaa6333467f4809 Mon Sep 17 00:00:00 2001 +From 6a016193dec1443802adf67d27bccbe7bf098dc5 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Fri, 4 May 2018 23:19:34 +1000 Subject: Fix hunspell detection @@ -1014,5 +1014,309 @@ index ecd4776..034c46a 100644 INCLUDE(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set HUNSPELL_FOUND to TRUE -- -2.16.2 +2.16.4 + + +From 6af5c6598b91bcfe449c1c7b785fd1ce2f6787ff Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com.org> +Date: Wed, 30 May 2018 19:15:11 +1000 +Subject: Disable python and scriptplugin + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ef8100..a361806 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -710,7 +710,7 @@ ENDIF(TIFF_FOUND) + + #<< PYTHON + #SET(PythonLibs_FIND_VERSION 2) +-FIND_PACKAGE(PythonLibs 2 REQUIRED) ++FIND_PACKAGE(PythonLibs 2) + IF (PYTHON_LIBRARY) + MESSAGE("Python Library Found OK") + SET(HAVE_PYTHON 1) +diff --git a/scribus/CMakeLists.txt b/scribus/CMakeLists.txt +index 718b6ee..64e10b3 100644 +--- a/scribus/CMakeLists.txt ++++ b/scribus/CMakeLists.txt +@@ -1216,7 +1216,7 @@ TARGET_LINK_LIBRARIES(${EXE_NAME} + ${FREETYPE_LIBRARIES} + ${FONTCONFIG_LIBRARIES} + ${LIBXML2_LIBRARIES} +- ${PYTHON_LIBRARIES} ++# ${PYTHON_LIBRARIES} + ${TIFF_LIBRARIES} + ${JPEG_LIBRARIES} + ${ZLIB_LIBRARIES} +diff --git a/scribus/plugins/CMakeLists.txt b/scribus/plugins/CMakeLists.txt +index 733acc1..3e3d444 100644 +--- a/scribus/plugins/CMakeLists.txt ++++ b/scribus/plugins/CMakeLists.txt +@@ -11,12 +11,12 @@ IF(NOT WANT_SCRIPTER2) + #scripter1 + IF(NOT WIN32) + MESSAGE(STATUS "Building with Scripter 1") +- ADD_SUBDIRECTORY(scriptplugin) ++# ADD_SUBDIRECTORY(scriptplugin) + ENDIF(NOT WIN32) + ELSE(NOT WANT_SCRIPTER2) + #scripter2 + MESSAGE(STATUS "Building with Scripter 2") +- ADD_SUBDIRECTORY(scripter) ++# ADD_SUBDIRECTORY(scripter) + ENDIF(NOT WANT_SCRIPTER2) + ADD_SUBDIRECTORY(short-words) + ADD_SUBDIRECTORY(tools) +-- +2.16.4 + + +From b4676051b924fed87336cce6042f81f3c0696063 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 30 May 2018 20:07:35 +1000 +Subject: Fix build with Qt 5.11 (missing headers) + + +diff --git a/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.cpp b/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.cpp +index 3f0d916..3ea32dc 100644 +--- a/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.cpp ++++ b/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.cpp +@@ -26,17 +26,20 @@ for which a new license (GPL+exception) is in place. + + #include "meshdistortiondialog.h" + +-#include + #include ++#include ++#include ++#include ++#include + + #include "commonstrings.h" + #include "fpointarray.h" ++#include "iconmanager.h" + #include "pageitem.h" + #include "pageitem_group.h" + #include "sccolorengine.h" + #include "scpattern.h" + #include "selection.h" +-#include "iconmanager.h" + #include "util_math.h" + + NodeItem::NodeItem(QRectF geom, uint num, MeshDistortionDialog *parent) : QGraphicsEllipseItem(geom) +diff --git a/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.h b/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.h +index 7ea05f8..2baa96b 100644 +--- a/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.h ++++ b/scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.h +@@ -31,13 +31,11 @@ for which a new license (GPL+exception) is in place. + #include + #include + #include +-#include +-#include ++ + #include "ui_meshdistortiondialog.h" + #include "pluginapi.h" + #include "scribusdoc.h" + +- + #if defined(_MSC_VER) && !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +@@ -54,14 +52,19 @@ for which a new license (GPL+exception) is in place. + #include "third_party/lib2geom/transforms.h" + #include "third_party/lib2geom/scribushelper.h" + #include ++ + //using namespace Geom; + class MeshDistortionDialog; ++class QGraphicsSceneHoverEvent; ++class QGraphicsSceneMouseEvent; ++class QStyleOptionGraphicsItem; + + class PLUGIN_API NodeItem : public QGraphicsEllipseItem + { + public: + NodeItem(QRectF geom, uint num, MeshDistortionDialog *parent); + ~NodeItem() {}; ++ + void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget); + uint handle; + bool mouseMoving; +@@ -84,6 +87,7 @@ class PLUGIN_API MeshDistortionDialog : public QDialog, Ui::MeshDistortionDialog + public: + MeshDistortionDialog(QWidget* parent, ScribusDoc *doc); + ~MeshDistortionDialog() {}; ++ + void addItemsToScene(Selection* itemSelection, ScribusDoc *doc, QGraphicsPathItem* parentItem, PageItem* parent); + void adjustHandles(); + void updateMesh(bool gridOnly); +diff --git a/scribus/plugins/tools/lenseffects/lensdialog.cpp b/scribus/plugins/tools/lenseffects/lensdialog.cpp +index cfabc40..f5d6981 100644 +--- a/scribus/plugins/tools/lenseffects/lensdialog.cpp ++++ b/scribus/plugins/tools/lenseffects/lensdialog.cpp +@@ -25,14 +25,20 @@ for which a new license (GPL+exception) is in place. + ***************************************************************************/ + + #include "lensdialog.h" ++ + #include ++ ++#include ++#include + #include ++#include ++ ++#include "commonstrings.h" + #include "iconmanager.h" +-#include "selection.h" ++#include "pageitem_group.h" + #include "sccolorengine.h" + #include "scpattern.h" +-#include "commonstrings.h" +-#include "pageitem_group.h" ++#include "selection.h" + + LensItem::LensItem(QRectF geom, LensDialog *parent) : QGraphicsRectItem(geom) + { +diff --git a/scribus/plugins/tools/lenseffects/lensdialog.h b/scribus/plugins/tools/lenseffects/lensdialog.h +index 4352ec2..213e53b 100644 +--- a/scribus/plugins/tools/lenseffects/lensdialog.h ++++ b/scribus/plugins/tools/lenseffects/lensdialog.h +@@ -33,19 +33,22 @@ for which a new license (GPL+exception) is in place. + #include + #include + #include +-#include +-#include ++ + #include "ui_lensdialogbase.h" + #include "pluginapi.h" + #include "scribusdoc.h" + + class LensDialog; ++class QGraphicsSceneHoverEvent; ++class QGraphicsSceneMouseEvent; ++class QStyleOptionGraphicsItem; + + class PLUGIN_API LensItem : public QGraphicsRectItem + { + public: + LensItem(QRectF geom, LensDialog *parent); + ~LensItem() {}; ++ + void setStrength(double s); + void updateEffect(); + QPainterPath lensDeform(const QPainterPath &source, const QPointF &offset, double m_radius, double s); +@@ -54,6 +57,7 @@ public: + double scaling; + int handle; + QPointF mousePoint; ++ + protected: + QVariant itemChange(GraphicsItemChange change, const QVariant &value); + void mousePressEvent(QGraphicsSceneMouseEvent *event); +@@ -72,6 +76,7 @@ class PLUGIN_API LensDialog : public QDialog, Ui::LensDialogBase + public: + LensDialog(QWidget* parent, ScribusDoc *doc); + ~LensDialog() {}; ++ + void addItemsToScene(Selection* itemSelection, ScribusDoc *doc, QGraphicsPathItem* parentItem, PageItem* parent); + void lensSelected(LensItem *item); + void setLensPositionValues(QPointF p); +diff --git a/scribus/sclistboxpixmap.h b/scribus/sclistboxpixmap.h +index 044d45a..789bf04 100644 +--- a/scribus/sclistboxpixmap.h ++++ b/scribus/sclistboxpixmap.h +@@ -9,10 +9,13 @@ for which a new license (GPL+exception) is in place. + + #include + ++#include + #include + #include + #include + #include ++#include ++#include + #include + + #include "scguardedptr.h" +-- +2.16.4 + + +From 55dad3289a6ffc4c2979b3553255e26e2bc20cc1 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 30 May 2018 20:44:58 +1000 +Subject: Add paths for Haiku + + +diff --git a/scribus/scpaths.cpp b/scribus/scpaths.cpp +index 9aa902c..7a0b19e 100644 +--- a/scribus/scpaths.cpp ++++ b/scribus/scpaths.cpp +@@ -258,6 +258,8 @@ QStringList ScPaths::spellDirs() const + QString linuxHunspellPath("/usr/share/hunspell/"); + QString linuxMyspellPath("/usr/share/myspell/"); + QString windowsLOPath("LibreOffice 3.5/share/extensions"); ++ QString haikuSystemHunspellPath("/system/data/hunspell/"); ++ QString haikuUserHunspellPath("/boot/home/config/non-packaged/data/hunspell/"); + QDir d; + QStringList spellDirs; + spellDirs.append(getUserDictDir(ScPaths::Spell, false)); +@@ -309,6 +311,13 @@ QStringList ScPaths::spellDirs() const + d.setPath(linuxLocalPath); + if (d.exists()) + spellDirs.append(linuxLocalPath); ++#elif defined(Q_OS_HAIKU) ++ d.setPath(haikuSystemHunspellPath); ++ if (d.exists()) ++ spellDirs.append(haikuSystemHunspellPath); ++ d.setPath(haikuUserHunspellPath); ++ if (d.exists()) ++ spellDirs.append(haikuUserHunspellPath); + #endif + return spellDirs; + } +@@ -325,6 +334,9 @@ QStringList ScPaths::hyphDirs() const + QString linuxMyspellPath("/usr/share/myspell/"); + QString linuxHyphen1Path("/usr/share/hyphen/"); + QString windowsLOPath("LibreOffice 3.5/share/extensions"); ++ QString haikuSystemHyphenPath("/system/data/hyphen/"); ++ QString haikuSystemHunspellPath("/system/data/hunspell/"); ++ QString haikuUserHunspellPath("/boot/home/config/non-packaged/data/hunspell/"); + QDir d; + QStringList hyphDirs; + hyphDirs.append(getUserDictDir(ScPaths::Hyph, false)); +@@ -379,6 +391,16 @@ QStringList ScPaths::hyphDirs() const + d.setPath(linuxLocalPath); + if (d.exists()) + hyphDirs.append(linuxLocalPath); ++#elif defined(Q_OS_HAIKU) ++ d.setPath(haikuSystemHyphenPath); ++ if (d.exists()) ++ hyphDirs.append(haikuSystemHyphenPath); ++ d.setPath(haikuSystemHunspellPath); ++ if (d.exists()) ++ hyphDirs.append(haikuSystemHunspellPath); ++ d.setPath(haikuUserHunspellPath); ++ if (d.exists()) ++ hyphDirs.append(haikuUserHunspellPath); + #endif + return hyphDirs; + } +@@ -393,6 +415,9 @@ QStringList ScPaths::getSystemFontDirs(void) + fontDirs.append("/System/Library/Fonts/"); + #elif defined(_WIN32) + fontDirs.append( getSpecialDir(CSIDL_FONTS) ); ++#elif defined(Q_OS_HAIKU) ++ fontDirs.append("/system/data/fonts/ttfonts"); ++ fontDirs.append("/boot/home/config/non-packaged/data/fonts"); + #endif + return fontDirs; + } +-- +2.16.4 diff --git a/app-office/scribus/patches/scribus-1.5.3.patchset b/app-office/scribus/patches/scribus-1.5.3.patchset deleted file mode 100644 index d965bec32..000000000 --- a/app-office/scribus/patches/scribus-1.5.3.patchset +++ /dev/null @@ -1,558 +0,0 @@ -From 5436dcca6d10e601b18e79e77d5230aa1f459cd9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= -Date: Tue, 30 May 2017 00:34:09 +0200 -Subject: Scribus: build fix - - -diff --git a/scribus/scpaths.cpp b/scribus/scpaths.cpp -index 892d0bb..f63d685 100644 ---- a/scribus/scpaths.cpp -+++ b/scribus/scpaths.cpp -@@ -15,6 +15,10 @@ for which a new license (GPL+exception) is in place. - #include "scconfig.h" - #include "scribusapp.h" - -+#ifndef prefsDir -+QString prefsDir; -+#endif -+ - extern ScribusQApp* ScQApp; - - // On Qt/Mac we need CoreFoundation to discover the location --- -2.14.2 - - -From cdcedd815f29d50770bc46d59a732eea3d20c3e7 Mon Sep 17 00:00:00 2001 -From: Jean Ghali -Date: Fri, 8 Sep 2017 16:52:10 +0000 -Subject: #14979: poppler-0.58 breaks build - -git-svn-id: svn://scribus.net/trunk/Scribus@22154 11d20701-8431-0410-a711-e3c959e3b870 - -diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp -index e785431..5b9bd97 100644 ---- a/scribus/plugins/import/pdf/importpdf.cpp -+++ b/scribus/plugins/import/pdf/importpdf.cpp -@@ -22,6 +22,7 @@ for which a new license (GPL+exception) is in place. - #include - #include - #include -+#include - #include - #include - -@@ -59,6 +60,12 @@ for which a new license (GPL+exception) is in place. - #include "ui/multiprogressdialog.h" - #include "ui/propertiespalette.h" - -+#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \ -+ ((major) * 10000) \ -+ + ((minor) * 100) \ -+ + ((micro) * 1)) -+#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO) -+ - PdfPlug::PdfPlug(ScribusDoc* doc, int flags) - { - tmpSele = new Selection(this, false); -@@ -507,12 +514,20 @@ bool PdfPlug::convert(const QString& fn) - { - for (int i = 0; i < order->getLength (); ++i) - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object orderItem = order->get(i); -+#else - Object orderItem; - order->get(i, &orderItem); -+#endif - if (orderItem.isDict()) - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object ref = order->getNF(i); -+#else - Object ref; - order->getNF(i, &ref); -+#endif - if (ref.isRef()) - { - OptionalContentGroup *oc = ocg->findOcgByRef(ref.getRef()); -@@ -523,7 +538,9 @@ bool PdfPlug::convert(const QString& fn) - ocgNames.append(ocgName); - } - } -+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0) - ref.free(); -+#endif - } - else - { -@@ -597,39 +614,71 @@ bool PdfPlug::convert(const QString& fn) - dev->layersSetByOCG = true; - } - #endif -+ -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object info = pdfDoc->getDocInfo(); -+ if (info.isDict()) -+ { -+ Object obj; -+ Dict *infoDict = info.getDict(); -+ obj = infoDict->lookup((char*) "Title"); -+ if (obj.isString()) -+ { -+ m_Doc->documentInfo().setTitle(UnicodeParsedString(obj.getString())); -+ } -+ obj = infoDict->lookup((char*) "Author"); -+ if (obj.isString()) -+ { -+ m_Doc->documentInfo().setAuthor(UnicodeParsedString(obj.getString())); -+ } -+ obj = infoDict->lookup((char*) "Subject"); -+ if (obj.isString()) -+ { -+ m_Doc->documentInfo().setSubject(UnicodeParsedString(obj.getString())); -+ } -+ obj = infoDict->lookup((char*) "Keywords"); -+ if (obj.isString()) -+ { -+ // s1 = obj.getString(); -+ m_Doc->documentInfo().setKeywords(UnicodeParsedString(obj.getString())); -+ } -+ } -+ info = Object(); -+#else - Object info; - pdfDoc->getDocInfo(&info); - if (info.isDict()) - { - Object obj; -- // GooString *s1; -+ // GooString *s1; - Dict *infoDict = info.getDict(); -- if (infoDict->lookup((char*)"Title", &obj )->isString()) -+ if (infoDict->lookup((char*)"Title", &obj)->isString()) - { -- // s1 = obj.getString(); -+ // s1 = obj.getString(); - m_Doc->documentInfo().setTitle(UnicodeParsedString(obj.getString())); - obj.free(); - } -- if (infoDict->lookup((char*)"Author", &obj )->isString()) -+ if (infoDict->lookup((char*)"Author", &obj)->isString()) - { -- // s1 = obj.getString(); -+ // s1 = obj.getString(); - m_Doc->documentInfo().setAuthor(UnicodeParsedString(obj.getString())); - obj.free(); - } -- if (infoDict->lookup((char*)"Subject", &obj )->isString()) -+ if (infoDict->lookup((char*)"Subject", &obj)->isString()) - { -- // s1 = obj.getString(); -+ // s1 = obj.getString(); - m_Doc->documentInfo().setSubject(UnicodeParsedString(obj.getString())); - obj.free(); - } -- if (infoDict->lookup((char*)"Keywords", &obj )->isString()) -+ if (infoDict->lookup((char*)"Keywords", &obj)->isString()) - { -- // s1 = obj.getString(); -+ // s1 = obj.getString(); - m_Doc->documentInfo().setKeywords(UnicodeParsedString(obj.getString())); - obj.free(); - } - } - info.free(); -+#endif - if (cropped) - { - QRectF crBox = getCBox(contentRect, pageNs[0]); -@@ -745,8 +794,13 @@ bool PdfPlug::convert(const QString& fn) - pdfDoc->displayPage(dev, pp, hDPI, vDPI, rotate, useMediaBox, crop, printing, NULL, NULL, dev->annotations_callback, dev); - } - PDFPresentationData ef; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object trans = pdfDoc->getPage(pp)->getTrans(); -+ Object *transi = &trans; -+#else - Object trans; - Object *transi = pdfDoc->getPage(pp)->getTrans(&trans); -+#endif - if (transi->isDict()) - { - m_Doc->pdfOptions().PresentMode = true; -@@ -792,32 +846,51 @@ bool PdfPlug::convert(const QString& fn) - delete pgTrans; - } - m_Doc->currentPage()->PresentVals = ef; -+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0) - trans.free(); - transi->free(); -+#endif - } - int numjs = pdfDoc->getCatalog()->numJS(); - if (numjs > 0) - { - NameTree *jsNameTreeP = new NameTree(); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object catDict = pdfDoc->getXRef()->getCatalog(); -+#else - Object catDict; - pdfDoc->getXRef()->getCatalog(&catDict); -+#endif - if (catDict.isDict()) - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object names = catDict.dictLookup("Names"); -+#else - Object names; - catDict.dictLookup("Names", &names); -+#endif - if (names.isDict()) - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object obj = names.dictLookup("JavaScript"); -+ jsNameTreeP->init(pdfDoc->getXRef(), &obj); -+#else - Object obj; - names.dictLookup("JavaScript", &obj); - jsNameTreeP->init(pdfDoc->getXRef(), &obj); - obj.free(); -+#endif - } - for (int a = 0; a < numjs; a++) - { - m_Doc->JavaScripts.insert(UnicodeParsedString(jsNameTreeP->getName(a)), UnicodeParsedString(pdfDoc->getCatalog()->getJS(a))); - } -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ names = catDict.dictLookup("OpenAction"); -+#else - names.free(); - catDict.dictLookup("OpenAction", &names); -+#endif - if (names.isDict()) - { - LinkAction *linkAction = NULL; -@@ -838,9 +911,13 @@ bool PdfPlug::convert(const QString& fn) - } - } - } -+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0) - names.free(); -+#endif - } -+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0) - catDict.free(); -+#endif - delete jsNameTreeP; - } - m_Doc->pdfOptions().Version = (PDFOptions::PDFVersion)qMin(15, qMax(13, pdfDoc->getPDFMajorVersion() * 10 + pdfDoc->getPDFMinorVersion())); -diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp -index 32cfed1..df36b4c 100644 ---- a/scribus/plugins/import/pdf/slaoutput.cpp -+++ b/scribus/plugins/import/pdf/slaoutput.cpp -@@ -6,6 +6,7 @@ for which a new license (GPL+exception) is in place. - */ - - #include "slaoutput.h" -+#include - #include - #include - #include -@@ -19,11 +20,49 @@ for which a new license (GPL+exception) is in place. - #include "util_math.h" - #include - -+#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \ -+ ((major) * 10000) \ -+ + ((minor) * 100) \ -+ + ((micro) * 1)) -+#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO) -+ - LinkSubmitForm::LinkSubmitForm(Object *actionObj) - { - Object obj1, obj2, obj3; - fileName = NULL; - m_flags = 0; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ if (actionObj->isDict()) -+ { -+ obj1 = actionObj->dictLookup("F"); -+ if (!obj1.isNull()) -+ { -+ if (obj1.isDict()) -+ { -+ obj3 = obj1.dictLookup("FS"); -+ if (!obj3.isNull()) -+ { -+ if (obj3.isName()) -+ { -+ char *name = obj3.getName(); -+ if (!strcmp(name, "URL")) -+ { -+ obj2 = obj1.dictLookup("F"); -+ if (!obj2.isNull()) -+ fileName = obj2.getString()->copy(); -+ } -+ } -+ } -+ } -+ } -+ obj1 = actionObj->dictLookup("Flags"); -+ if (!obj1.isNull()) -+ { -+ if (obj1.isNum()) -+ m_flags = obj1.getInt(); -+ } -+ } -+#else - if (actionObj->isDict()) - { - if (!actionObj->dictLookup("F", &obj1)->isNull()) -@@ -54,6 +93,7 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj) - } - obj1.free(); - } -+#endif - } - - LinkSubmitForm::~LinkSubmitForm() -@@ -66,11 +106,25 @@ LinkImportData::LinkImportData(Object *actionObj) - { - Object obj1, obj3; - fileName = NULL; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ if (actionObj->isDict()) -+ { -+ obj1 = actionObj->dictLookup("F"); -+ if (!obj1.isNull()) -+ { -+ obj3 = getFileSpecNameForPlatform(&obj1); -+ if (!obj3.isNull()) -+ { -+ fileName = obj3.getString()->copy(); -+ } -+ } -+ } -+#else - if (actionObj->isDict()) - { - if (!actionObj->dictLookup("F", &obj1)->isNull()) - { -- if (getFileSpecNameForPlatform (&obj1, &obj3)) -+ if (getFileSpecNameForPlatform(&obj1, &obj3)) - { - fileName = obj3.getString()->copy(); - obj3.free(); -@@ -78,6 +132,7 @@ LinkImportData::LinkImportData(Object *actionObj) - } - obj1.free(); - } -+#endif - } - - LinkImportData::~LinkImportData() -@@ -256,6 +311,27 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano) - Object obj; - Ref refa = ano->getRef(); - Object additionalActions; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ obj = xref->fetch(refa.num, refa.gen); -+ if (obj.isDict()) -+ { -+ Dict* adic = obj.getDict(); -+ additionalActions = adic->lookupNF("A"); -+ Object additionalActionsObject = additionalActions.fetch(pdfDoc->getXRef()); -+ if (additionalActionsObject.isDict()) -+ { -+ Object actionObject = additionalActionsObject.dictLookup("S"); -+ if (actionObject.isName("ImportData")) -+ { -+ linkAction = new LinkImportData(&additionalActionsObject); -+ } -+ else if (actionObject.isName("SubmitForm")) -+ { -+ linkAction = new LinkSubmitForm(&additionalActionsObject); -+ } -+ } -+ } -+#else - Object *act = xref->fetch(refa.num, refa.gen, &obj); - if (act) - { -@@ -283,6 +359,7 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano) - } - } - obj.free(); -+#endif - return linkAction; - } - -@@ -293,6 +370,22 @@ LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *a - Object obj; - Ref refa = ano->getRef(); - Object additionalActions; -+ -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ obj = xref->fetch(refa.num, refa.gen); -+ if (obj.isDict()) -+ { -+ Dict* adic = obj.getDict(); -+ additionalActions = adic->lookupNF("AA"); -+ Object additionalActionsObject = additionalActions.fetch(pdfDoc->getXRef()); -+ if (additionalActionsObject.isDict()) -+ { -+ Object actionObject = additionalActionsObject.dictLookup(key); -+ if (actionObject.isDict()) -+ linkAction = LinkAction::parseAction(&actionObject, pdfDoc->getCatalog()->getBaseURI()); -+ } -+ } -+#else - Object *act = xref->fetch(refa.num, refa.gen, &obj); - if (act) - { -@@ -313,6 +406,7 @@ LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *a - } - } - obj.free(); -+#endif - return linkAction; - } - -@@ -838,6 +932,33 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, - { - Object obj1; - Ref refa = annota->getRef(); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ obj1 = xref->fetch(refa.num, refa.gen); -+ if (obj1.isDict()) -+ { -+ Dict* dict = obj1.getDict(); -+ Object obj2 = dict->lookup("Kids"); -+ //childs -+ if (obj2.isArray()) -+ { -+ // Load children -+ QList radList; -+ for (int i = 0; i < obj2.arrayGetLength(); i++) -+ { -+ Object childRef = obj2.arrayGetNF(i); -+ if (!childRef.isRef()) -+ continue; -+ Object childObj = obj2.arrayGet(i); -+ if (!childObj.isDict()) -+ continue; -+ const Ref ref = childRef.getRef(); -+ radList.append(ref.num); -+ } -+ QString tmTxt = UnicodeParsedString(annota->getName()); -+ m_radioMap.insert(tmTxt, radList); -+ } -+ } -+#else - Object *act = xref->fetch(refa.num, refa.gen, &obj1); - if (act && act->isDict()) - { -@@ -873,6 +994,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, - obj2.free(); - } - obj1.free(); -+#endif - } - return retVal; - } -@@ -3007,6 +3129,23 @@ void SlaOutputDev::beginMarkedContent(char *name, Object *dictRef) - } - else - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ dictObj = dictRef->fetch(xref); -+ if (!dictObj.isDict()) -+ return; -+ dict = dictObj.getDict(); -+ dictType = dict->lookup("Type"); -+ if (dictType.isName("OCG")) -+ { -+ oc = contentConfig->findOcgByRef(dictRef->getRef()); -+ if (oc) -+ { -+ // qDebug() << "Begin OCG Content with Name " << UnicodeParsedString(oc->getName()); -+ m_doc->setActiveLayer(UnicodeParsedString(oc->getName())); -+ mSte.ocgName = UnicodeParsedString(oc->getName()); -+ } -+ } -+#else - dictRef->fetch(xref, &dictObj); - if (!dictObj.isDict()) - { -@@ -3027,6 +3166,7 @@ void SlaOutputDev::beginMarkedContent(char *name, Object *dictRef) - } - dictType.free(); - dictObj.free(); -+#endif - } - } - m_mcStack.push(mSte); -@@ -3046,14 +3186,20 @@ void SlaOutputDev::beginMarkedContent(char *name, Dict *properties) - { - if (layersSetByOCG) - return; -- Object obj; - QString lName = QString("Layer_%1").arg(layerNum + 1); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ Object obj = properties->lookup((char*) "Title"); -+ if (obj.isString()) -+ lName = QString(obj.getString()->getCString()); -+#else -+ Object obj; - if (properties->lookup((char*)"Title", &obj)) - { - if (obj.isString()) - lName = QString(obj.getString()->getCString()); - obj.free(); - } -+#endif - for (ScLayers::iterator it = m_doc->Layers.begin(); it != m_doc->Layers.end(); ++it) - { - if (it->Name == lName) -@@ -3066,6 +3212,29 @@ void SlaOutputDev::beginMarkedContent(char *name, Dict *properties) - if (!firstLayer) - currentLayer = m_doc->addLayer(lName, true); - firstLayer = false; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0) -+ obj = properties->lookup((char*) "Visible"); -+ if (obj.isBool()) -+ m_doc->setLayerVisible(currentLayer, obj.getBool()); -+ obj = properties->lookup((char*) "Editable"); -+ if (obj.isBool()) -+ m_doc->setLayerLocked(currentLayer, !obj.getBool()); -+ obj = properties->lookup((char*) "Printed"); -+ if (obj.isBool()) -+ m_doc->setLayerPrintable(currentLayer, obj.getBool()); -+ obj = properties->lookup((char*)"Color"); -+ if (obj.isArray()) -+ { -+ Object obj1; -+ obj1 = obj.arrayGet(0); -+ int r = obj1.getNum() / 256; -+ obj1 = obj.arrayGet(1); -+ int g = obj1.getNum() / 256; -+ obj1 = obj.arrayGet(2); -+ int b = obj1.getNum() / 256; -+ m_doc->setLayerMarker(currentLayer, QColor(r, g, b)); -+ } -+#else - if (properties->lookup((char*)"Visible", &obj)) - { - if (obj.isBool()) -@@ -3102,6 +3271,7 @@ void SlaOutputDev::beginMarkedContent(char *name, Dict *properties) - } - obj.free(); - } -+#endif - } - } - } --- -2.14.2 - diff --git a/app-office/scribus/patches/scribus_python_disable.patch b/app-office/scribus/patches/scribus_python_disable.patch deleted file mode 100644 index 6b723a41f..000000000 --- a/app-office/scribus/patches/scribus_python_disable.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 365ad3f760d1a00c9bd02215de122b32099c16ef Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Tue, 8 May 2018 23:50:45 +1000 -Subject: Disable python scripting plugin - - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1ef8100..a361806 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -710,7 +710,7 @@ ENDIF(TIFF_FOUND) - - #<< PYTHON - #SET(PythonLibs_FIND_VERSION 2) --FIND_PACKAGE(PythonLibs 2 REQUIRED) -+FIND_PACKAGE(PythonLibs 2) - IF (PYTHON_LIBRARY) - MESSAGE("Python Library Found OK") - SET(HAVE_PYTHON 1) -diff --git a/scribus/CMakeLists.txt b/scribus/CMakeLists.txt -index 718b6ee..64e10b3 100644 ---- a/scribus/CMakeLists.txt -+++ b/scribus/CMakeLists.txt -@@ -1216,7 +1216,7 @@ TARGET_LINK_LIBRARIES(${EXE_NAME} - ${FREETYPE_LIBRARIES} - ${FONTCONFIG_LIBRARIES} - ${LIBXML2_LIBRARIES} -- ${PYTHON_LIBRARIES} -+# ${PYTHON_LIBRARIES} - ${TIFF_LIBRARIES} - ${JPEG_LIBRARIES} - ${ZLIB_LIBRARIES} -diff --git a/scribus/plugins/CMakeLists.txt b/scribus/plugins/CMakeLists.txt -index 733acc1..3e3d444 100644 ---- a/scribus/plugins/CMakeLists.txt -+++ b/scribus/plugins/CMakeLists.txt -@@ -11,12 +11,12 @@ IF(NOT WANT_SCRIPTER2) - #scripter1 - IF(NOT WIN32) - MESSAGE(STATUS "Building with Scripter 1") -- ADD_SUBDIRECTORY(scriptplugin) -+# ADD_SUBDIRECTORY(scriptplugin) - ENDIF(NOT WIN32) - ELSE(NOT WANT_SCRIPTER2) - #scripter2 - MESSAGE(STATUS "Building with Scripter 2") -- ADD_SUBDIRECTORY(scripter) -+# ADD_SUBDIRECTORY(scripter) - ENDIF(NOT WANT_SCRIPTER2) - ADD_SUBDIRECTORY(short-words) - ADD_SUBDIRECTORY(tools) --- -2.16.2 - diff --git a/app-office/scribus/scribus-1.5.2.recipe b/app-office/scribus/scribus-1.5.2.recipe index 56e1bf435..861686595 100644 --- a/app-office/scribus/scribus-1.5.2.recipe +++ b/app-office/scribus/scribus-1.5.2.recipe @@ -9,13 +9,10 @@ versatile PDF creation." HOMEPAGE="https://www.scribus.net" COPYRIGHT="2014-2017 Scribus Team" LICENSE="GNU GPL v2" -REVISION="5" +REVISION="6" SOURCE_URI="http://downloads.sourceforge.net/project/scribus/scribus-devel/$portVersion/scribus-$portVersion.tar.xz" CHECKSUM_SHA256="ec5eec23aeda655d3a761cffb85853dcd2ede3973b9e62a1b3c28bd1093c74f5" -PATCHES=" - scribus-$portVersion.patchset - scribus_python_disable.patch - " +PATCHES="scribus-$portVersion.patchset" ADDITIONAL_FILES="scribus.rdef.in" @@ -119,7 +116,7 @@ BUILD() -DPLUGINDIR=$appsDir/Scribus/plugins \ -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ -DSHAREDIR=$dataDir \ - -DAPPLICATION_DATA_DIR=$dataDir \ + -DAPPLICATION_DATA_DIR="config/settings/Scribus" \ -DWANT_DISTROBUILD=1 \ -DWANT_CPP11=1 \ -DLIB_SUFFIX="$secondaryArchSuffix"