[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