@@ -5760,7 +5760,7 @@ (define-public colord
(define-public geoclue
(package
(name "geoclue")
- (version "2.6.0")
+ (version "2.7.2")
(source
(origin
(method url-fetch)
@@ -5768,7 +5768,7 @@ (define-public geoclue
(string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
version "/geoclue-" version ".tar.bz2"))
(sha256
- (base32 "1854i8lih1jkks5w38xv8k5gs7s8629qjg3cg96ji0ffk35yzjfd"))
+ (base32 "1ljn4k1zlfx0ymmdz8ycfb976vx8r61sx68q854r0xinl124mlh1"))
(patches (search-patches "geoclue-config.patch"))))
(build-system meson-build-system)
(arguments
@@ -5786,7 +5786,7 @@ (define-public geoclue
`(,glib "bin")
glib-networking
json-glib
- libsoup-minimal-2))
+ libsoup-minimal))
(home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
(synopsis "Geolocation service")
(description "Geoclue is a D-Bus service that provides location
@@ -1,27 +1,59 @@
-Allow the configuration file to be specified via an environment variable.
+From 45e310482350cfab628f359f2b0efebf06fb7c77 Mon Sep 17 00:00:00 2001
+From: Sergey Trofimov <sarg@sarg.org.ru>
+Date: Sat, 23 Nov 2024 14:12:21 +0100
+Subject: [PATCH] Allow the configuration file to be specified via an
+ environment variable.
+
+---
+ src/gclue-config.c | 13 ++++++++++---
+ src/gclue-static-source.c | 2 +-
+ 2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/gclue-config.c b/src/gclue-config.c
-index 7ab2a67..e41f3df 100644
+index acd6009..3045571 100644
--- a/src/gclue-config.c
+++ b/src/gclue-config.c
-@@ -332,6 +332,11 @@ static void
- gclue_config_init (GClueConfig *config)
- {
- GError *error = NULL;
-+ const char *config_file_path;
+@@ -26,8 +26,8 @@
+
+ #include "gclue-config.h"
+
+-#define CONFIG_FILE_PATH SYSCONFDIR "/geoclue/geoclue.conf"
+-#define CONFIG_D_DIRECTORY SYSCONFDIR "/geoclue/conf.d/"
++#define CONFIG_FILE_PATH "/etc/geoclue/geoclue.conf"
++#define CONFIG_D_DIRECTORY "/etc/geoclue/conf.d/"
+
+ /* This class will be responsible for fetching configuration. */
+
+@@ -546,8 +546,15 @@ gclue_config_init (GClueConfig *config)
+ priv->wifi_submit_url = g_strdup (DEFAULT_WIFI_SUBMIT_URL);
+ priv->wifi_submit_nick = g_strdup (DEFAULT_WIFI_SUBMIT_NICK);
+
+- /* Load config file from default path, log all missing parameters */
+ priv->key_file = g_key_file_new ();
+
-+ config_file_path = g_getenv ("GEOCLUE_CONFIG_FILE");
-+ if (!config_file_path)
-+ config_file_path = CONFIG_FILE_PATH;
-
- config->priv = gclue_config_get_instance_private(config);
- config->priv->key_file = g_key_file_new ();
-@@ -341,7 +346,7 @@ gclue_config_init (GClueConfig *config)
- &error);
- if (error != NULL) {
- g_critical ("Failed to load configuration file '%s': %s",
-- CONFIG_FILE_PATH, error->message);
-+ config_file_path, error->message);
- g_error_free (error);
-
- return;
++ char *env_config_file = g_getenv ("GEOCLUE_CONFIG_FILE");
++ if (env_config_file) {
++ load_config_file (config, env_config_file);
++ goto out; // don't load conf.d
++ }
++
++ /* Load config file from default path, log all missing parameters */
+ load_config_file (config, CONFIG_FILE_PATH);
+
+ /*
+diff --git a/src/gclue-static-source.c b/src/gclue-static-source.c
+index 1c35cea..7957797 100644
+--- a/src/gclue-static-source.c
++++ b/src/gclue-static-source.c
+@@ -26,7 +26,7 @@
+ #include "gclue-enum-types.h"
+
+ #define GEO_FILE_NAME "geolocation"
+-#define GEO_FILE_PATH SYSCONFDIR "/" GEO_FILE_NAME
++#define GEO_FILE_PATH "/etc/" GEO_FILE_NAME
+
+ /* Rate limit of geolocation file monitoring.
+ * In milliseconds.
+--
+2.46.0
+