commit:     6a29d4138555d7ae5af4d024c9ff9b8d4541b13b
Author:     Haelwenn (lanodan) Monnier <contact <AT> hacktivis <DOT> me>
AuthorDate: Thu May  9 11:40:32 2024 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun May 12 16:00:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a29d413

dev-libs/weston: Fix building with musl 1.2.5 (missing libgen.h)

Signed-off-by: Haelwenn (lanodan) Monnier <contact <AT> hacktivis.me>
Closes: https://github.com/gentoo/gentoo/pull/36615
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 dev-libs/weston/files/weston-musl-basename.patch | 73 ++++++++++++++++++++++++
 dev-libs/weston/weston-13.0.1.ebuild             |  1 +
 2 files changed, 74 insertions(+)

diff --git a/dev-libs/weston/files/weston-musl-basename.patch 
b/dev-libs/weston/files/weston-musl-basename.patch
new file mode 100644
index 000000000000..57b91331055f
--- /dev/null
+++ b/dev-libs/weston/files/weston-musl-basename.patch
@@ -0,0 +1,73 @@
+From dbd134ca5a3c639819c6fd503de7e2c72762ada0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Thu, 14 Dec 2023 09:13:54 -0800
+Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
+Upstream: 
https://gitlab.freedesktop.org/wayland/weston/-/commit/dbd134ca5a3c639819c6fd503de7e2c72762ada0
+Upstream-Status: Merged in main branch
+
+Latest musl has removed the declaration from string.h [1] as it only
+implements POSIX version alone and string.h in glibc implements GNU
+version of basename. This now results in compile errors on musl.
+
+This might be a warning with older compilers but it is error with
+Clang-17+ as it treats -Wimplicit-function-declaration as error
+
+Switch the use in backlight_init function to use POSIX version
+
+[1] 
https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Signed-off-by: Khem Raj <[email protected]>
+---
+ libweston/backend-drm/libbacklight.c | 8 +++++---
+ tools/zunitc/src/zunitc_impl.c       | 1 +
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/libweston/backend-drm/libbacklight.c 
b/libweston/backend-drm/libbacklight.c
+index ca7f2d6806..973d15ff8c 100644
+--- a/libweston/backend-drm/libbacklight.c
++++ b/libweston/backend-drm/libbacklight.c
+@@ -41,6 +41,7 @@
+ #include <drm.h>
+ #include <fcntl.h>
+ #include <malloc.h>
++#include <libgen.h>
+ #include <string.h>
+ #include <errno.h>
+ 
+@@ -167,7 +168,7 @@ struct backlight *backlight_init(struct udev_device 
*drm_device,
+       DIR *backlights = NULL;
+       struct dirent *entry;
+       enum backlight_type type = 0;
+-      char buffer[100];
++      char buffer[100], basename_buffer[100];
+       struct backlight *backlight = NULL;
+       int ret;
+ 
+@@ -186,9 +187,10 @@ struct backlight *backlight_init(struct udev_device 
*drm_device,
+       free(path);
+       if (ret < 0)
+               return NULL;
+-
++      strncpy(basename_buffer, buffer, ret);
+       buffer[ret] = '\0';
+-      pci_name = basename(buffer);
++      basename_buffer[ret] = '\0';
++      pci_name = basename(basename_buffer);
+ 
+       if (connector_type <= 0)
+               return NULL;
+diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
+index 18f030158e..9b460fa03b 100644
+--- a/tools/zunitc/src/zunitc_impl.c
++++ b/tools/zunitc/src/zunitc_impl.c
+@@ -27,6 +27,7 @@
+ 
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+-- 
+GitLab
+

diff --git a/dev-libs/weston/weston-13.0.1.ebuild 
b/dev-libs/weston/weston-13.0.1.ebuild
index 40b3bd77eef2..801ef005cb3b 100644
--- a/dev-libs/weston/weston-13.0.1.ebuild
+++ b/dev-libs/weston/weston-13.0.1.ebuild
@@ -95,6 +95,7 @@ BDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/${PN}-neatvnc-0.8.patch
+       "${FILESDIR}"/${PN}-musl-basename.patch
 )
 
 python_check_deps() {

Reply via email to