From 7b2abd0055fc88ac95a5ad10df7f150181564b7a Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 7 Apr 2015 09:42:36 +0200 Subject: [PATCH] gnu: Add geoclue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (geoclue): New variable. * gnu/packages/patches/geoclue-config.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu-system.am | 1 + gnu/packages/gnome.scm | 45 +++++++++++++++++++++++ gnu/packages/patches/geoclue-config.patch | 25 +++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 gnu/packages/patches/geoclue-config.patch diff --git a/gnu-system.am b/gnu-system.am index 47799230af..f9b58ddaa7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -413,6 +413,7 @@ dist_patch_DATA = \ gnu/packages/patches/flex-bison-tests.patch \ gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gcc-cross-environment-variables.patch \ + gnu/packages/patches/geoclue-config.patch \ gnu/packages/patches/ghostscript-runpath.patch \ gnu/packages/patches/glib-tests-desktop.patch \ gnu/packages/patches/glib-tests-homedir.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 80a8043e99..0c6476387a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1897,3 +1897,48 @@ keyboard shortcuts.") install and generate color profiles to accurately color manage input and output devices.") (license license:gpl2+))) + +(define-public geoclue + (package + (name "geoclue") + (version "2.1.10") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.freedesktop.org/software/" name + "/releases/" (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0s0ws2bx5g1cbjamxmm448r4n4crha2fwpzm8zbx6cq6qslygmzi")) + (patches (list (search-patch "geoclue-config.patch"))))) + (build-system glib-or-gtk-build-system) + (arguments + '(;; The tests want to run the system bus. + #:tests? #f + #:configure-flags (list ;; Disable bits requiring ModemManager. + "--disable-3g-source" + "--disable-cdma-source" + "--disable-modem-gps-source" + "--with-dbus-service-user=geoclue") + #:phases + (modify-phases %standard-phases + (add-before configure patch-/bin/true + (lambda _ + (substitute* "configure" + (("/bin/true") (which "true")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("glib" ,glib) + ("json-glib" ,json-glib) + ("libsoup" ,libsoup))) + (home-page "http://freedesktop.org/wiki/Software/GeoClue/") + (synopsis "Geolocation service") + (description "Geoclue is a D-Bus service that provides location +information. The primary goal of the Geoclue project is to make creating +location-aware applications as simple as possible, while the secondary goal is +to ensure that no application can access location information without explicit +permission from user. ") + (license license:gpl2+))) diff --git a/gnu/packages/patches/geoclue-config.patch b/gnu/packages/patches/geoclue-config.patch new file mode 100644 index 0000000000..dd35b90be5 --- /dev/null +++ b/gnu/packages/patches/geoclue-config.patch @@ -0,0 +1,25 @@ +Allow the configuration file to be specified via an environment variable. + +--- geoclue-2.1.10/src/gclue-config.c 2015-04-07 09:50:07.721074380 +0200 ++++ geoclue-2.1.10/src/gclue-config.c 2015-04-07 10:27:26.613171960 +0200 +@@ -235,6 +235,11 @@ + gclue_config_init (GClueConfig *config) + { + GError *error = NULL; ++ const char *config_file_path; ++ ++ config_file_path = g_getenv ("GEOCLUE_CONFIG_FILE"); ++ if (config_file_path == NULL) ++ config_file_path = CONFIG_FILE_PATH; + + config->priv = + G_TYPE_INSTANCE_GET_PRIVATE (config, +@@ -242,7 +247,7 @@ + GClueConfigPrivate); + config->priv->key_file = g_key_file_new (); + g_key_file_load_from_file (config->priv->key_file, +- CONFIG_FILE_PATH, ++ config_file_path, + 0, + &error); + if (error != NULL) {