commit:     1e4db05081ee5d3e479838361b7337fbac39623e
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 25 09:01:35 2021 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Jul 25 09:01:35 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e4db050

net-wireless/bluez: Fix building with glibc-2.34

Closes: https://bugs.gentoo.org/803830
Thanks-to: Sam James
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 net-wireless/bluez/bluez-5.60.ebuild               |  3 ++
 .../bluez/files/bluez-5.60-glibc-2.34.patch        | 42 ++++++++++++++++++++++
 2 files changed, 45 insertions(+)

diff --git a/net-wireless/bluez/bluez-5.60.ebuild 
b/net-wireless/bluez/bluez-5.60.ebuild
index 415cff1e5f2..394c547a517 100644
--- a/net-wireless/bluez/bluez-5.60.ebuild
+++ b/net-wireless/bluez/bluez-5.60.ebuild
@@ -71,6 +71,9 @@ PATCHES=(
        # Fedora patches
        # http://www.spinics.net/lists/linux-bluetooth/msg40136.html
        
"${FILESDIR}"/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch
+
+       # https://marc.info/?l=linux-bluetooth&m=161498090629584&w=2
+       "${FILESDIR}"/${PN}-5.60-glibc-2.34.patch
 )
 
 pkg_setup() {

diff --git a/net-wireless/bluez/files/bluez-5.60-glibc-2.34.patch 
b/net-wireless/bluez/files/bluez-5.60-glibc-2.34.patch
new file mode 100644
index 00000000000..1e846100285
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-5.60-glibc-2.34.patch
@@ -0,0 +1,42 @@
+From 124dee151746b4a8a2e8a7194af78f2c82f75d79 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbys...@in.waw.pl>
+Date: Wed, 3 Mar 2021 08:57:36 +0100
+Subject: [PATCH] media: rename local function conflicting with pause(2)
+
+profiles/audio/media.c:1284:13: error: conflicting types for 'pause'; have 
'_Bool(void *)'
+ 1284 | static bool pause(void *user_data)
+      |             ^~~~~
+In file included from /usr/include/bits/sigstksz.h:24,
+                 from /usr/include/signal.h:315,
+                 from /usr/include/glib-2.0/glib/gbacktrace.h:36,
+                 from /usr/include/glib-2.0/glib.h:34,
+                 from profiles/audio/media.c:21:
+/usr/include/unistd.h:478:12: note: previous declaration of 'pause' with type 
'int(void)'
+  478 | extern int pause (void);
+      |            ^~~~~
+---
+ profiles/audio/media.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/profiles/audio/media.c b/profiles/audio/media.c
+index c84bbe22dc..3d8c4b69c3 100644
+--- a/profiles/audio/media.c
++++ b/profiles/audio/media.c
+@@ -1281,7 +1281,7 @@ static bool stop(void *user_data)
+       return media_player_send(mp, "Stop");
+ }
+ 
+-static bool pause(void *user_data)
++static bool pause_play(void *user_data)
+ {
+       struct media_player *mp = user_data;
+ 
+@@ -1331,7 +1331,7 @@ static struct avrcp_player_cb player_cb = {
+       .set_volume = set_volume,
+       .play = play,
+       .stop = stop,
+-      .pause = pause,
++      .pause = pause_play,
+       .next = next,
+       .previous = previous,
+ };

Reply via email to