Scribus: bump version

This commit is contained in:
Gerasim Troeglazov
2019-08-12 21:33:49 +10:00
parent 16e91af7e6
commit 393d18132f
4 changed files with 212 additions and 1047 deletions

View File

@@ -1,941 +0,0 @@
From f327995510c233822ae2b8751eea66cead967efe 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
Disable python and scriptplugin
Add paths for Haiku
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0862e48..3ac3c9c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -406,7 +406,7 @@ endif()
add_definitions(-DLIBDIR="${CMAKE_INSTALL_PREFIX}/${LIBDIR}")
#PLUGINS
-if(WIN32)
+if(WIN32 OR HAIKU)
set(PLUGINDIR "plugins")
else()
if (APPLEBUNDLE)
@@ -748,7 +748,7 @@ endif()
#<< 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)
@@ -931,7 +931,7 @@ pkg_check_modules(ICU REQUIRED icu-uc)
##############################################################################################################
########## Include Setup ##########
-TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
+#TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
if(HAVE_DLFCN_H)
diff --git a/scribus/CMakeLists.txt b/scribus/CMakeLists.txt
index e652850..357cb5f 100644
--- a/scribus/CMakeLists.txt
+++ b/scribus/CMakeLists.txt
@@ -1286,7 +1286,7 @@ target_link_libraries(${EXE_NAME}
${ICU_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 4debb04..9026eb1 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()
else()
#scripter2
message(STATUS "Building with Scripter 2")
- add_subdirectory(scripter)
+# add_subdirectory(scripter)
endif()
add_subdirectory(short-words)
add_subdirectory(tools)
diff --git a/scribus/scpaths.cpp b/scribus/scpaths.cpp
index c244d48..8de66dc 100644
--- a/scribus/scpaths.cpp
+++ b/scribus/scpaths.cpp
@@ -313,6 +313,15 @@ QStringList ScPaths::spellDirs() const
d.setPath(linuxLocalPath);
if (d.exists())
spellDirs.append(linuxLocalPath);
+#elif defined(Q_OS_HAIKU)
+ QString haikuSystemHunspellPath("/system/data/hunspell/");
+ QString haikuUserHunspellPath("/boot/home/config/non-packaged/data/hunspell/");
+ d.setPath(haikuSystemHunspellPath);
+ if (d.exists())
+ spellDirs.append(haikuSystemHunspellPath);
+ d.setPath(haikuUserHunspellPath);
+ if (d.exists())
+ spellDirs.append(haikuUserHunspellPath);
#endif
return spellDirs;
}
@@ -382,6 +391,19 @@ QStringList ScPaths::hyphDirs() const
d.setPath(linuxLocalPath);
if (d.exists())
hyphDirs.append(linuxLocalPath);
+#elif defined(Q_OS_HAIKU)
+ QString haikuSystemHyphenPath("/system/data/hyphen/");
+ QString haikuSystemHunspellPath("/system/data/hunspell/");
+ QString haikuUserHunspellPath("/boot/home/config/non-packaged/data/hunspell/");
+ 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;
}
@@ -396,6 +418,9 @@ QStringList ScPaths::systemFontDirs(void)
fontDirs.append("/System/Library/Fonts/");
#elif defined(_WIN32)
fontDirs.append( windowsSpecialDir(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;
}
diff --git a/scribus/third_party/pgf/PGFplatform.h b/scribus/third_party/pgf/PGFplatform.h
index c3e3ed0..5184be9 100644
--- a/scribus/third_party/pgf/PGFplatform.h
+++ b/scribus/third_party/pgf/PGFplatform.h
@@ -528,7 +528,7 @@ __inline OSError FileWrite(HANDLE hFile, int *count, void *buffPtr) {
}
__inline OSError GetFPos(HANDLE hFile, UINT64 *pos) {
- #ifdef __APPLE__
+ #if defined(__APPLE__) || defined(__HAIKU__)
off_t ret;
if ((ret = lseek(hFile, 0, SEEK_CUR)) == -1) {
return errno;
@@ -548,7 +548,7 @@ __inline OSError GetFPos(HANDLE hFile, UINT64 *pos) {
}
__inline OSError SetFPos(HANDLE hFile, int posMode, INT64 posOff) {
- #ifdef __APPLE__
+ #if defined(__APPLE__) || defined(__HAIKU__)
if ((lseek(hFile, (off_t)posOff, posMode)) == -1) {
return errno;
} else {
diff --git a/scribus/util_debug.cpp b/scribus/util_debug.cpp
index 483a7dc..228614b 100644
--- a/scribus/util_debug.cpp
+++ b/scribus/util_debug.cpp
@@ -51,7 +51,7 @@ void tDebug(QString message)
*/
void printBacktrace ( int nFrames )
{
-#if !defined(_WIN32) && !defined(Q_OS_MAC) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_FREEBSD)
+#if !defined(_WIN32) && !defined(Q_OS_MAC) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_HAIKU)
void ** trace = new void*[nFrames + 1];
char **messages = ( char ** ) NULL;
int i, trace_size = 0;
--
2.21.0
From baea04052f11243914763d6ca4ed54d114eb0759 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 3 May 2019 19:56:10 +0200
Subject: import poppler patchs from scribus team.
diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
index c180286..a2aa5a7 100644
--- a/scribus/plugins/import/pdf/importpdf.cpp
+++ b/scribus/plugins/import/pdf/importpdf.cpp
@@ -556,10 +556,21 @@ bool PdfPlug::convert(const QString& fn)
}
else
{
- GooList *ocgs;
- int i;
- ocgs = ocg->getOCGs ();
- for (i = 0; i < ocgs->getLength (); ++i)
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 69, 0)
+ const auto& ocgs = ocg->getOCGs ();
+ for (const auto& ocg : ocgs)
+ {
+ OptionalContentGroup *oc = ocg.second.get();
+ QString ocgName = UnicodeParsedString(oc->getName());
+ if (!ocgNames.contains(ocgName))
+ {
+ ocgGroups.prepend(oc);
+ ocgNames.append(ocgName);
+ }
+ }
+#else
+ GooList *ocgs = ocg->getOCGs ();
+ for (int i = 0; i < ocgs->getLength (); ++i)
{
OptionalContentGroup *oc = (OptionalContentGroup *)ocgs->get(i);
QString ocgName = UnicodeParsedString(oc->getName());
@@ -569,15 +580,27 @@ bool PdfPlug::convert(const QString& fn)
ocgNames.append(ocgName);
}
}
+#endif
}
}
}
else
{
- GooList *ocgs;
- int i;
- ocgs = ocg->getOCGs ();
- for (i = 0; i < ocgs->getLength (); ++i)
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 69, 0)
+ const auto& ocgs = ocg->getOCGs ();
+ for (const auto& ocg : ocgs)
+ {
+ OptionalContentGroup *oc = ocg.second.get();
+ QString ocgName = UnicodeParsedString(oc->getName());
+ if (!ocgNames.contains(ocgName))
+ {
+ ocgGroups.prepend(oc);
+ ocgNames.append(ocgName);
+ }
+ }
+#else
+ GooList *ocgs = ocg->getOCGs ();
+ for (int i = 0; i < ocgs->getLength (); ++i)
{
OptionalContentGroup *oc = (OptionalContentGroup *)ocgs->get(i);
QString ocgName = UnicodeParsedString(oc->getName());
@@ -587,6 +610,7 @@ bool PdfPlug::convert(const QString& fn)
ocgNames.append(ocgName);
}
}
+#endif
}
}
}
@@ -1081,7 +1105,7 @@ QRectF PdfPlug::getCBox(int box, int pgNum)
return cRect;
}
-QString PdfPlug::UnicodeParsedString(GooString *s1)
+QString PdfPlug::UnicodeParsedString(POPPLER_CONST GooString *s1)
{
if ( !s1 || s1->getLength() == 0 )
return QString();
diff --git a/scribus/plugins/import/pdf/importpdf.h b/scribus/plugins/import/pdf/importpdf.h
index c8c5efc..fbf607b 100644
--- a/scribus/plugins/import/pdf/importpdf.h
+++ b/scribus/plugins/import/pdf/importpdf.h
@@ -7,11 +7,6 @@ for which a new license (GPL+exception) is in place.
#ifndef IMPORTPDF_H
#define IMPORTPDF_H
-
-#include "pluginapi.h"
-#include "pageitem.h"
-#include "sccolor.h"
-#include "fpointarray.h"
#include <QList>
#include <QTransform>
#include <QMultiMap>
@@ -26,6 +21,11 @@ for which a new license (GPL+exception) is in place.
#include <QPen>
#include <QImage>
+#include "fpointarray.h"
+#include "importpdfconfig.h"
+#include "pluginapi.h"
+#include "pageitem.h"
+#include "sccolor.h"
class QColor;
class QMatrix;
@@ -81,7 +81,7 @@ public:
private:
bool convert(const QString& fn);
QRectF getCBox(int box, int pgNum);
- QString UnicodeParsedString(GooString *s1);
+ QString UnicodeParsedString(POPPLER_CONST GooString *s1);
QList<PageItem*> Elements;
double baseX, baseY;
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index be1815d..2e261e1 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -6,7 +6,7 @@ for which a new license (GPL+exception) is in place.
*/
#include "slaoutput.h"
-#include <poppler/cpp/poppler-version.h>
+
#include <poppler/GlobalParams.h>
#include <poppler/poppler-config.h>
#include <poppler/FileSpec.h>
@@ -20,12 +20,6 @@ for which a new license (GPL+exception) is in place.
#include "util_math.h"
#include <tiffio.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)
-
LinkSubmitForm::LinkSubmitForm(Object *actionObj)
{
Object obj1, obj2, obj3;
@@ -44,7 +38,7 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
{
if (obj3.isName())
{
- char *name = obj3.getName();
+ POPPLER_CONST char *name = obj3.getName();
if (!strcmp(name, "URL"))
{
obj2 = obj1.dictLookup("F");
@@ -508,8 +502,8 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
QString fileName = "";
if (act->getKind() == actionGoTo)
{
- LinkGoTo *gto = (LinkGoTo*)act;
- LinkDest *dst = gto->getDest();
+ LinkGoTo *gto = (LinkGoTo*) act;
+ POPPLER_CONST LinkDest *dst = gto->getDest();
if (dst)
{
if (dst->getKind() == destXYZ)
@@ -528,7 +522,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
}
else
{
- GooString *ndst = gto->getNamedDest();
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();
if (ndst)
{
LinkDest *dstn = pdfDoc->findDest(ndst);
@@ -555,7 +549,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
{
LinkGoToR *gto = (LinkGoToR*)act;
fileName = UnicodeParsedString(gto->getFileName());
- LinkDest *dst = gto->getDest();
+ POPPLER_CONST LinkDest *dst = gto->getDest();
if (dst)
{
if (dst->getKind() == destXYZ)
@@ -568,7 +562,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
}
else
{
- GooString *ndst = gto->getNamedDest();
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();
if (ndst)
{
LinkDest *dstn = pdfDoc->findDest(ndst);
@@ -709,7 +703,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
bool bgFound = false;
if (achar)
{
- AnnotColor *bgCol = achar->getBackColor();
+ POPPLER_CONST AnnotColor *bgCol = achar->getBackColor();
if (bgCol)
{
bgFound = true;
@@ -717,7 +711,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
}
else
CurrColorFill = CommonStrings::None;
- AnnotColor *fgCol = achar->getBorderColor();
+ POPPLER_CONST AnnotColor *fgCol = achar->getBorderColor();
if (fgCol)
{
fgFound = true;
@@ -1054,7 +1048,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
int xco = 0;
int yco = 0;
LinkGoTo *gto = (LinkGoTo*)Lact;
- LinkDest *dst = gto->getDest();
+ POPPLER_CONST LinkDest *dst = gto->getDest();
if (dst)
{
if (dst->getKind() == destXYZ)
@@ -1075,7 +1069,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
}
else
{
- GooString *ndst = gto->getNamedDest();
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();
if (ndst)
{
LinkDest *dstn = pdfDoc->findDest(ndst);
@@ -1107,7 +1101,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
int yco = 0;
LinkGoToR *gto = (LinkGoToR*)Lact;
QString fileName = UnicodeParsedString(gto->getFileName());
- LinkDest *dst = gto->getDest();
+ POPPLER_CONST LinkDest *dst = gto->getDest();
if (dst)
{
if (dst->getKind() == destXYZ)
@@ -1123,7 +1117,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
}
else
{
- GooString *ndst = gto->getNamedDest();
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();
if (ndst)
{
LinkDest *dstn = pdfDoc->findDest(ndst);
@@ -3002,6 +2996,14 @@ void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int widt
if ((mm.type() == QTransform::TxShear) || (mm.type() == QTransform::TxRotate))
{
ite->setImageRotation(-tline.angle());
+ /*QTransform rotMat;
+ rotMat.rotate(tline.angle());
+ QTransform imgMat = m_ctm * rotMat.inverted();
+ double scaleX = sqrt(imgMat.m11() * imgMat.m11() + imgMat.m12() * imgMat.m12());
+ double scaleY = sqrt(imgMat.m21() * imgMat.m21() + imgMat.m22() * imgMat.m22());
+ imgMat.scale(1.0 / scaleX, 1.0 / scaleY);
+ if (!imgMat.isIdentity())
+ img = img.transformed(imgMat);*/
}
else
{
@@ -4032,7 +4034,7 @@ QString SlaOutputDev::getColor(GfxColorSpace *color_space, GfxColor *color, int
return fNam;
}
-QString SlaOutputDev::getAnnotationColor(AnnotColor *color)
+QString SlaOutputDev::getAnnotationColor(const AnnotColor *color)
{
QString fNam;
QString namPrefix = "FromPDF";
@@ -4252,7 +4254,7 @@ void SlaOutputDev::pushGroup(QString maskName, GBool forSoftMask, GBool alpha, b
m_groupStack.push(gElements);
}
-QString SlaOutputDev::UnicodeParsedString(GooString *s1)
+QString SlaOutputDev::UnicodeParsedString(POPPLER_CONST GooString *s1)
{
if ( !s1 || s1->getLength() == 0 )
return QString();
diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
index 20e8b2d..888cd06 100644
--- a/scribus/plugins/import/pdf/slaoutput.h
+++ b/scribus/plugins/import/pdf/slaoutput.h
@@ -7,19 +7,21 @@ for which a new license (GPL+exception) is in place.
#ifndef SLAOUTPUT_H
#define SLAOUTPUT_H
-#include <QString>
-#include <QTextStream>
-#include <QSizeF>
#include <QBuffer>
#include <QColor>
#include <QBrush>
-#include <QPen>
+#include <QDebug>
#include <QImage>
+#include <QPen>
#include <QList>
-#include <QTransform>
+#include <QSizeF>
#include <QStack>
-#include <QDebug>
+#include <QString>
+#include <QTextStream>
+#include <QTransform>
+
#include "fpointarray.h"
+#include "importpdfconfig.h"
#include "pageitem.h"
#include "scribusdoc.h"
#include "scribusview.h"
@@ -61,9 +63,9 @@ public:
// Destructor.
virtual ~LinkSubmitForm();
// Was the LinkImportData created successfully?
- virtual GBool isOk() { return fileName != NULL; }
+ virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
// Accessors.
- virtual LinkActionKind getKind() { return actionUnknown; }
+ virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
GooString *getFileName() { return fileName; }
int getFlags() { return m_flags; }
private:
@@ -83,9 +85,9 @@ public:
// Destructor.
virtual ~LinkImportData();
// Was the LinkImportData created successfully?
- virtual GBool isOk() { return fileName != NULL; }
+ virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
// Accessors.
- virtual LinkActionKind getKind() { return actionUnknown; }
+ virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
GooString *getFileName() { return fileName; }
private:
GooString *fileName; // file name
@@ -98,7 +100,7 @@ class SplashOutFontFileID: public SplashFontFileID
{
public:
- SplashOutFontFileID(Ref *rA) { r = *rA; }
+ SplashOutFontFileID(const Ref *rA) { r = *rA; }
~SplashOutFontFileID() {}
GBool matches(SplashFontFileID *id)
{
@@ -146,6 +148,7 @@ class SlaOutputDev : public OutputDev
public:
SlaOutputDev(ScribusDoc* doc, QList<PageItem*> *Elements, QStringList *importedColors, int flags);
virtual ~SlaOutputDev();
+
LinkAction* SC_getAction(AnnotWidget *ano);
LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
static GBool annotations_callback(Annot *annota, void *user_data);
@@ -261,12 +264,12 @@ public:
private:
void getPenState(GfxState *state);
QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
- QString getAnnotationColor(AnnotColor *color);
+ QString getAnnotationColor(const AnnotColor *color);
QString convertPath(GfxPath *path);
int getBlendMode(GfxState *state);
void applyMask(PageItem *ite);
void pushGroup(QString maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
- QString UnicodeParsedString(GooString *s1);
+ QString UnicodeParsedString(POPPLER_CONST GooString *s1);
bool checkClip();
bool pathIsClosed;
QString CurrColorFill;
--
2.21.0
From f4e555b6603f9d32e62cf5e487e10705a8701a01 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 3 May 2019 20:25:41 +0200
Subject: import patchs from arch linux for poppler 0.70=>0.76.
diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
index a2aa5a7..da08dd4 100644
--- a/scribus/plugins/import/pdf/importpdf.cpp
+++ b/scribus/plugins/import/pdf/importpdf.cpp
@@ -461,7 +461,7 @@ bool PdfPlug::convert(const QString& fn)
GBool useMediaBox = gTrue;
GBool crop = gTrue;
GBool printing = gFalse;
- PDFRectangle *mediaBox = pdfDoc->getPage(1)->getMediaBox();
+ const PDFRectangle *mediaBox = pdfDoc->getPage(1)->getMediaBox();
QRectF mediaRect = QRectF(QPointF(mediaBox->x1, mediaBox->y1), QPointF(mediaBox->x2, mediaBox->y2)).normalized();
bool boxesAreDifferent = false;
if (getCBox(Crop_Box, 1) != mediaRect)
@@ -535,7 +535,7 @@ bool PdfPlug::convert(const QString& fn)
if (orderItem.isDict())
{
#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
- Object ref = order->getNF(i);
+ Object ref = order->getNF(i).copy();
#else
Object ref;
order->getNF(i, &ref);
@@ -1090,7 +1090,7 @@ QImage PdfPlug::readPreview(int pgNum, int width, int height, int box)
QRectF PdfPlug::getCBox(int box, int pgNum)
{
- PDFRectangle *cBox = NULL;
+ const PDFRectangle *cBox = NULL;
if (box == Media_Box)
cBox = m_pdfDoc->getPage(pgNum)->getMediaBox();
else if (box == Bleed_Box)
diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
new file mode 100644
index 0000000..6213baf
--- /dev/null
+++ b/scribus/plugins/import/pdf/importpdfconfig.h
@@ -0,0 +1,47 @@
+/*
+For general Scribus (>=1.3.2) copyright and licensing information please refer
+to the COPYING file provided with the program. Following this notice may exist
+a copyright and/or license notice that predates the release of Scribus 1.3.2
+for which a new license (GPL+exception) is in place.
+*/
+#ifndef IMPORTPDFCONFIG_H
+#define IMPORTPDFCONFIG_H
+
+#include <poppler/cpp/poppler-version.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)
+
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 64, 0)
+#define POPPLER_CONST const
+#else
+#define POPPLER_CONST
+#endif
+
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 70, 0)
+#define POPPLER_CONST_070 const
+#else
+#define POPPLER_CONST_070
+#endif
+
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 71, 0)
+#define GBool bool
+#define gTrue true
+#define gFalse false
+#endif
+
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 72, 0)
+#define getCString c_str
+#endif
+
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 73, 0)
+#define Guchar unsigned char
+#define Gushort unsigned short
+#define Guint unsigned int
+#define Gulong unsigned long
+#endif
+
+#endif
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index 2e261e1..a85df1e 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -183,7 +183,7 @@ void AnoOutputDev::drawString(GfxState *state, GooString *s)
m_itemText = s->copy();
}
-QString AnoOutputDev::getColor(GfxColorSpace *color_space, GfxColor *color, int *shade)
+QString AnoOutputDev::getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade)
{
QString fNam;
QString namPrefix = "FromPDF";
@@ -310,7 +310,7 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
if (obj.isDict())
{
Dict* adic = obj.getDict();
- additionalActions = adic->lookupNF("A");
+ additionalActions = adic->lookupNF("A").copy();
Object additionalActionsObject = additionalActions.fetch(pdfDoc->getXRef());
if (additionalActionsObject.isDict())
{
@@ -370,7 +370,7 @@ LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *a
if (obj.isDict())
{
Dict* adic = obj.getDict();
- additionalActions = adic->lookupNF("AA");
+ additionalActions = adic->lookupNF("AA").copy();
Object additionalActionsObject = additionalActions.fetch(pdfDoc->getXRef());
if (additionalActionsObject.isDict())
{
@@ -511,7 +511,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
if (dst->isPageRef())
{
Ref dstr = dst->getPageRef();
- pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
+ pagNum = pdfDoc->findPage(dstr);
}
else
pagNum = dst->getPageNum();
@@ -533,7 +533,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
if (dstn->isPageRef())
{
Ref dstr = dstn->getPageRef();
- pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
+ pagNum = pdfDoc->findPage(dstr);
}
else
pagNum = dstn->getPageNum();
@@ -939,7 +939,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
QList<int> radList;
for (int i = 0; i < obj2.arrayGetLength(); i++)
{
- Object childRef = obj2.arrayGetNF(i);
+ Object childRef = obj2.arrayGetNF(i).copy();
if (!childRef.isRef())
continue;
Object childObj = obj2.arrayGet(i);
@@ -1056,7 +1056,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
if (dst->isPageRef())
{
Ref dstr = dst->getPageRef();
- pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
+ pagNum = pdfDoc->findPage(dstr);
}
else
pagNum = dst->getPageNum();
@@ -1080,7 +1080,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
if (dstn->isPageRef())
{
Ref dstr = dstn->getPageRef();
- pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
+ pagNum = pdfDoc->findPage(dstr);
}
else
pagNum = dstn->getPageNum();
@@ -1598,7 +1598,7 @@ void SlaOutputDev::updateStrokeColor(GfxState *state)
void SlaOutputDev::clip(GfxState *state)
{
// qDebug() << "Clip";
- double *ctm;
+ const double *ctm;
ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
QString output = convertPath(state->getPath());
@@ -1635,7 +1635,7 @@ void SlaOutputDev::clip(GfxState *state)
void SlaOutputDev::eoClip(GfxState *state)
{
// qDebug() << "EoClip";
- double *ctm;
+ const double *ctm;
ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
QString output = convertPath(state->getPath());
@@ -1672,7 +1672,7 @@ void SlaOutputDev::eoClip(GfxState *state)
void SlaOutputDev::stroke(GfxState *state)
{
// qDebug() << "Stroke";
- double *ctm;
+ const double *ctm;
ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
@@ -1764,7 +1764,7 @@ void SlaOutputDev::stroke(GfxState *state)
void SlaOutputDev::fill(GfxState *state)
{
// qDebug() << "Fill";
- double *ctm;
+ const double *ctm;
ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
@@ -1809,7 +1809,7 @@ void SlaOutputDev::fill(GfxState *state)
void SlaOutputDev::eoFill(GfxState *state)
{
// qDebug() << "EoFill";
- double *ctm;
+ const double *ctm;
ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
@@ -1858,14 +1858,14 @@ GBool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, d
double GrEndX;
double GrEndY;
int shade = 100;
- Function *func = shading->getFunc(0);
+ POPPLER_CONST_070 Function *func = shading->getFunc(0);
VGradient FillGradient = VGradient(VGradient::linear);
FillGradient.clearStops();
GfxColorSpace *color_space = shading->getColorSpace();
if (func->getType() == 3)
{
StitchingFunction *stitchingFunc = (StitchingFunction*)func;
- double *bounds = stitchingFunc->getBounds();
+ const double *bounds = stitchingFunc->getBounds();
int num_funcs = stitchingFunc->getNumFuncs();
// Add stops from all the stitched functions
for ( int i = 0 ; i < num_funcs ; i++ )
@@ -1899,8 +1899,7 @@ GBool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, d
state->getClipBBox(&xmin, &ymin, &xmax, &ymax);
QRectF crect = QRectF(QPointF(xmin, ymin), QPointF(xmax, ymax));
crect = crect.normalized();
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
FPointArray gr;
gr.addPoint(GrStartX, GrStartY);
@@ -1969,14 +1968,14 @@ GBool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading,
double GrEndX;
double GrEndY;
int shade = 100;
- Function *func = shading->getFunc(0);
+ POPPLER_CONST_070 Function *func = shading->getFunc(0);
VGradient FillGradient = VGradient(VGradient::linear);
FillGradient.clearStops();
GfxColorSpace *color_space = shading->getColorSpace();
if (func->getType() == 3)
{
StitchingFunction *stitchingFunc = (StitchingFunction*)func;
- double *bounds = stitchingFunc->getBounds();
+ const double *bounds = stitchingFunc->getBounds();
int num_funcs = stitchingFunc->getNumFuncs();
// Add stops from all the stitched functions
for ( int i = 0 ; i < num_funcs ; i++ )
@@ -2015,8 +2014,7 @@ GBool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading,
double GrFocalY = y1;
GrEndX = GrFocalX + r1;
GrEndY = GrFocalY;
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
FPointArray gr;
gr.addPoint(GrStartX, GrStartY);
@@ -2098,8 +2096,7 @@ GBool SlaOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangl
output += QString("Z");
pathIsClosed = true;
Coords = output;
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
int z = m_doc->itemAdd(PageItem::Polygon, PageItem::Rectangle, xCoor + crect.x(), yCoor + crect.y(), crect.width(), crect.height(), 0, CurrColorFill, CommonStrings::None);
PageItem* ite = m_doc->Items->at(z);
@@ -2179,8 +2176,7 @@ GBool SlaOutputDev::patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *sh
output += QString("Z");
pathIsClosed = true;
Coords = output;
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
int z = m_doc->itemAdd(PageItem::Polygon, PageItem::Rectangle, xCoor + crect.x(), yCoor + crect.y(), crect.width(), crect.height(), 0, CurrColorFill, CommonStrings::None);
PageItem* ite = m_doc->Items->at(z);
@@ -2205,7 +2201,7 @@ GBool SlaOutputDev::patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *sh
for (int i = 0; i < shading->getNPatches(); i++)
{
int shade = 100;
- GfxPatch *patch = shading->getPatch(i);
+ const GfxPatch *patch = shading->getPatch(i);
GfxColor color;
meshGradientPatch patchM;
int u, v;
@@ -2333,8 +2329,7 @@ GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *c
box.y1 = bbox[1];
box.x2 = bbox[2];
box.y2 = bbox[3];
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
QTransform mm = QTransform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]);
QTransform mmx = mm * m_ctm;
@@ -2506,8 +2501,7 @@ void SlaOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str, int
t++;
}
}
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
QRectF crect = QRectF(0, 0, width, height);
@@ -2652,8 +2646,7 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str
t++;
}
}
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
QRectF crect = QRectF(0, 0, width, height);
@@ -2802,8 +2795,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str, i
t++;
}
}
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
QRectF crect = QRectF(0, 0, width, height);
@@ -2967,8 +2959,7 @@ void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int widt
delete image;
return;
}
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
QRectF crect = QRectF(0, 0, width, height);
@@ -3328,7 +3319,7 @@ void SlaOutputDev::updateFont(GfxState *state)
char *tmpBuf;
int tmpBufLen = 0;
int *codeToGID;
- double *textMat;
+ const double *textMat;
double m11, m12, m21, m22, fontSize;
SplashCoord mat[4];
int n = 0;
@@ -3795,8 +3786,7 @@ void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, doub
if (f & splashPathLast)
qPath.closeSubpath();
}
- double *ctm;
- ctm = state->getCTM();
+ const double *ctm = state->getCTM();
m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
double xCoor = m_doc->currentPage()->xOffset();
double yCoor = m_doc->currentPage()->yOffset();
@@ -3950,7 +3940,7 @@ void SlaOutputDev::endTextObject(GfxState *state)
}
}
-QString SlaOutputDev::getColor(GfxColorSpace *color_space, GfxColor *color, int *shade)
+QString SlaOutputDev::getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade)
{
QString fNam;
QString namPrefix = "FromPDF";
diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
index 888cd06..f948724 100644
--- a/scribus/plugins/import/pdf/slaoutput.h
+++ b/scribus/plugins/import/pdf/slaoutput.h
@@ -28,7 +28,9 @@ for which a new license (GPL+exception) is in place.
#include "selection.h"
#include "vgradient.h"
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 73, 0)
#include <poppler/goo/gtypes.h>
+#endif
#include <poppler/Object.h>
#include <poppler/OutputDev.h>
#include <poppler/Gfx.h>
@@ -137,7 +139,7 @@ public:
GooString *m_fontName;
GooString *m_itemText;
private:
- QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
+ QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
ScribusDoc* m_doc;
QStringList *m_importedColors;
};
@@ -263,7 +265,7 @@ public:
private:
void getPenState(GfxState *state);
- QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
+ QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
QString getAnnotationColor(const AnnotColor *color);
QString convertPath(GfxPath *path);
int getBlendMode(GfxState *state);
--
2.21.0

View File

@@ -0,0 +1,195 @@
From 49059e8426b4b0576124cbc766222b55afeb436a Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 11 Aug 2019 16:50:51 +1000
Subject: Fix build for Haiku
Disable python and scriptplugin
Add paths for Haiku
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0cfa1d5..246087e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -472,7 +472,7 @@ else()
endif()
#PLUGINS
-if(WIN32)
+if(WIN32 OR HAIKU)
set(PLUGINDIR "plugins")
elseif (APPLEBUNDLE)
set(PLUGINDIR "${LIBDIR}")
@@ -848,7 +848,7 @@ endif()
#<< PYTHON
#set(PythonLibs_FIND_VERSION 2)
find_package(PythonInterp 2)
-find_package(PythonLibs 2 REQUIRED)
+find_package(PythonLibs 2)
if (PYTHON_LIBRARY)
message("Python Library Found OK")
set(HAVE_PYTHON ON)
@@ -1027,7 +1027,7 @@ pkg_check_modules(ICU REQUIRED icu-uc)
##############################################################################################################
########## Include Setup ##########
-TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
+#TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
if(HAVE_DLFCN_H)
diff --git a/scribus/CMakeLists.txt b/scribus/CMakeLists.txt
index 2f1d39c..5a63364 100644
--- a/scribus/CMakeLists.txt
+++ b/scribus/CMakeLists.txt
@@ -1286,7 +1286,7 @@ target_link_libraries(${EXE_NAME}
${ICU_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 4debb04..9026eb1 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()
else()
#scripter2
message(STATUS "Building with Scripter 2")
- add_subdirectory(scripter)
+# add_subdirectory(scripter)
endif()
add_subdirectory(short-words)
add_subdirectory(tools)
diff --git a/scribus/scpaths.cpp b/scribus/scpaths.cpp
index acdc9af..87bd192 100644
--- a/scribus/scpaths.cpp
+++ b/scribus/scpaths.cpp
@@ -324,6 +324,15 @@ QStringList ScPaths::spellDirs() const
d.setPath(linuxLocalPath);
if (d.exists())
spellDirs.append(linuxLocalPath);
+#elif defined(Q_OS_HAIKU)
+ QString haikuSystemHunspellPath("/system/data/hunspell/");
+ QString haikuUserHunspellPath("/boot/home/config/non-packaged/data/hunspell/");
+ d.setPath(haikuSystemHunspellPath);
+ if (d.exists())
+ spellDirs.append(haikuSystemHunspellPath);
+ d.setPath(haikuUserHunspellPath);
+ if (d.exists())
+ spellDirs.append(haikuUserHunspellPath);
#endif
return spellDirs;
}
@@ -390,6 +399,19 @@ QStringList ScPaths::hyphDirs() const
d.setPath(linuxLocalPath);
if (d.exists())
hyphDirs.append(linuxLocalPath);
+#elif defined(Q_OS_HAIKU)
+ QString haikuSystemHyphenPath("/system/data/hyphen/");
+ QString haikuSystemHunspellPath("/system/data/hunspell/");
+ QString haikuUserHunspellPath("/boot/home/config/non-packaged/data/hunspell/");
+ 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;
}
@@ -413,6 +435,9 @@ QStringList ScPaths::systemFontDirs()
if (d.exists())
fontDirs.append(roamingFontDir);
fontDirs.append(windowsSpecialDir(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;
}
diff --git a/scribus/third_party/pgf/PGFplatform.h b/scribus/third_party/pgf/PGFplatform.h
index c3e3ed0..5184be9 100644
--- a/scribus/third_party/pgf/PGFplatform.h
+++ b/scribus/third_party/pgf/PGFplatform.h
@@ -528,7 +528,7 @@ __inline OSError FileWrite(HANDLE hFile, int *count, void *buffPtr) {
}
__inline OSError GetFPos(HANDLE hFile, UINT64 *pos) {
- #ifdef __APPLE__
+ #if defined(__APPLE__) || defined(__HAIKU__)
off_t ret;
if ((ret = lseek(hFile, 0, SEEK_CUR)) == -1) {
return errno;
@@ -548,7 +548,7 @@ __inline OSError GetFPos(HANDLE hFile, UINT64 *pos) {
}
__inline OSError SetFPos(HANDLE hFile, int posMode, INT64 posOff) {
- #ifdef __APPLE__
+ #if defined(__APPLE__) || defined(__HAIKU__)
if ((lseek(hFile, (off_t)posOff, posMode)) == -1) {
return errno;
} else {
diff --git a/scribus/util_debug.cpp b/scribus/util_debug.cpp
index 5adfab7..ebf0bdb 100644
--- a/scribus/util_debug.cpp
+++ b/scribus/util_debug.cpp
@@ -54,7 +54,7 @@ void tDebug(const QString& message)
*/
void printBacktrace ( int nFrames )
{
-#if !defined(_WIN32) && !defined(Q_OS_MAC) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_FREEBSD)
+#if !defined(_WIN32) && !defined(Q_OS_MAC) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_HAIKU)
void ** trace = new void*[nFrames + 1];
char **messages = ( char ** ) nullptr;
int i, trace_size = 0;
--
2.21.0
From 334b3a98fd51f80fe2000b68de49ee8e072c73a7 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 12 Aug 2019 21:10:23 +1000
Subject: Disable pkg-config for cairo and fontconfig
diff --git a/cmake/modules/CAIROConfig.cmake b/cmake/modules/CAIROConfig.cmake
index 14abfde..187b742 100644
--- a/cmake/modules/CAIROConfig.cmake
+++ b/cmake/modules/CAIROConfig.cmake
@@ -25,7 +25,7 @@ else(PREFIX_CAIRO)
set(PKG_CAIRO_LIBRARIES ${_libCairoLinkDir})
else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
include(FindPkgConfig)
- pkg_search_module(CAIRO REQUIRED libcairo>=1.14.0 cairo>=1.14.0)
+# pkg_search_module(CAIRO REQUIRED libcairo>=1.14.0 cairo>=1.14.0)
endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
endif(PREFIX_CAIRO)
diff --git a/cmake/modules/FONTCONFIGConfig.cmake b/cmake/modules/FONTCONFIGConfig.cmake
index 1a74069..225658c 100644
--- a/cmake/modules/FONTCONFIGConfig.cmake
+++ b/cmake/modules/FONTCONFIGConfig.cmake
@@ -15,7 +15,7 @@ if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
set(FONTCONFIG_LIBS ${_fontconfigCflags})
else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
include(FindPkgConfig)
- pkg_search_module(FONTCONFIG REQUIRED fontconfig)
+# pkg_search_module(FONTCONFIG REQUIRED fontconfig)
endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
#include(UsePkgConfig)
--
2.21.0

View File

@@ -1,101 +0,0 @@
SUMMARY="A powerful desktop publishing application"
DESCRIPTION="Scribus is an Open Source program that brings professional page \
layout to Linux, BSD UNIX, Solaris, OpenIndiana, GNU/Hurd, Mac OS X, OS/2 \
Warp 4, eComStation, Haiku and Windows desktops with a combination of \
press-ready output and new approaches to page design. Underneath a modern and \
user-friendly interface, Scribus supports professional publishing features, \
such as color separations, CMYK and spot colors, ICC color management, and \
versatile PDF creation."
HOMEPAGE="https://www.scribus.net"
COPYRIGHT="2014-2016 Scribus Team"
LICENSE="GNU GPL v2"
REVISION="5"
SOURCE_URI="http://downloads.sourceforge.net/project/scribus/scribus/$portVersion/scribus-$portVersion.tar.xz"
CHECKSUM_SHA256="21e336500d9edc9c90ccf73087e5ef3df59ec3e4a3cbfec15367bcd8d078a19a"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
scribus$secondaryArchSuffix = $portVersion
app:Scribus
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libpodofo$secondaryArchSuffix
lib:libpython2.7$secondaryArchSuffix
lib:libQtCore$secondaryArchSuffix
lib:libQtGui$secondaryArchSuffix
lib:libQtNetwork$secondaryArchSuffix
lib:libQtXml$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
scribus${secondaryArchSuffix}_devel = $portVersion
devel:scribus$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_system${secondaryArchSuffix}
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpodofo$secondaryArchSuffix
devel:libpython2.7$secondaryArchSuffix
devel:libQtCore$secondaryArchSuffix
devel:libQtGui$secondaryArchSuffix
devel:libQtNetwork$secondaryArchSuffix
devel:libQtXml$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
cmake . -DCMAKE_INSTALL_PREFIX=$prefix \
-DEXECUTABLE_OUTPUT_PATH=$appsDir \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DSHAREDIR=$dataDir \
-DAPPLICATION_DATA_DIR=$dataDir \
-DWANT_QTARTHUR=1 \
-DWANT_DISTROBUILD=1 \
-DCMAKE_SKIP_RPATH=ON \
-DLIB_SUFFIX="$secondaryArchSuffix"
make $jobArgs
}
INSTALL()
{
make install
rm -f $binDir/scribus
rm -f $prefix/scribus
rm -f $prefix/bin/scribus
mv $appsDir/scribus $appsDir/Scribus
addAppDeskbarSymlink $appsDir/Scribus Scribus
mkdir -p $(dirname $includeDir)
mv $prefix/include $includeDir
# devel package
packageEntries devel \
$developDir
}

View File

@@ -9,9 +9,9 @@ versatile PDF creation."
HOMEPAGE="https://www.scribus.net"
COPYRIGHT="2014-2017 Scribus Team"
LICENSE="GNU GPL v2"
REVISION="2"
REVISION="1"
SOURCE_URI="http://downloads.sourceforge.net/project/scribus/scribus-devel/$portVersion/scribus-$portVersion.tar.xz"
CHECKSUM_SHA256="6480925250b2bb07028e2f378c02b67fe3e33206743671e03c07c701cd05da03"
CHECKSUM_SHA256="7908b21a6ce843269f58cedf5f8f791893257e6201cce5fbddc70daca2fe3f71"
PATCHES="scribus-$portVersion.patchset"
ADDITIONAL_FILES="scribus.rdef.in"
@@ -40,8 +40,10 @@ REQUIRES="
lib:liblcms2$secondaryArchSuffix
lib:libmspub_0.1$secondaryArchSuffix
lib:libpagemaker_0.0${secondaryArchSuffix}
lib:libpng16$secondaryArchSuffix
lib:libpodofo$secondaryArchSuffix
lib:libpoppler$secondaryArchSuffix
# lib:libpython2.7$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
@@ -51,6 +53,7 @@ REQUIRES="
lib:libQt5Quick$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libqxp_0.0$secondaryArchSuffix
lib:librevenge_0.0${secondaryArchSuffix}
lib:librevenge_generators_0.0${secondaryArchSuffix}
lib:librevenge_stream_0.0${secondaryArchSuffix}
@@ -59,19 +62,20 @@ REQUIRES="
lib:libvisio_0.1$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzmf_0.0$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_system${secondaryArchSuffix}
devel:libcairo$secondaryArchSuffix >= 2.11400
devel:libboost_system${secondaryArchSuffix} >= 1.69.0
devel:libcairo$secondaryArchSuffix
devel:libcdr_0.1$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreehand_0.1$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libGL$secondaryArchSuffix # for libQt5Gui
devel:libGL$secondaryArchSuffix
devel:libharfbuzz_icu$secondaryArchSuffix
devel:libhunspell_1.6$secondaryArchSuffix
devel:libhyphen$secondaryArchSuffix
@@ -79,18 +83,22 @@ BUILD_REQUIRES="
devel:liblcms2$secondaryArchSuffix
devel:libmspub_0.1$secondaryArchSuffix
devel:libpagemaker_0.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpodofo$secondaryArchSuffix
devel:libpoppler$secondaryArchSuffix >= 87
# devel:libpython2.7$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Network$secondaryArchSuffix
devel:libQt5Xml$secondaryArchSuffix
devel:libqxp_0.0$secondaryArchSuffix
devel:librevenge_0.0$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libvisio_0.1$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzmf_0.0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
@@ -108,6 +116,10 @@ BUILD()
-DPLUGINDIR=$appsDir/Scribus/plugins \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DSHAREDIR=$dataDir \
-DFONTCONFIG_INCLUDE_DIRS=/system/$relativeIncludeDir \
-DFONTCONFIG_LIBRARY_DIRS=/system/$relativeDevelopLibDir \
-DCAIRO_INCLUDE_DIRS=/system/$relativeIncludeDir/cairo \
-DCAIRO_LIBRARY_DIRS=/system/$relativeDevelopLibDir \
-DAPPLICATION_DATA_DIR="config/settings/Scribus" \
-DWANT_DISTROBUILD=1 \
-DWANT_CPP11=1 \