From 691ae7980a4912ccf137df3dc08d28d26b7b468f Mon Sep 17 00:00:00 2001 From: vasilito Date: Thu, 18 Jun 2026 09:18:52 +0300 Subject: [PATCH] m4: fix getlocalename_l-unsafe.c patch to use `!HAVE_GETLOCALENAME_L` The previous patch left a broken `__redox__ && HAVE_GETLOCALENAME_L` branch that referenced the non-existent relibc function `getlocalename_l`, causing the m4 build to fail with: error: #error "Please port gnulib getlocalename_l-unsafe.c to your platform!" Redox's relibc has no `getlocalename_l` symbol. The patch now uses `__redox__ && !HAVE_GETLOCALENAME_L` and returns "C" (matching the existing `__ANDROID__` branch behaviour for unknown locales), so the build no longer hits the gnulib #error. --- local/recipes/dev/m4/redox.patch | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/local/recipes/dev/m4/redox.patch b/local/recipes/dev/m4/redox.patch index 646b442b25..ce7a0e646e 100644 --- a/local/recipes/dev/m4/redox.patch +++ b/local/recipes/dev/m4/redox.patch @@ -1,12 +1,16 @@ --- a/lib/getlocalename_l-unsafe.c +++ b/lib/getlocalename_l-unsafe.c -@@ -658,6 +658,9 @@ getlocalename_l_unsafe (int category, locale_t locale) +@@ -658,9 +658,10 @@ getlocalename_l_unsafe (int category, locale_t locale) }; const char *name = ((struct __locale_t *) locale)->mb_cur_max == 4 ? "C.UTF-8" : "C"; return (struct string_with_storage) { name, STORAGE_INDEFINITE }; -+#elif defined __redox__ && HAVE_GETLOCALENAME_L -+ const char *name = getlocalename_l (category, locale); -+ return (struct string_with_storage) { name != NULL ? name : "", STORAGE_OBJECT }; +-#elif defined __redox__ && HAVE_GETLOCALENAME_L +- const char *name = getlocalename_l (category, locale); +- return (struct string_with_storage) { name != NULL ? name : "", STORAGE_OBJECT }; ++#elif defined __redox__ && !HAVE_GETLOCALENAME_L ++ /* Redox's relibc has no getlocalename_l; return the closest matching ++ POSIX locale name without referencing a non-existent symbol. */ ++ return (struct string_with_storage) { "C", STORAGE_INDEFINITE }; #else #error "Please port gnulib getlocalename_l-unsafe.c to your platform! Report this to bug-gnulib." #endif