summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2020-08-30 10:05:48 +0300
committerMart Raudsepp <leio@gentoo.org>2020-08-30 10:40:00 +0300
commit40a698334696b6b915bbbefa349df23cd8ef860c (patch)
tree4a66beb8ff58ad39fe0253d877946e71e2b5e640 /dev-libs/libgweather
parentdev-haskell/hdbc-mysql: tweak for cabal-3 (diff)
downloadgentoo-40a698334696b6b915bbbefa349df23cd8ef860c.tar.gz
gentoo-40a698334696b6b915bbbefa349df23cd8ef860c.tar.bz2
gentoo-40a698334696b6b915bbbefa349df23cd8ef860c.zip
dev-libs/libgweather: fix tests when system has no French locale
Bug: https://bugs.gentoo.org/739592 Package-Manager: Portage-2.3.103, Repoman-2.3.20 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'dev-libs/libgweather')
-rw-r--r--dev-libs/libgweather/files/3.36.1-tests-locale.patch52
-rw-r--r--dev-libs/libgweather/libgweather-3.36.1.ebuild1
2 files changed, 53 insertions, 0 deletions
diff --git a/dev-libs/libgweather/files/3.36.1-tests-locale.patch b/dev-libs/libgweather/files/3.36.1-tests-locale.patch
new file mode 100644
index 000000000000..fb35d2f00b7a
--- /dev/null
+++ b/dev-libs/libgweather/files/3.36.1-tests-locale.patch
@@ -0,0 +1,52 @@
+From 8b20cd91a96eae39bafe82ccf444dbc00759ad43 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Mon, 9 Mar 2020 12:21:57 +0000
+Subject: [PATCH] Do not run local-dependent tests with missing locales
+
+Not everyone has all the locales installed all the time, so let's check
+if a locale is available before using it.
+---
+ libgweather/test_libgweather.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/libgweather/test_libgweather.c b/libgweather/test_libgweather.c
+index 8a219115..77ee459b 100644
+--- a/libgweather/test_libgweather.c
++++ b/libgweather/test_libgweather.c
+@@ -643,6 +643,7 @@ static void
+ test_location_names (void)
+ {
+ GWeatherLocation *world, *brussels;
++ char *old_locale;
+
+ world = gweather_location_get_world ();
+ g_assert (world);
+@@ -653,7 +654,16 @@ test_location_names (void)
+ g_assert_cmpstr (gweather_location_get_sort_name (brussels), ==, "brussels");
+ g_assert_cmpstr (gweather_location_get_english_name (brussels), ==, "Brussels");
+
++ old_locale = g_strdup (setlocale (LC_ALL, NULL));
+ setlocale (LC_ALL, "fr_FR.UTF-8");
++ if (strstr (setlocale (LC_ALL, NULL), "fr_FR.UTF-8") == NULL)
++ {
++ g_test_skip ("locale fr_FR.UTF-8 not available, skipping localization tests");
++ setlocale (LC_ALL, old_locale);
++ g_free (old_locale);
++ return;
++ }
++
+ _gweather_location_reset_world ();
+
+ world = gweather_location_get_world ();
+@@ -665,7 +675,7 @@ test_location_names (void)
+ g_assert_cmpstr (gweather_location_get_sort_name (brussels), ==, "bruxelles");
+ g_assert_cmpstr (gweather_location_get_english_name (brussels), ==, "Brussels");
+
+- setlocale (LC_ALL, "");
++ setlocale (LC_ALL, old_locale);
+ _gweather_location_reset_world ();
+ }
+
+--
+GitLab
+
diff --git a/dev-libs/libgweather/libgweather-3.36.1.ebuild b/dev-libs/libgweather/libgweather-3.36.1.ebuild
index f3d82c03f4cb..0db353126e43 100644
--- a/dev-libs/libgweather/libgweather-3.36.1.ebuild
+++ b/dev-libs/libgweather/libgweather-3.36.1.ebuild
@@ -40,6 +40,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/3.32.1-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
+ "${FILESDIR}"/3.36.1-tests-locale.patch # Don't fail tests when a locale is not present, https://gitlab.gnome.org/GNOME/libgweather/-/merge_requests/58
)
src_prepare() {