[packages/scribus] upstream patches fixing build with recent harfbuzz versions

atler atler at pld-linux.org
Thu Jan 20 10:31:02 CET 2022


commit 7a3a9ad6c78a80134e5ec18b370b23d190ae62bd
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Jan 20 10:30:00 2022 +0100

    upstream patches fixing build with recent harfbuzz versions

 harfbuzz.patch | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 scribus.spec   |  2 ++
 2 files changed, 69 insertions(+)
---
diff --git a/scribus.spec b/scribus.spec
index f159404..f263105 100644
--- a/scribus.spec
+++ b/scribus.spec
@@ -17,6 +17,7 @@ Group:		X11/Applications/Publishing
 Source0:	https://downloads.sourceforge.net/scribus/%{name}-%{version}.tar.xz
 # Source0-md5:	4d0c63cfdade8a9abf225a4415e43694
 Patch0:		%{name}-docs.patch
+Patch1:		harfbuzz.patch
 URL:		https://www.scribus.net/
 BuildRequires:	GraphicsMagick-devel
 BuildRequires:	Qt5Core-devel >= %{qt_ver}
@@ -160,6 +161,7 @@ Domyślne szablony dokumentów dostarczane wraz ze Scribusem.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 mkdir -p build
diff --git a/harfbuzz.patch b/harfbuzz.patch
new file mode 100644
index 0000000..4a82485
--- /dev/null
+++ b/harfbuzz.patch
@@ -0,0 +1,67 @@
+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())
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/scribus.git/commitdiff/7a3a9ad6c78a80134e5ec18b370b23d190ae62bd



More information about the pld-cvs-commit mailing list