[arch-commits] Commit in scribus/repos (5 files)
Felix Yan
felixonmars at gemini.archlinux.org
Thu Apr 14 22:09:18 UTC 2022
Date: Thursday, April 14, 2022 @ 22:09:18
Author: felixonmars
Revision: 1186311
archrelease: copy trunk to community-staging-x86_64
Added:
scribus/repos/community-staging-x86_64/
scribus/repos/community-staging-x86_64/PKGBUILD
(from rev 1186310, scribus/trunk/PKGBUILD)
scribus/repos/community-staging-x86_64/harfbuzz-3.0.0.patch
(from rev 1186310, scribus/trunk/harfbuzz-3.0.0.patch)
scribus/repos/community-staging-x86_64/poppler-22.02.0.patch
(from rev 1186310, scribus/trunk/poppler-22.02.0.patch)
scribus/repos/community-staging-x86_64/poppler-22.03.0.patch
(from rev 1186310, scribus/trunk/poppler-22.03.0.patch)
-----------------------+
PKGBUILD | 71 ++++++++++++++++++++++++++
harfbuzz-3.0.0.patch | 68 ++++++++++++++++++++++++
poppler-22.02.0.patch | 131 ++++++++++++++++++++++++++++++++++++++++++++++++
poppler-22.03.0.patch | 39 ++++++++++++++
4 files changed, 309 insertions(+)
Copied: scribus/repos/community-staging-x86_64/PKGBUILD (from rev 1186310, scribus/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2022-04-14 22:09:18 UTC (rev 1186311)
@@ -0,0 +1,71 @@
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+# Maintainer: Caleb Maclennan <caleb at alerque.com>
+# Contributor: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: tobias <tobias at archlinux.org>
+# Contributor: Ben <ben at benmazer.net>
+
+pkgname=scribus
+pkgver=1.5.8
+pkgrel=4
+pkgdesc="Desktop publishing software"
+arch=(x86_64)
+url="https://www.scribus.net/"
+license=(GPL)
+depends=(boost-libs cairo fontconfig freetype2 harfbuzz-icu
+ hunspell lcms2 libcdr libcups libfreehand libicuuc.so libjpeg libmspub
+ libpagemaker libpng libqxp librevenge libtiff libvisio libxml2 libzmf
+ openscenegraph openssl podofo poppler python3 qt5-base zlib) #graphicsmagick
+makedepends=(cmake boost mesa qt5-tools)
+optdepends=('tk: scripts based on tkinter'
+ 'hyphen-lang: hyphenation patterns for desired languages')
+options=(!lto)
+source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.asc}
+ poppler-22.02.0.patch
+ poppler-22.03.0.patch)
+sha256sums=('47816e8fcf6d05788ff16aa4499f97ff22431c777a7789149b0a88b451e16b74'
+ 'SKIP'
+ '016ae42c6b33b78d579c62e19bee22c442c49baf452032f9fb62580327ca24e5'
+ 'dd66c1cc7a4be041b0e9d6fcacb819a1e1a1ce45fd06057e9485edb7644332a7')
+validpgpkeys=(5086B8D68E70FDDF4C40045AEF7B95E7F60166DA # Peter Linnell <plinnell at scribus.net>
+ 757F5E9B13DD648887AD50092D47C099E782504E # The Scribus Team (www.scribus.net) <the_scribus_team at scribus.net>
+ 6558BE84D27273A438A151198BEA48118AEBEE64) # Craig Bradney <cbradney at zipworld.com.au>
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ # https://bugs.scribus.net/view.php?id=16734
+ patch -Np1 -i ../poppler-22.02.0.patch
+ # https://bugs.scribus.net/view.php?id=16764
+ patch -Np1 -i ../poppler-22.03.0.patch
+}
+
+build() {
+ cmake -B build -S ${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DWANT_CPP17=ON \
+ -DWANT_HUNSPELL=ON \
+ -DWITH_BOOST=ON \
+ -DWITH_PODOFO=ON \
+ -DWANT_GRAPHICSMAGICK=ON
+ make -C build
+}
+
+package() {
+ make -C build DESTDIR="${pkgdir}" install
+
+ cd ${pkgname}-${pkgver}
+
+ install -Dm644 scribus.desktop -t "${pkgdir}"/usr/share/applications
+
+ for i in 16x16 32x32 128x128 256x256 512x512 1024x1024
+ do
+ install -Dm644 resources/iconsets/artwork/icon_${i}.png "${pkgdir}"/usr/share/icons/hicolor/${i}/apps/scribus.png
+ done
+
+ # Use system hyphen
+ rm -rf "${pkgdir}"/usr/share/scribus/dicts/hyph
+ ln -sf /usr/share/hyphen "${pkgdir}"/usr/share/scribus/dicts/hyph
+}
Copied: scribus/repos/community-staging-x86_64/harfbuzz-3.0.0.patch (from rev 1186310, scribus/trunk/harfbuzz-3.0.0.patch)
===================================================================
--- community-staging-x86_64/harfbuzz-3.0.0.patch (rev 0)
+++ community-staging-x86_64/harfbuzz-3.0.0.patch 2022-04-14 22:09:18 UTC (rev 1186311)
@@ -0,0 +1,68 @@
+From 1b546978bc4ea0b2a73fbe4d7cf947887e865162 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <jghali at libertysurf.fr>
+Date: Sat, 21 Aug 2021 20:05:43 +0000
+Subject: [PATCH] Use new hb-subset api with harfbuzz >= 2.9.0 in order to
+ prepeare for removal of legacy API in 3.0
+
+git-svn-id: svn://scribus.net/trunk/Scribus@24696 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/fonts/sfnt.cpp | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp
+index 50777f66e3..fca8b39158 100644
+--- a/scribus/fonts/sfnt.cpp
++++ b/scribus/fonts/sfnt.cpp
+@@ -1256,11 +1256,19 @@ namespace sfnt {
+
+ 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<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
+
+From 68ec41169eaceea4a6e1d6f359762a191c7e61d5 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <jghali at libertysurf.fr>
+Date: Sun, 19 Sep 2021 11:59:50 +0000
+Subject: [PATCH] #16635: Replace hb_subset, removed in harfbuzz 3.0, by
+ hb_subset_or_fail
+
+git-svn-id: svn://scribus.net/trunk/Scribus@24707 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/fonts/sfnt.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp
+index fca8b39158..b3dfa50dc6 100644
+--- a/scribus/fonts/sfnt.cpp
++++ b/scribus/fonts/sfnt.cpp
+@@ -1271,9 +1271,15 @@ namespace sfnt {
+ #endif
+ #endif
+
++#if HB_VERSION_ATLEAST(2, 9, 0)
++ QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset_or_fail(hbFullFace.get(), hbSubsetInput.get()));
++ if (hbSubsetFace.isNull())
++ return QByteArray();
++#else
+ QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
+ if (hbSubsetFace.isNull())
+ return QByteArray();
++#endif
+
+ QScopedPointer<hb_blob_t, HbBlobDeleter> hbSubsetBlob(hb_face_reference_blob(hbSubsetFace.get()));
+ if (hbSubsetBlob.isNull())
Copied: scribus/repos/community-staging-x86_64/poppler-22.02.0.patch (from rev 1186310, scribus/trunk/poppler-22.02.0.patch)
===================================================================
--- community-staging-x86_64/poppler-22.02.0.patch (rev 0)
+++ community-staging-x86_64/poppler-22.02.0.patch 2022-04-14 22:09:18 UTC (rev 1186311)
@@ -0,0 +1,131 @@
+diff -upr scribus-1.5.8.orig/scribus/plugins/import/pdf/slaoutput.cpp scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp
+--- scribus-1.5.8.orig/scribus/plugins/import/pdf/slaoutput.cpp 2022-01-23 18:16:01.000000000 +0200
++++ scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp 2022-02-02 12:21:07.441133975 +0200
+@@ -7,6 +7,8 @@ for which a new license (GPL+exception)
+
+ #include "slaoutput.h"
+
++#include <memory>
++#include <optional>
+ #include <poppler/GlobalParams.h>
+ #include <poppler/poppler-config.h>
+ #include <poppler/FileSpec.h>
+@@ -3027,14 +3029,19 @@ void SlaOutputDev::markPoint(POPPLER_CON
+ void SlaOutputDev::updateFont(GfxState *state)
+ {
+ GfxFont *gfxFont;
+- GfxFontLoc *fontLoc;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++ std::optional<GfxFontLoc> fontLoc;
++ const GooString *fileName = nullptr;
++#else
++ GfxFontLoc *fontLoc = nullptr;
++ GooString *fileName = nullptr;
++ FoFiTrueType *ff;
++#endif
+ GfxFontType fontType;
+ SlaOutFontFileID *id;
+ SplashFontFile *fontFile;
+ SplashFontSrc *fontsrc = nullptr;
+- FoFiTrueType *ff;
+ Object refObj, strObj;
+- GooString *fileName;
+ char *tmpBuf;
+ int tmpBufLen = 0;
+ int *codeToGID;
+@@ -3046,9 +3053,7 @@ void SlaOutputDev::updateFont(GfxState *
+ SplashCoord matrix[6];
+
+ m_font = nullptr;
+- fileName = nullptr;
+ tmpBuf = nullptr;
+- fontLoc = nullptr;
+
+ gfxFont = state->getFont();
+ if (!gfxFont)
+@@ -3083,7 +3088,11 @@ void SlaOutputDev::updateFont(GfxState *
+ }
+ else
+ { // gfxFontLocExternal
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++ fileName = fontLoc->pathAsGooString();
++#else
+ fileName = fontLoc->path;
++#endif
+ fontType = fontLoc->fontType;
+ }
+
+@@ -3130,15 +3139,23 @@ void SlaOutputDev::updateFont(GfxState *
+ break;
+ case fontTrueType:
+ case fontTrueTypeOT:
++ {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++ std::unique_ptr<FoFiTrueType> ff;
++#endif
+ if (fileName)
+ ff = FoFiTrueType::load(fileName->getCString());
+ else
+ ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+ if (ff)
+ {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++ codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff.get());
++#else
+ codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff);
+- n = 256;
+ delete ff;
++#endif
++ n = 256;
+ }
+ else
+ {
+@@ -3154,6 +3171,7 @@ void SlaOutputDev::updateFont(GfxState *
+ gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ goto err2;
+ }
++ }
+ break;
+ case fontCIDType0:
+ case fontCIDType0C:
+@@ -3203,14 +3221,21 @@ void SlaOutputDev::updateFont(GfxState *
+ }
+ else
+ {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++ std::unique_ptr<FoFiTrueType> ff;
++#endif
+ if (fileName)
+ ff = FoFiTrueType::load(fileName->getCString());
+ else
+ ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+ if (! ff)
+ goto err2;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++ codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff.get(), &n);
++#else
+ codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n);
+ delete ff;
++#endif
+ }
+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(
+ id,
+@@ -3247,14 +3272,18 @@ void SlaOutputDev::updateFont(GfxState *
+ mat[3] = -m22;
+ m_font = m_fontEngine->getFont(fontFile, mat, matrix);
+
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
+ delete fontLoc;
++#endif
+ if (fontsrc && !fontsrc->isFile)
+ fontsrc->unref();
+ return;
+
+ err2:
+ delete id;
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
+ delete fontLoc;
++#endif
+ err1:
+ if (fontsrc && !fontsrc->isFile)
+ fontsrc->unref();
Copied: scribus/repos/community-staging-x86_64/poppler-22.03.0.patch (from rev 1186310, scribus/trunk/poppler-22.03.0.patch)
===================================================================
--- community-staging-x86_64/poppler-22.03.0.patch (rev 0)
+++ community-staging-x86_64/poppler-22.03.0.patch 2022-04-14 22:09:18 UTC (rev 1186311)
@@ -0,0 +1,39 @@
+diff -upr scribus-1.5.8.orig/scribus/plugins/import/pdf/importpdf.cpp scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp
+--- scribus-1.5.8.orig/scribus/plugins/import/pdf/importpdf.cpp 2022-01-23 18:16:01.000000000 +0200
++++ scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp 2022-03-02 14:03:29.851352471 +0200
+@@ -90,7 +90,11 @@ QImage PdfPlug::readThumbnail(const QStr
+ #endif
+ globalParams->setErrQuiet(gTrue);
+
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
++ PDFDoc pdfDoc{std::make_unique<GooString>(fname)};
++#else
+ PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr};
++#endif
+ if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted)
+ return QImage();
+
+@@ -343,7 +347,11 @@ bool PdfPlug::convert(const QString& fn)
+ globalParams->setErrQuiet(gTrue);
+ // globalParams->setPrintCommands(gTrue);
+ QList<OptionalContentGroup*> ocgGroups;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
++ auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(std::make_unique<GooString>(fname)));
++#else
+ auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr));
++#endif
+ if (pdfDoc)
+ {
+ if (pdfDoc->getErrorCode() == errEncrypted)
+@@ -363,7 +371,11 @@ bool PdfPlug::convert(const QString& fn)
+ auto fname = new GooString(QFile::encodeName(fn).data());
+ #endif
+ auto userPW = new GooString(text.toLocal8Bit().data());
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
++ pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), GooString(userPW), GooString(userPW)));
++#else
+ pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr));
++#endif
+ qApp->changeOverrideCursor(QCursor(Qt::WaitCursor));
+ }
+ if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone))
More information about the arch-commits
mailing list