Date: Saturday, September 18, 2021 @ 20:29:20 Author: foutrelis Revision: 1017077
upgpkg: scribus 1.5.7-4: harfbuzz 3.0.0 rebuild Added: scribus/trunk/harfbuzz-3.0.0-kludge.patch scribus/trunk/harfbuzz-3.0.0.patch Modified: scribus/trunk/PKGBUILD -----------------------------+ PKGBUILD | 18 +++++++++++++++--- harfbuzz-3.0.0-kludge.patch | 12 ++++++++++++ harfbuzz-3.0.0.patch | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-09-18 20:26:17 UTC (rev 1017076) +++ PKGBUILD 2021-09-18 20:29:20 UTC (rev 1017077) @@ -7,7 +7,7 @@ pkgname=scribus pkgver=1.5.7 -pkgrel=3 +pkgrel=4 pkgdesc="Desktop publishing software" arch=(x86_64) url="https://www.scribus.net/" @@ -19,13 +19,25 @@ makedepends=(cmake boost mesa qt5-tools) optdepends=('tk: scripts based on tkinter' 'hyphen-lang: hyphenation patterns for desired languages') -source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.asc}) +source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.asc} + harfbuzz-3.0.0-kludge.patch + harfbuzz-3.0.0.patch) sha256sums=('318316b2cfc7a76191d3e0d3f8c2265147daea0570162028e243c292d826f8ce' - 'SKIP') + 'SKIP' + '617d5912fb0cda6b93c18d139a870204fe1941c9fd603b5f23d0aa9f2a56a381' + 'bc9fbdada576bd769e07cb6848a39e48d462e6f893dbfedcc4f86229ca27812b') 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} + patch -Np1 -i ../harfbuzz-3.0.0.patch + + # https://bugs.scribus.net/view.php?id=16635 + patch -Np1 -i ../harfbuzz-3.0.0-kludge.patch +} + build() { cmake -B build -S ${pkgname}-${pkgver} \ -DCMAKE_INSTALL_PREFIX=/usr \ Added: harfbuzz-3.0.0-kludge.patch =================================================================== --- harfbuzz-3.0.0-kludge.patch (rev 0) +++ harfbuzz-3.0.0-kludge.patch 2021-09-18 20:29:20 UTC (rev 1017077) @@ -0,0 +1,12 @@ +diff -upr scribus-1.5.7.orig/scribus/fonts/sfnt.cpp scribus-1.5.7/scribus/fonts/sfnt.cpp +--- scribus-1.5.7.orig/scribus/fonts/sfnt.cpp 2021-09-18 23:22:51.537708802 +0300 ++++ scribus-1.5.7/scribus/fonts/sfnt.cpp 2021-09-18 23:23:53.602675236 +0300 +@@ -1271,7 +1271,7 @@ namespace sfnt { + #endif + #endif + +- QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get())); ++ QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset_or_fail(hbFullFace.get(), hbSubsetInput.get())); + if (hbSubsetFace.isNull()) + return QByteArray(); + Added: harfbuzz-3.0.0.patch =================================================================== --- harfbuzz-3.0.0.patch (rev 0) +++ harfbuzz-3.0.0.patch 2021-09-18 20:29:20 UTC (rev 1017077) @@ -0,0 +1,36 @@ +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()));