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