commit:     3392d007e80240e76b457782760e558afb1b2a4f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  4 18:06:13 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep  4 18:06:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3392d007

x11-libs/cairo: fix build with binutils-2.39

Closes: https://bugs.gentoo.org/868405
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-libs/cairo/cairo-1.16.0-r5.ebuild              |  1 +
 .../files/cairo-1.16.0-binutils-2.39-ptr.patch     | 29 ++++++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/x11-libs/cairo/cairo-1.16.0-r5.ebuild 
b/x11-libs/cairo/cairo-1.16.0-r5.ebuild
index bf5a7256fd4b..dc8e73c91275 100644
--- a/x11-libs/cairo/cairo-1.16.0-r5.ebuild
+++ b/x11-libs/cairo/cairo-1.16.0-r5.ebuild
@@ -63,6 +63,7 @@ PATCHES=(
        "${FILESDIR}"/${P}-pdf-add-missing-flush.patch
        
"${FILESDIR}"/${P}-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch
        "${FILESDIR}"/${P}-strings.patch
+       "${FILESDIR}"/${P}-binutils-2.39-ptr.patch
 )
 
 src_prepare() {

diff --git a/x11-libs/cairo/files/cairo-1.16.0-binutils-2.39-ptr.patch 
b/x11-libs/cairo/files/cairo-1.16.0-binutils-2.39-ptr.patch
new file mode 100644
index 000000000000..6749786d23bd
--- /dev/null
+++ b/x11-libs/cairo/files/cairo-1.16.0-binutils-2.39-ptr.patch
@@ -0,0 +1,29 @@
+https://gitlab.freedesktop.org/cairo/cairo/-/commit/74f2da7b70179a363b5a4649b9c5d6fd18d9cbc0
+https://bugs.gentoo.org/868405
+
+From 24996e6ee241ebcd303dd34a2b06b37a6dd0c217 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <s...@debian.org>
+Date: Wed, 13 Jul 2022 21:26:57 +0100
+Subject: [PATCH] Fix build with newer binutils-dev installed
+
+It seems the PTR typedef (or macro?) has been removed from newer versions
+of libbfd.
+
+Resolves: https://gitlab.freedesktop.org/cairo/cairo/-/issues/581
+Signed-off-by: Simon McVittie <s...@debian.org>
+--- a/util/cairo-trace/lookup-symbol.c
++++ b/util/cairo-trace/lookup-symbol.c
+@@ -106,10 +106,10 @@ _symtab_init (struct symtab *symtab, const char 
*filename)
+     if (! bfd_check_format_matches (symtab->bfd, bfd_object, &matching))
+       goto BAIL;
+ 
+-    symcount = bfd_read_minisymbols (symtab->bfd, false, (PTR) &symtab->syms, 
&size);
++    symcount = bfd_read_minisymbols (symtab->bfd, false, (void **) 
&symtab->syms, &size);
+     if (symcount == 0) {
+       symcount = bfd_read_minisymbols (symtab->bfd, true /* dynamic */ ,
+-              (PTR) &symtab->syms, &size);
++              (void **) &symtab->syms, &size);
+     }
+     if (symcount < 0)
+       goto BAIL;
+GitLab

Reply via email to