Date: Wednesday, February 2, 2022 @ 10:36:14 Author: foutrelis Revision: 1122411
archrelease: copy trunk to community-staging-x86_64 Added: scribus/repos/community-staging-x86_64/ scribus/repos/community-staging-x86_64/PKGBUILD (from rev 1122410, scribus/trunk/PKGBUILD) scribus/repos/community-staging-x86_64/harfbuzz-3.0.0.patch (from rev 1122410, scribus/trunk/harfbuzz-3.0.0.patch) scribus/repos/community-staging-x86_64/poppler-22.2.0.patch (from rev 1122410, scribus/trunk/poppler-22.2.0.patch) ----------------------+ PKGBUILD | 67 +++++++++++++++++++++++++ harfbuzz-3.0.0.patch | 68 +++++++++++++++++++++++++ poppler-22.2.0.patch | 131 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 266 insertions(+) Copied: scribus/repos/community-staging-x86_64/PKGBUILD (from rev 1122410, scribus/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2022-02-02 10:36:14 UTC (rev 1122411) @@ -0,0 +1,67 @@ +# Maintainer: Bruno Pagani <archa...@archlinux.org> +# Maintainer: Caleb Maclennan <ca...@alerque.com> +# Contributor: Gaetan Bisson <bis...@archlinux.org> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> +# Contributor: Ronald van Haren <ronald.archlinux.org> +# Contributor: tobias <tob...@archlinux.org> +# Contributor: Ben <b...@benmazer.net> + +pkgname=scribus +pkgver=1.5.8 +pkgrel=2 +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.2.0.patch) +sha256sums=('47816e8fcf6d05788ff16aa4499f97ff22431c777a7789149b0a88b451e16b74' + 'SKIP' + '016ae42c6b33b78d579c62e19bee22c442c49baf452032f9fb62580327ca24e5') +validpgpkeys=(5086B8D68E70FDDF4C40045AEF7B95E7F60166DA # Peter Linnell <plinn...@scribus.net> + 757F5E9B13DD648887AD50092D47C099E782504E # The Scribus Team (www.scribus.net) <the_scribus_t...@scribus.net> + 6558BE84D27273A438A151198BEA48118AEBEE64) # Craig Bradney <cbrad...@zipworld.com.au> + +prepare() { + cd ${pkgname}-${pkgver} + # https://bugs.scribus.net/view.php?id=16734 + patch -Np1 -i ../poppler-22.2.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 1122410, 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-02-02 10:36:14 UTC (rev 1122411) @@ -0,0 +1,68 @@ +From 1b546978bc4ea0b2a73fbe4d7cf947887e865162 Mon Sep 17 00:00:00 2001 +From: Jean Ghali <jgh...@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 <jgh...@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.2.0.patch (from rev 1122410, scribus/trunk/poppler-22.2.0.patch) =================================================================== --- community-staging-x86_64/poppler-22.2.0.patch (rev 0) +++ community-staging-x86_64/poppler-22.2.0.patch 2022-02-02 10:36:14 UTC (rev 1122411) @@ -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();