diff options
author | Andy Wingo <wingo@pobox.com> | 2015-04-07 09:42:36 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-04-08 14:42:27 +0200 |
commit | 7b2abd0055fc88ac95a5ad10df7f150181564b7a (patch) | |
tree | 41ddb38152d492411a06b2b89ff5b7d68d2c1867 | |
parent | 7ce597ff9e7232f91016d5e4945cd24ec691223c (diff) | |
download | guix-7b2abd0055fc88ac95a5ad10df7f150181564b7a.tar guix-7b2abd0055fc88ac95a5ad10df7f150181564b7a.tar.gz |
gnu: Add geoclue.
* 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 <ludo@gnu.org>
-rw-r--r-- | gnu-system.am | 1 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 45 | ||||
-rw-r--r-- | gnu/packages/patches/geoclue-config.patch | 25 |
3 files changed, 71 insertions, 0 deletions
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) { |