diff -ru datamash-1.9.orig/lib/getlocalename_l-unsafe.c datamash-1.9/lib/getlocalename_l-unsafe.c
--- datamash-1.9.orig/lib/getlocalename_l-unsafe.c 2025-03-28 20:25:41.000000000 +0100
+++ datamash-1.9/lib/getlocalename_l-unsafe.c 2025-04-05 15:32:36.072309321 +0200
@@ -30,7 +30,7 @@
#endif
#include "setlocale_null.h"
-#if (__GLIBC__ >= 2 && !defined __UCLIBC__) || (defined __linux__ && HAVE_LANGINFO_H) || defined __CYGWIN__
+#if (__GLIBC__ >= 2 && !defined __UCLIBC__) || (defined __linux__ && HAVE_LANGINFO_H) || defined __CYGWIN__ || defined __midipix__
# include <langinfo.h>
#endif
#if defined __sun
@@ -480,7 +480,7 @@
nl_langinfo_l (_NL_LOCALE_NAME (category), locale). */
name = locale->__names[category];
return (struct string_with_storage) { name, STORAGE_OBJECT };
-#elif defined __linux__ && HAVE_LANGINFO_H && defined NL_LOCALE_NAME
+#elif (defined __linux__ || defined __midipix__) && HAVE_LANGINFO_H && defined NL_LOCALE_NAME
/* musl libc */
const char *name = nl_langinfo_l (NL_LOCALE_NAME (category), locale);
return (struct string_with_storage) { name, STORAGE_OBJECT };