commit:     08cc05caea45f6b7c53d95cc5d680055754ef7bb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 24 22:29:16 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 24 22:29:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08cc05ca

net-wireless/bluez: partly fix C23 compat

Noticed when looking at bug #944059. This issue was already fixed
by the GCC change referenced in bug #943809 but I already did the work
to backport these, so let's pull them in.

The issue in bug #944059 is an issue in sys-libs/readline which needs
to be addressed separately.

Bug: https://bugs.gentoo.org/943809
Bug: https://bugs.gentoo.org/944059
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-wireless/bluez/bluez-5.79.ebuild          |   3 +
 net-wireless/bluez/files/bluez-5.79-c23.patch | 123 ++++++++++++++++++++++++++
 2 files changed, 126 insertions(+)

diff --git a/net-wireless/bluez/bluez-5.79.ebuild 
b/net-wireless/bluez/bluez-5.79.ebuild
index fbcd5d01a0d6..c5921065eaf1 100644
--- a/net-wireless/bluez/bluez-5.79.ebuild
+++ b/net-wireless/bluez/bluez-5.79.ebuild
@@ -73,6 +73,9 @@ PATCHES=(
        # https://bugs.gentoo.org/928365
        # https://github.com/bluez/bluez/issues/726
        "${FILESDIR}"/${PN}-disable-test-vcp.patch
+
+       # bug #944059
+       "${FILESDIR}"/${P}-c23.patch
 )
 
 pkg_setup() {

diff --git a/net-wireless/bluez/files/bluez-5.79-c23.patch 
b/net-wireless/bluez/files/bluez-5.79-c23.patch
new file mode 100644
index 000000000000..af790901b3b7
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-5.79-c23.patch
@@ -0,0 +1,123 @@
+https://bugs.gentoo.org/943809
+https://github.com/bluez/bluez/commit/da5b5b0ecb1ead38676768ef78d46449d404bdc0
+https://github.com/bluez/bluez/commit/4d60826865c760cc4e5718b6414746a394768110
+https://github.com/bluez/bluez/commit/6f3111eb680df9c13502aacd65554846a9e13a3f
+
+From da5b5b0ecb1ead38676768ef78d46449d404bdc0 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <[email protected]>
+Date: Wed, 20 Nov 2024 13:02:56 +0000
+Subject: [PATCH] shared/ad: fix -std=c23 build failure
+
+gcc-15 switched to -std=c23 by default:
+
+    
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
+
+As a result `bluez` fails the build as:
+
+    src/shared/ad.c:1090:24: error: incompatible types when returning type 
'_Bool' but 'const char *' was expected
+     1090 |                 return false;
+          |                        ^~~~~
+---
+ src/shared/ad.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/ad.c b/src/shared/ad.c
+index d08ce7af9b..dac381bbe6 100644
+--- a/src/shared/ad.c
++++ b/src/shared/ad.c
+@@ -1087,7 +1087,7 @@ bool bt_ad_add_name(struct bt_ad *ad, const char *name)
+ const char *bt_ad_get_name(struct bt_ad *ad)
+ {
+       if (!ad)
+-              return false;
++              return NULL;
+ 
+       return ad->name;
+ }
+
+From 4d60826865c760cc4e5718b6414746a394768110 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <[email protected]>
+Date: Wed, 20 Nov 2024 13:03:29 +0000
+Subject: [PATCH] shared/shell: fix -std=c23 build failure
+
+gcc-15 switched to -std=c23 by default:
+
+    
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
+
+As a result `bluez` fails the build as:
+
+    src/shared/shell.c:365:24: error: incompatible types when returning type 
'_Bool' but 'struct input *' was expected
+      365 |                 return false;
+          |                        ^~~~~
+---
+ src/shared/shell.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/shell.c b/src/shared/shell.c
+index a8fa87696..aa6c16c8c 100644
+--- a/src/shared/shell.c
++++ b/src/shared/shell.c
+@@ -362,7 +362,7 @@ static struct input *input_new(int fd)
+ 
+       io = io_new(fd);
+       if (!io)
+-              return false;
++              return NULL;
+ 
+       input = new0(struct input, 1);
+       input->io = io;
+From 6f3111eb680df9c13502aacd65554846a9e13a3f Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <[email protected]>
+Date: Wed, 20 Nov 2024 13:03:55 +0000
+Subject: [PATCH] shared/gatt-helpers: fix -std=c23 build failure
+
+gcc-15 switched to -std=c23 by default:
+
+    
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
+
+As a result `bluez` fails the build as:
+
+    src/shared/gatt-helpers.c:1136:24: error: incompatible types when 
returning type '_Bool' but 'struct bt_gatt_request *' was expected
+     1136 |                 return false;
+          |                        ^~~~~
+    src/shared/gatt-helpers.c:1250:24: error: incompatible types when 
returning type '_Bool' but 'struct bt_gatt_request *' was expected
+     1250 |                 return false;
+          |                        ^~~~~
+    src/shared/gatt-helpers.c:1478:24: error: incompatible types when 
returning type '_Bool' but 'struct bt_gatt_request *' was expected
+     1478 |                 return false;
+          |                        ^~~~~
+---
+ src/shared/gatt-helpers.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/shared/gatt-helpers.c b/src/shared/gatt-helpers.c
+index 50fcb269be..f1fa6300a1 100644
+--- a/src/shared/gatt-helpers.c
++++ b/src/shared/gatt-helpers.c
+@@ -1133,7 +1133,7 @@ struct bt_gatt_request 
*bt_gatt_discover_included_services(struct bt_att *att,
+       uint8_t pdu[6];
+ 
+       if (!att)
+-              return false;
++              return NULL;
+ 
+       op = new0(struct bt_gatt_request, 1);
+       op->att = att;
+@@ -1247,7 +1247,7 @@ struct bt_gatt_request 
*bt_gatt_discover_characteristics(struct bt_att *att,
+       uint8_t pdu[6];
+ 
+       if (!att)
+-              return false;
++              return NULL;
+ 
+       op = new0(struct bt_gatt_request, 1);
+       op->att = att;
+@@ -1475,7 +1475,7 @@ struct bt_gatt_request 
*bt_gatt_discover_descriptors(struct bt_att *att,
+       uint8_t pdu[4];
+ 
+       if (!att)
+-              return false;
++              return NULL;
+ 
+       op = new0(struct bt_gatt_request, 1);
+       op->att = att;

Reply via email to