diff --git a/0001-src-setlocale-in-main-for-tools-and-the-daemon.patch b/0001-src-setlocale-in-main-for-tools-and-the-daemon.patch new file mode 100644 index 0000000..8c8738a --- /dev/null +++ b/0001-src-setlocale-in-main-for-tools-and-the-daemon.patch @@ -0,0 +1,85 @@ +From 7e6e0e9ba044ca95365f6ceb9f8ae301aac994ae Mon Sep 17 00:00:00 2001 +From: Pauli Virtanen +Date: Tue, 22 Mar 2022 20:51:02 +0200 +Subject: [PATCH] src: setlocale in main() for tools and the daemon + +Previously, pw_init calls setlocale(), but this will change in future. +Setting the locale should be done by the main application, and is needed +in wireplumber for e.g. for translated UI elements. + +Set the locale in main() for wireplumber daemon and tools, to have the +locale set also with the new pw_init behavior. + +Set also LC_NUMERIC to C, to match old pw_init behavior. +--- + src/main.c | 3 +++ + src/tools/wpctl.c | 3 +++ + src/tools/wpexec.c | 3 +++ + 3 files changed, 9 insertions(+) + +diff --git a/src/main.c b/src/main.c +index 3bfaf98e..7e12d29e 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + #define WP_DOMAIN_DAEMON (wp_domain_daemon_quark ()) + static G_DEFINE_QUARK (wireplumber-daemon, wp_domain_daemon); +@@ -402,6 +403,8 @@ main (gint argc, gchar **argv) + g_autoptr (WpProperties) properties = NULL; + g_autofree gchar *config_file_path = NULL; + ++ setlocale (LC_ALL, ""); ++ setlocale (LC_NUMERIC, "C"); + wp_init (WP_INIT_ALL); + + context = g_option_context_new ("- PipeWire Session/Policy Manager"); +diff --git a/src/tools/wpctl.c b/src/tools/wpctl.c +index 8b0fe0aa..81aa936f 100644 +--- a/src/tools/wpctl.c ++++ b/src/tools/wpctl.c +@@ -8,6 +8,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -1114,6 +1115,8 @@ main (gint argc, gchar **argv) + g_autoptr (GError) error = NULL; + g_autofree gchar *summary = NULL; + ++ setlocale (LC_ALL, ""); ++ setlocale (LC_NUMERIC, "C"); + wp_init (WP_INIT_ALL); + + ctl.context = g_option_context_new ( +diff --git a/src/tools/wpexec.c b/src/tools/wpexec.c +index 5e7a4b52..79d90e51 100644 +--- a/src/tools/wpexec.c ++++ b/src/tools/wpexec.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + #define WP_DOMAIN_DAEMON (wp_domain_daemon_quark ()) + static G_DEFINE_QUARK (wireplumber-daemon, wp_domain_daemon); +@@ -219,6 +220,8 @@ main (gint argc, gchar **argv) + g_autoptr (GOptionContext) context = NULL; + g_autoptr (GError) error = NULL; + ++ setlocale (LC_ALL, ""); ++ setlocale (LC_NUMERIC, "C"); + wp_init (WP_INIT_ALL); + + context = g_option_context_new ("- WirePlumber script interpreter"); +-- +GitLab + diff --git a/wireplumber.changes b/wireplumber.changes index b050882..f5b9d9f 100644 --- a/wireplumber.changes +++ b/wireplumber.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Mar 29 12:04:24 UTC 2022 - Antonio Larrosa + +- Add patch from upstream to set locale in apps now that pw_init + doesn't call it by itself anymore in pipewire 0.3.49: + * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch + ------------------------------------------------------------------- Fri Mar 25 07:47:09 UTC 2022 - Antonio Larrosa diff --git a/wireplumber.spec b/wireplumber.spec index ccce7d4..47fcb28 100644 --- a/wireplumber.spec +++ b/wireplumber.spec @@ -30,6 +30,8 @@ Group: Development/Libraries/C and C++ URL: https://gitlab.freedesktop.org/pipewire/wireplumber Source0: wireplumber-%{version}.tar.xz Source1: split-config-file.py +# PATCH-FIX-UPSTREAM +Patch0: 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch # PATCH-FIX-OPENSUSE reduce-meson-dependency.patch Patch100: reduce-meson-required-version.patch # docs