commit:     7087b03a55dbfaf064c196db5b274afc36f96132
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 23 06:15:03 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 23 06:15:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7087b03a

sys-apps/fwupd: fix build w/ new pango

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/fwupd/files/fwupd-2.0.3-pango.patch | 36 ++++++++++++++++++++++++++++
 sys-apps/fwupd/fwupd-2.0.3-r1.ebuild         |  4 ++++
 2 files changed, 40 insertions(+)

diff --git a/sys-apps/fwupd/files/fwupd-2.0.3-pango.patch 
b/sys-apps/fwupd/files/fwupd-2.0.3-pango.patch
new file mode 100644
index 000000000000..44cbdada3701
--- /dev/null
+++ b/sys-apps/fwupd/files/fwupd-2.0.3-pango.patch
@@ -0,0 +1,36 @@
+https://github.com/fwupd/fwupd/pull/8588
+
+From 5e095c944557cbebc47cbf42c3738358fa4e45d4 Mon Sep 17 00:00:00 2001
+From: Richard Hughes <[email protected]>
+Date: Fri, 14 Mar 2025 19:13:42 +0000
+Subject: [PATCH] trivial: Fix compile when using Pango >= 1.56.2
+
+Fixes https://github.com/fwupd/fwupd/issues/8587
+---
+ plugins/uefi-capsule/make-images.py | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/uefi-capsule/make-images.py 
b/plugins/uefi-capsule/make-images.py
+index d4c2242de5f0..a8641d61282a 100755
+--- a/plugins/uefi-capsule/make-images.py
++++ b/plugins/uefi-capsule/make-images.py
+@@ -141,8 +141,16 @@ def main(args) -> int:
+                 items = Pango.itemize(pctx, label_translated, 0, length, 
attrs, None)
+                 if not items:
+                     continue
+-                gs = Pango.GlyphString()
+-                Pango.shape(label_translated, length, items[0].analysis, gs)
++                try:
++                    # urgh, 
https://gitlab.gnome.org/GNOME/pango/-/merge_requests/829
++                    # -- if we depend on Pango >= 1.56.2 we can drop the 
fallback
++                    #
++                    # ...or if we depend on python3-gobject >= 3.51.0 we can 
use the nicer:
++                    #    len(inspect.signature(Pango.shape).parameters)
++                    gs = Pango.shape(label_translated, length, 
items[0].analysis)
++                except TypeError:
++                    gs = Pango.GlyphString()
++                    Pango.shape(label_translated, length, items[0].analysis, 
gs)
+                 del img, cctx, pctx, layout
+ 
+                 def find_size(fs, f, data):
+

diff --git a/sys-apps/fwupd/fwupd-2.0.3-r1.ebuild 
b/sys-apps/fwupd/fwupd-2.0.3-r1.ebuild
index 04b6e5a7a61b..0a34b2458417 100644
--- a/sys-apps/fwupd/fwupd-2.0.3-r1.ebuild
+++ b/sys-apps/fwupd/fwupd-2.0.3-r1.ebuild
@@ -96,6 +96,10 @@ DEPEND="
        )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.0.3-pango.patch
+)
+
 src_prepare() {
        default
 

Reply via email to