From 566b2b3a93fc3eb7cc42292a21af2dd2b05fa76f Mon Sep 17 00:00:00 2001 From: Clemens Gruber Date: Wed, 17 Jan 2018 18:34:19 +0100 Subject: ptxd_make_world_common.sh: fix meson build for non-Debian distros Debian patches glibc to add a special C.UTF-8 locale, which is not available on most other distros. For the meson build to work on other distros like ArchLinux, let's grep the output of locale -a and try to find C.UTF-8, en_US.UTF-8 or an en_* UTF-8 locale. If none can be found, fall back to any UTF-8 locale and print a warning. Signed-off-by: Clemens Gruber Signed-off-by: Michael Olbrich --- scripts/lib/ptxd_make_world_common.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'scripts/lib/ptxd_make_world_common.sh') diff --git a/scripts/lib/ptxd_make_world_common.sh b/scripts/lib/ptxd_make_world_common.sh index 90f1c70b3..85471ce22 100644 --- a/scripts/lib/ptxd_make_world_common.sh +++ b/scripts/lib/ptxd_make_world_common.sh @@ -315,7 +315,19 @@ ptxd_make_world_init() { pkg_conf_opt="${pkg_conf_opt:-${!conf_opt_ptr}}" pkg_conf_env="PTXDIST_ICECC= ${pkg_conf_env}" - pkg_env="${pkg_env} LC_ALL='C.UTF-8'" + + # Try to find a suitable UTF-8 locale on all distros + local c_locale + if c_locale=$(locale -a | grep -i -m 1 "^C\.utf[-]\?8$") || \ + c_locale=$(locale -a | grep -i -m 1 "^en_US\.utf[-]\?8$") || \ + c_locale=$(locale -a | grep -i -m 1 "^en_.*\.utf[-]\?8$"); then + pkg_env="${pkg_env} LC_ALL='${c_locale}'" + else + ptxd_warning "Failed to find a good UTF-8 locale for meson." + pkg_env="${pkg_env} LC_ALL='$(locale -a | grep -i -m 1 "\.utf[-]\?8")'" + fi + unset c_locale + if [ "${PTXDIST_VERBOSE}" = "1" ]; then pkg_make_opt="-v ${pkg_make_opt}" pkg_install_opt="-v ${pkg_install_opt}" -- cgit v1.2.3