commit:     34ac751512e1e95d0585095bc82a331164df50e4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  7 01:04:41 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Feb  7 01:04:41 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34ac7515

media-libs/virglrenderer: fix build w/ glibc-2.43

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

 .../files/virglrenderer-1.2.0-c23-glibc-2.43.patch | 63 ++++++++++++++++++++++
 .../virglrenderer/virglrenderer-1.2.0.ebuild       |  4 ++
 2 files changed, 67 insertions(+)

diff --git 
a/media-libs/virglrenderer/files/virglrenderer-1.2.0-c23-glibc-2.43.patch 
b/media-libs/virglrenderer/files/virglrenderer-1.2.0-c23-glibc-2.43.patch
new file mode 100644
index 000000000000..1cb84568dec3
--- /dev/null
+++ b/media-libs/virglrenderer/files/virglrenderer-1.2.0-c23-glibc-2.43.patch
@@ -0,0 +1,63 @@
+https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1567
+
+From 3f0f775edb2df5ea54c37863286ad565ccddb276 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <[email protected]>
+Date: Fri, 7 Nov 2025 13:14:56 +1000
+Subject: [PATCH] c11/threads: fix build on c23
+
+C23/glibc is now including once_init in stdlib.h
+
+https://patchwork.sourceware.org/project/glibc/patch/[email protected]/#213088
+
+Fix the issue like it is done in mesa upstream
+
+https://gitlab.freedesktop.org/mesa/mesa/-/commit/179e744f7577d98df7c79d7324c22acfb32a0154?merge_request_iid=38298
+
+Signed-off-by: Khem Raj <[email protected]>
+Part-of: 
<https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1567>
+---
+ src/mesa/compat/c11/threads_posix.h | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/mesa/compat/c11/threads_posix.h 
b/src/mesa/compat/c11/threads_posix.h
+index 45cb6075e..071faf795 100644
+--- a/src/mesa/compat/c11/threads_posix.h
++++ b/src/mesa/compat/c11/threads_posix.h
+@@ -51,7 +51,9 @@ Configuration macro:
+ #include <pthread.h>
+ 
+ /*---------------------------- macros ----------------------------*/
++#ifndef __once_flag_defined
+ #define ONCE_FLAG_INIT PTHREAD_ONCE_INIT
++#endif
+ #ifdef INIT_ONCE_STATIC_INIT
+ #define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS
+ #else
+@@ -66,8 +68,9 @@ typedef pthread_cond_t  cnd_t;
+ typedef pthread_t       thrd_t;
+ typedef pthread_key_t   tss_t;
+ typedef pthread_mutex_t mtx_t;
++#ifndef __once_flag_defined
+ typedef pthread_once_t  once_flag;
+-
++#endif
+ 
+ /*
+ Implementation limits:
+@@ -90,12 +93,13 @@ impl_thrd_routine(void *p)
+ 
+ /*--------------- 7.25.2 Initialization functions ---------------*/
+ // 7.25.2.1
++#ifndef __once_flag_defined
+ static inline void
+ call_once(once_flag *flag, void (*func)(void))
+ {
+     pthread_once(flag, func);
+ }
+-
++#endif
+ 
+ /*------------- 7.25.3 Condition variable functions -------------*/
+ // 7.25.3.1
+-- 
+GitLab

diff --git a/media-libs/virglrenderer/virglrenderer-1.2.0.ebuild 
b/media-libs/virglrenderer/virglrenderer-1.2.0.ebuild
index 869430604c3a..d5c249fec83d 100644
--- a/media-libs/virglrenderer/virglrenderer-1.2.0.ebuild
+++ b/media-libs/virglrenderer/virglrenderer-1.2.0.ebuild
@@ -44,6 +44,10 @@ BDEPEND="
        ")
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.2.0-c23-glibc-2.43.patch
+)
+
 python_check_deps() {
        python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
 }

Reply via email to