diff --git a/.gitignore b/.gitignore index 86308e9..130495f 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ scribus-1.3.8.tar.bz2 /scribus-1.5.6.tar.xz /scribus-1.5.6-free.tar.xz /scribus-1.5.6.1-free.tar.xz +/scribus-1.5.8-free.tar.xz diff --git a/harfbuzz-3.0.0-symbol-lookup-fix.patch b/harfbuzz-3.0.0-symbol-lookup-fix.patch new file mode 100644 index 0000000..1b6b154 --- /dev/null +++ b/harfbuzz-3.0.0-symbol-lookup-fix.patch @@ -0,0 +1,28 @@ +diff -urN scribus-1.5.7.old/scribus/fonts/sfnt.cpp scribus-1.5.7/scribus/fonts/sfnt.cpp +--- scribus-1.5.7.old/scribus/fonts/sfnt.cpp 2021-04-26 01:54:52.000000000 +0530 ++++ scribus-1.5.7/scribus/fonts/sfnt.cpp 2021-09-21 15:01:01.500775457 +0530 +@@ -1256,14 +1256,22 @@ + + for (int i = 0; i < cids.count(); ++i) + hb_set_add(glyphSet, cids.at(i)); +- ++ ++#if HB_VERSION_ATLEAST(2, 9, 0) ++ uint32_t subsetFlags = (uint32_t) hb_subset_input_get_flags(hbSubsetInput.get()); ++ subsetFlags |= HB_SUBSET_FLAGS_RETAIN_GIDS; ++ subsetFlags &= ~HB_SUBSET_FLAGS_NO_HINTING; ++ subsetFlags |= HB_SUBSET_FLAGS_NAME_LEGACY; ++ hb_subset_input_set_flags(hbSubsetInput.get(), subsetFlags); ++#else + hb_subset_input_set_retain_gids(hbSubsetInput.get(), true); + hb_subset_input_set_drop_hints(hbSubsetInput.get(), false); + #if HB_VERSION_ATLEAST(2, 6, 5) + hb_subset_input_set_name_legacy(hbSubsetInput.get(), true); + #endif ++#endif + +- QScopedPointer hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get())); ++ QScopedPointer hbSubsetFace(hb_subset_or_fail(hbFullFace.get(), hbSubsetInput.get())); + if (hbSubsetFace.isNull()) + return QByteArray(); + diff --git a/scribus-1.5.6-poppler-0.84.0.patch b/scribus-1.5.6-poppler-0.84.0.patch deleted file mode 100644 index 3c44024..0000000 --- a/scribus-1.5.6-poppler-0.84.0.patch +++ /dev/null @@ -1,157 +0,0 @@ ---- 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 9913ee382..5a7e0d216 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 5e4d32a55..ffcfa8450 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 60fb90061..d928fada8 100644 ---- a/scribus/plugins/import/pdf/slaoutput.h -+++ b/scribus/plugins/import/pdf/slaoutput.h -@@ -282,7 +282,7 @@ private: - 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); ---- 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/scribus-1.5.6-poppler-0.90.0.patch b/scribus-1.5.6-poppler-0.90.0.patch deleted file mode 100644 index 8200f64..0000000 --- a/scribus-1.5.6-poppler-0.90.0.patch +++ /dev/null @@ -1,201 +0,0 @@ ---- scribus-1.5.6/scribus/plugins/import/pdf/importpdf.cpp -+++ scribus-1.5.6/scribus/plugins/import/pdf/importpdf.cpp -@@ -792,14 +792,15 @@ bool PdfPlug::convert(const QString& fn) - names = catDict.dictLookup("OpenAction"); - if (names.isDict()) - { -- LinkAction *linkAction = nullptr; -+ std::unique_ptr<::LinkAction> linkAction; - linkAction = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI()); - if (linkAction) - { -- LinkJavaScript *jsa = (LinkJavaScript*)linkAction; -+ LinkJavaScript *jsa = static_cast(linkAction.get()); - if (jsa->isOk()) - { -- QString script = UnicodeParsedString(jsa->getScript()); -+ const GooString scriptGooString(jsa->getScript()); -+ QString script = UnicodeParsedString(&scriptGooString); - if (script.startsWith("this.")) - { - script.remove(0, 5); ---- scribus-1.5.6/scribus/plugins/import/pdf/slaoutput.cpp -+++ scribus-1.5.6/scribus/plugins/import/pdf/slaoutput.cpp -@@ -324,7 +324,7 @@ LinkAction* SlaOutputDev::SC_getAddition - { - Object actionObject = additionalActionsObject.dictLookup(key); - if (actionObject.isDict()) -- linkAction = LinkAction::parseAction(&actionObject, pdfDoc->getCatalog()->getBaseURI()); -+ linkAction = (LinkAction::parseAction(&actionObject, pdfDoc->getCatalog()->getBaseURI())).release(); - } - } - return linkAction; -@@ -455,7 +455,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot - POPPLER_CONST GooString *ndst = gto->getNamedDest(); - if (ndst) - { -- LinkDest *dstn = pdfDoc->findDest(ndst); -+ std::unique_ptr dstn = pdfDoc->findDest(ndst); - if (dstn) - { - if (dstn->getKind() == destXYZ) -@@ -499,7 +499,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot - POPPLER_CONST GooString *ndst = gto->getNamedDest(); - if (ndst) - { -- LinkDest *dstn = pdfDoc->findDest(ndst); -+ std::unique_ptr dstn = pdfDoc->findDest(ndst); - if (dstn) - { - if (dstn->getKind() == destXYZ) -@@ -516,8 +516,9 @@ bool SlaOutputDev::handleLinkAnnot(Annot - else if (act->getKind() == actionURI) - { - LinkURI *gto = (LinkURI*)act; -+ const GooString uriGooString(gto->getURI()); - validLink = true; -- fileName = UnicodeParsedString(gto->getURI()); -+ fileName = UnicodeParsedString(&uriGooString); - } - if (validLink) - { -@@ -929,8 +930,9 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Lact; - if (jsa->isOk()) - { -+ const GooString scriptGooString(jsa->getScript()); - ite->annotation().setActionType(1); -- ite->annotation().setAction(UnicodeParsedString(jsa->getScript())); -+ ite->annotation().setAction(UnicodeParsedString(&scriptGooString)); - } - } - else if (Lact->getKind() == actionGoTo) -@@ -967,7 +969,7 @@ void SlaOutputDev::handleActions(PageIte - POPPLER_CONST GooString *ndst = gto->getNamedDest(); - if (ndst) - { -- LinkDest *dstn = pdfDoc->findDest(ndst); -+ std::unique_ptr dstn = pdfDoc->findDest(ndst); - if (dstn) - { - if (dstn->getKind() == destXYZ) -@@ -1019,7 +1021,7 @@ void SlaOutputDev::handleActions(PageIte - POPPLER_CONST GooString *ndst = gto->getNamedDest(); - if (ndst) - { -- LinkDest *dstn = pdfDoc->findDest(ndst); -+ std::unique_ptr dstn = pdfDoc->findDest(ndst); - if (dstn) - { - if (dstn->getKind() == destXYZ) -@@ -1039,7 +1041,8 @@ void SlaOutputDev::handleActions(PageIte - else if (Lact->getKind() == actionUnknown) - { - LinkUnknown *uno = (LinkUnknown*)Lact; -- QString actString = UnicodeParsedString(uno->getAction()); -+ const GooString actionGooString(uno->getAction()); -+ QString actString = UnicodeParsedString(&actionGooString); - if (actString == "ResetForm") - { - ite->annotation().setActionType(4); -@@ -1082,8 +1085,9 @@ void SlaOutputDev::handleActions(PageIte - else if (Lact->getKind() == actionNamed) - { - LinkNamed *uno = (LinkNamed*)Lact; -+ const GooString nameGooString(uno->getName()); - ite->annotation().setActionType(10); -- ite->annotation().setAction(UnicodeParsedString(uno->getName())); -+ ite->annotation().setAction(UnicodeParsedString(&nameGooString)); - } - else - qDebug() << "Found unsupported Action of type" << Lact->getKind(); -@@ -1096,7 +1100,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setD_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setD_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } -@@ -1110,7 +1115,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setE_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setE_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } -@@ -1124,7 +1130,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setX_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setX_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } -@@ -1138,7 +1145,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setFo_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setFo_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } -@@ -1152,7 +1160,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setBl_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setBl_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } -@@ -1166,7 +1175,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setC_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setC_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } -@@ -1180,7 +1190,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setF_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setF_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - ite->annotation().setFormat(5); - } -@@ -1195,7 +1206,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setK_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setK_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - ite->annotation().setFormat(5); - } -@@ -1210,7 +1222,8 @@ void SlaOutputDev::handleActions(PageIte - LinkJavaScript *jsa = (LinkJavaScript*)Aact; - if (jsa->isOk()) - { -- ite->annotation().setV_act(UnicodeParsedString(jsa->getScript())); -+ const GooString scriptGooString(jsa->getScript()); -+ ite->annotation().setV_act(UnicodeParsedString(&scriptGooString)); - ite->annotation().setAAact(true); - } - } diff --git a/scribus-ctorfix.patch b/scribus-ctorfix.patch deleted file mode 100644 index 28ecaf5..0000000 --- a/scribus-ctorfix.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/scribus/ui/colorlistmodel.cpp b/scribus/ui/colorlistmodel.cpp -index a4905a5..8363e97 100644 ---- a/scribus/ui/colorlistmodel.cpp -+++ b/scribus/ui/colorlistmodel.cpp -@@ -10,8 +10,6 @@ for which a new license (GPL+exception) is in place. - #include "colorlistbox.h" - #include "commonstrings.h" - --ColorPixmapValue ColorListModel::m_NoneColor(ScColor(), nullptr, CommonStrings::None); -- - ColorListModel::ColorListModel(QObject *parent) - : QAbstractItemModel(parent) - { -diff --git a/scribus/ui/colorlistmodel.h b/scribus/ui/colorlistmodel.h -index 8f5bc65..892d0a7 100644 ---- a/scribus/ui/colorlistmodel.h -+++ b/scribus/ui/colorlistmodel.h -@@ -103,12 +103,9 @@ protected: - // SortRule m_sortRule - SortRule m_sortRule; - -- //! Dummy object used to represent None Color -- static ColorPixmapValue m_NoneColor; -- - static bool compareColorNames(const ColorPixmapValue& v1, const ColorPixmapValue& v2); - static bool compareColorValues(const ColorPixmapValue& v1, const ColorPixmapValue& v2); - static bool compareColorTypes(const ColorPixmapValue& v1, const ColorPixmapValue& v2); - }; - --#endif // COLORLISTMODEL_H -\ No newline at end of file -+#endif // COLORLISTMODEL_H diff --git a/scribus-rename-byte.patch b/scribus-rename-byte.patch new file mode 100644 index 0000000..cb5caaa --- /dev/null +++ b/scribus-rename-byte.patch @@ -0,0 +1,260 @@ +From 80405cec3d16e607eb97c048fa7686d3062671ff Mon Sep 17 00:00:00 2001 +From: Jean Ghali +Date: Mon, 10 Jan 2022 20:38:51 +0000 +Subject: [PATCH] Rename byte() to to_byte() in order to avoid potential + conflict with std::byte in c++17 mode + +git-svn-id: svn://scribus.net/trunk/Scribus@24801 11d20701-8431-0410-a711-e3c959e3b870 +--- + scribus/third_party/prc/oPRCFile.cc | 160 ++++++++++++++-------------- + 1 file changed, 80 insertions(+), 80 deletions(-) + +diff --git a/scribus/third_party/prc/oPRCFile.cc b/scribus/third_party/prc/oPRCFile.cc +index 10f943165..e92aedd6b 100644 +--- a/scribus/third_party/prc/oPRCFile.cc ++++ b/scribus/third_party/prc/oPRCFile.cc +@@ -74,7 +74,7 @@ using std::string; + using namespace std; + + // Map [0,1] to [0,255] +-inline uint8_t byte(double r) ++inline uint8_t to_byte(double r) + { + if(r < 0.0) r=0.0; + else if(r > 1.0) r=1.0; +@@ -449,9 +449,9 @@ void oPRCFile::doGroup(PRCgroup& group) + } + if(!same_color && i>0) + { +- tess->rgba_vertices.push_back(byte(lit->color.red)); +- tess->rgba_vertices.push_back(byte(lit->color.green)); +- tess->rgba_vertices.push_back(byte(lit->color.blue)); ++ tess->rgba_vertices.push_back(to_byte(lit->color.red)); ++ tess->rgba_vertices.push_back(to_byte(lit->color.green)); ++ tess->rgba_vertices.push_back(to_byte(lit->color.blue)); + } + } + } +@@ -593,23 +593,23 @@ void oPRCFile::doGroup(PRCgroup& group) + triangles++; + if(!same_colour) + { +- tessFace->rgba_vertices.push_back(byte(C[1].R)); +- tessFace->rgba_vertices.push_back(byte(C[1].G)); +- tessFace->rgba_vertices.push_back(byte(C[1].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[1].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].A)); + +- tessFace->rgba_vertices.push_back(byte(C[2].R)); +- tessFace->rgba_vertices.push_back(byte(C[2].G)); +- tessFace->rgba_vertices.push_back(byte(C[2].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[2].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].A)); + +- tessFace->rgba_vertices.push_back(byte(C[3].R)); +- tessFace->rgba_vertices.push_back(byte(C[3].G)); +- tessFace->rgba_vertices.push_back(byte(C[3].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[3].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].A)); + } + } + else +@@ -620,23 +620,23 @@ void oPRCFile::doGroup(PRCgroup& group) + triangles++; + if(!same_colour) + { +- tessFace->rgba_vertices.push_back(byte(C[0].R)); +- tessFace->rgba_vertices.push_back(byte(C[0].G)); +- tessFace->rgba_vertices.push_back(byte(C[0].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[0].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].A)); + +- tessFace->rgba_vertices.push_back(byte(C[2].R)); +- tessFace->rgba_vertices.push_back(byte(C[2].G)); +- tessFace->rgba_vertices.push_back(byte(C[2].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[2].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].A)); + +- tessFace->rgba_vertices.push_back(byte(C[3].R)); +- tessFace->rgba_vertices.push_back(byte(C[3].G)); +- tessFace->rgba_vertices.push_back(byte(C[3].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[3].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].A)); + } + tess->triangulated_index.push_back(vertex_indices[3]); + tess->triangulated_index.push_back(vertex_indices[1]); +@@ -644,23 +644,23 @@ void oPRCFile::doGroup(PRCgroup& group) + triangles++; + if(!same_colour) + { +- tessFace->rgba_vertices.push_back(byte(C[3].R)); +- tessFace->rgba_vertices.push_back(byte(C[3].G)); +- tessFace->rgba_vertices.push_back(byte(C[3].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[3].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].A)); + +- tessFace->rgba_vertices.push_back(byte(C[1].R)); +- tessFace->rgba_vertices.push_back(byte(C[1].G)); +- tessFace->rgba_vertices.push_back(byte(C[1].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[1].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].A)); + +- tessFace->rgba_vertices.push_back(byte(C[0].R)); +- tessFace->rgba_vertices.push_back(byte(C[0].G)); +- tessFace->rgba_vertices.push_back(byte(C[0].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[0].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].A)); + } + } + } +@@ -1648,21 +1648,21 @@ uint32_t oPRCFile::createTriangleMesh(uint32_t nP, const double P[][3], uint32_t + tessFace->rgba_vertices.reserve((tessFace->is_rgba?4:3)*3*nI); + for(uint32_t i=0; irgba_vertices.push_back(byte(C[CI[i][0]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].A)); + } + } + tess->addTessFace(tessFace); +@@ -1792,37 +1792,37 @@ uint32_t oPRCFile::createQuadMesh(uint32_t nP, const double P[][3], uint32_t nI, + for(uint32_t i=0; irgba_vertices.push_back(byte(C[CI[i][0]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].A)); + // second triangle +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].A)); + } + } + tess->addTessFace(tessFace); +@@ -1910,11 +1910,11 @@ uint32_t oPRCFile::createLines(uint32_t nP, const double P[][3], uint32_t nI, co + tess->rgba_vertices.reserve((tess->is_rgba?4:3)*nCI); + for(uint32_t i=0; irgba_vertices.push_back(byte(C[CI[i]].R)); +- tess->rgba_vertices.push_back(byte(C[CI[i]].G)); +- tess->rgba_vertices.push_back(byte(C[CI[i]].B)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].R)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].G)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].B)); + if(tess->is_rgba) +- tess->rgba_vertices.push_back(byte(C[CI[i]].A)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].A)); + } + } + const uint32_t tess_index = add3DWireTess(tess); +-- +2.34.1 + diff --git a/scribus.png b/scribus.png deleted file mode 100644 index c8437f2..0000000 Binary files a/scribus.png and /dev/null differ diff --git a/scribus.spec b/scribus.spec index b025cee..9191af4 100644 --- a/scribus.spec +++ b/scribus.spec @@ -1,5 +1,5 @@ Name: scribus -Version: 1.5.7 +Version: 1.5.8 Release: 1%{?dist} Summary: Desktop Publishing application written in Qt # swatches bring in the fun licenses @@ -14,7 +14,10 @@ Source0: %{name}-%{version}-free.tar.xz #Source0: http://downloads.sourceforge.net/%%{name}/%%{name}-%%{version}.tar.xz #Source1: http://downloads.sourceforge.net/%%{name}/%%{name}-%%{version}.tar.xz.asc -Patch0: scribus-ctorfix.patch +# https://github.com/archlinux/svntogit-community/commit/03e70e80801c540f7df7a525a911eafb9b685645 +Patch1: harfbuzz-3.0.0-symbol-lookup-fix.patch + +Patch2: scribus-rename-byte.patch BuildRequires: boost-devel BuildRequires: cmake @@ -47,7 +50,7 @@ BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(libvisio-0.1) BuildRequires: pkgconfig(libwpd-0.10) BuildRequires: pkgconfig(libwpg-0.3) -BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libxml-2.0)python3-tkinter BuildRequires: pkgconfig(libzmf-0.0) BuildRequires: pkgconfig(openscenegraph) BuildRequires: pkgconfig(openssl) @@ -94,6 +97,7 @@ chmod a-x scribus/pageitem_latexframe.h %build %cmake \ -DCMAKE_CXX_STANDARD=17 \ + -DWANT_CPP17=ON \ -DWANT_CCACHE=YES \ -DWANT_DISTROBUILD=YES \ -DWANT_GRAPHICSMAGICK=1 \ @@ -116,6 +120,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/%{name}.appdata.xml + %files %license COPYING %doc AUTHORS ChangeLog COPYING README LINKS TRANSLATION @@ -131,14 +136,40 @@ appstream-util validate-relax --nonet \ %{_datadir}/icons/hicolor/512x512/apps/%{name}.png %{_datadir}/icons/hicolor/1024x1024/apps/%{name}.png %{_datadir}/%{name}/ -#%%exclude %%{_datadir}/%%{name}/samples/*.py[co] -#%%exclude %%{_datadir}/%%{name}/scripts/*.py[co] %{_mandir}/man1/* %{_mandir}/pl/man1/* %{_mandir}/de/man1/* %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 1.5.8-1 +- Update to 1.5.8 + +* Sat Jan 22 2022 Fedora Release Engineering - 1.5.7-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jan 18 2022 Marek Kasik - 1.5.7-8 +- Rebuild for poppler-22.01.0 +- Switch to C++17 because it is needed by poppler now + +* Mon Nov 15 2021 Sandro Mani - 1.5.7-7 +- Rebuild (OpenSceneGraph) + +* Tue Sep 21 2021 Parag Nemade - 1.5.7-6 +- Fix undefined symbol: hb_subset_input_set_name_legacy (rhbz#2006220) + +* Thu Aug 05 2021 Marek Kasik - 1.5.7-5 +- Rebuild for poppler-21.08.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.5.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.5.7-3 +- Rebuilt for Python 3.10 + +* Thu May 20 2021 Pete Walter - 1.5.7-2 +- Rebuild for ICU 69 + * Wed May 12 2021 Luya Tshimbalanga - 1.5.7-1 - Update to 1.5.7 - Drop patch for podofo 0.9.7 fixed upstream @@ -744,4 +775,4 @@ appstream-util validate-relax --nonet \ - Added Epoch:0. * Thu Mar 27 2003 Phillip Compton - 0.9.8-0.fdr.1 -- Initial RPM release. \ No newline at end of file +- Initial RPM release. diff --git a/sources b/sources index 837338d..a6de699 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scribus-1.5.7-free.tar.xz) = 10d13fb5444461e7eb26b519bef9ffc421f209bda10370307366d826258575b02fab0dc8769f01179c346b18211b668013ddfca7dc811cae07e686f2b2d4b287 \ No newline at end of file +SHA512 (scribus-1.5.8-free.tar.xz) = 28ef07d7ee0be9c8db53b990fa260b05a61ebd47a3ace88b6b56193dda261e6c6b4d79c57d7514387cc0778d00f5e4a57de7242b57414d01c7f6c78e8f0d6878