[packages/geoclue] - updated versioned dependencies - added gpsd patch (update to libgps 5.0 API/gpsd 3.x)
qboosh
qboosh at pld-linux.org
Fri Aug 30 16:57:15 CEST 2013
commit dbb8bacc9d8b450dffbb99c9c7d1279b615b1049
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Aug 30 16:56:51 2013 +0200
- updated versioned dependencies
- added gpsd patch (update to libgps 5.0 API/gpsd 3.x)
geoclue-gpsd.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
geoclue.spec | 30 +++++++++++++++++----------
2 files changed, 79 insertions(+), 11 deletions(-)
---
diff --git a/geoclue.spec b/geoclue.spec
index eee00cb..21f9bb9 100644
--- a/geoclue.spec
+++ b/geoclue.spec
@@ -1,26 +1,30 @@
-%bcond_with gps
+#
+# Conditional build:
+%bcond_without gps # GPS support via gpsd
+#
Summary: A modular geoinformation service
Summary(pl.UTF-8): Modularna usługa geoinformacyjna
Name: geoclue
Version: 0.12.99
Release: 2
-License: LGPL v2
+License: LGPL v2+
Group: Applications
Source0: http://freedesktop.org/~hadess/%{name}-%{version}.tar.gz
# Source0-md5: 779245045bfeeec4853da8baaa3a18e6
Patch0: %{name}-libsoup.patch
+Patch1: %{name}-gpsd.patch
URL: http://geoclue.freedesktop.org/
BuildRequires: GConf2-devel >= 2.0
BuildRequires: NetworkManager-devel
BuildRequires: autoconf >= 2.59
BuildRequires: automake >= 1:1.9
-BuildRequires: dbus-glib-devel >= 0.60
+BuildRequires: dbus-glib-devel >= 0.86
BuildRequires: docbook-dtd412-xml
-BuildRequires: glib2-devel >= 1:2.0
-%{?with_gps:BuildRequires: gpsd-devel >= 2.91}
+BuildRequires: glib2-devel >= 1:2.26
+%{?with_gps:BuildRequires: gpsd-devel >= 3}
BuildRequires: gtk+2-devel >= 1:2.0
BuildRequires: gtk-doc >= 1.0
-BuildRequires: gypsy-devel
+BuildRequires: gypsy-devel >= 0.7.1
BuildRequires: libsoup-devel >= 2.4.0
BuildRequires: libtool
BuildRequires: libxml2-devel >= 2.0
@@ -43,7 +47,8 @@ ułatwienie tworzenia aplikacji uwzględniających lokalizację.
Summary: Geoclue modular geoinformation service library
Summary(pl.UTF-8): Biblioteka geoclue - modularnej usługi geoinformacyjnej
Group: Libraries
-Requires: dbus-glib >= 0.60
+Requires: dbus-glib >= 0.86
+Requires: glib2 >= 1:2.26
Conflicts: geoclue < 0.12.0-3
%description libs
@@ -57,7 +62,8 @@ Summary: Development package for geoclue
Summary(pl.UTF-8): Pakiet programistyczny geoclue
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: dbus-glib-devel >= 0.60
+Requires: dbus-glib-devel >= 0.86
+Requires: glib2-devel >= 1:2.26
Requires: libxml2-devel >= 2.0
%description devel
@@ -95,7 +101,7 @@ Summary: gpsd provider for geoclue
Summary(pl.UTF-8): Interfejs geoclue do gpsd
Group: Applications
Requires: %{name} = %{version}-%{release}
-Requires: gpsd >= 2.91
+Requires: gpsd >= 3
%description gpsd
A gpsd provider for geoclue.
@@ -108,7 +114,7 @@ Summary: gypsy provider for geoclue
Summary(pl.UTF-8): Interfejs geoclue do gypsy
Group: Applications
Requires: %{name} = %{version}-%{release}
-Requires: gypsy
+Requires: gypsy >= 0.7.1
%description gypsy
A gypsy provider for geoclue.
@@ -119,6 +125,7 @@ Interfejs geoclue do gypsy.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
%{__gtkdocize}
@@ -130,9 +137,10 @@ Interfejs geoclue do gypsy.
%configure \
--enable-gtk-doc \
--disable-conic \
- --enable-gpsd%{?!with_gps:=no} \
+ --enable-gpsd%{!?with_gps:=no} \
--enable-gypsy \
--enable-networkmanager \
+ --disable-silent-rules \
--enable-skyhook \
--with-html-dir=%{_gtkdocdir}
diff --git a/geoclue-gpsd.patch b/geoclue-gpsd.patch
new file mode 100644
index 0000000..e5e6877
--- /dev/null
+++ b/geoclue-gpsd.patch
@@ -0,0 +1,60 @@
+--- geoclue-0.12.99/providers/gpsd/geoclue-gpsd.c.orig 2012-07-31 18:47:05.000000000 +0200
++++ geoclue-0.12.99/providers/gpsd/geoclue-gpsd.c 2013-08-30 16:49:28.898513583 +0200
+@@ -33,6 +33,7 @@
+
+ #include <math.h>
+ #include <gps.h>
++#include <stdlib.h>
+ #include <string.h>
+
+ #include <geoclue/geoclue-error.h>
+@@ -40,7 +41,6 @@
+ #include <geoclue/gc-iface-position.h>
+ #include <geoclue/gc-iface-velocity.h>
+
+-typedef struct gps_data_t gps_data;
+ typedef struct gps_fix_t gps_fix;
+
+ /* only listing used tags */
+@@ -59,7 +59,7 @@
+ char *host;
+ char *port;
+
+- gps_data *gpsdata;
++ struct gps_data_t *gpsdata;
+
+ gps_fix *last_fix;
+
+@@ -397,12 +397,13 @@
+ static gboolean
+ geoclue_gpsd_start_gpsd (GeoclueGpsd *self)
+ {
+- self->gpsdata = gps_open (self->host, self->port);
+- if (self->gpsdata) {
+- gps_stream(self->gpsdata, WATCH_ENABLE | WATCH_NMEA | POLL_NONBLOCK, NULL);
+- gps_set_raw_hook (self->gpsdata, gpsd_raw_hook);
++ struct gps_data_t *gd = calloc (1, sizeof(struct gps_data_t));
++ if (gd && (gps_open (self->host, self->port, gd) >= 0)) {
++ self->gpsdata = gd;
++ gps_stream(self->gpsdata, WATCH_ENABLE | WATCH_NMEA | WATCH_RAW, NULL);
+ return TRUE;
+ } else {
++ free (gd);
+ g_warning ("gps_open() failed, is gpsd running (host=%s,port=%s)?", self->host, self->port);
+ return FALSE;
+ }
+@@ -413,10 +414,13 @@
+ {
+ GeoclueGpsd *self = (GeoclueGpsd*)data;
+ if (self->gpsdata) {
+- if (gps_poll(self->gpsdata) < 0) {
++ if (gps_read(self->gpsdata) < 0) {
+ geoclue_gpsd_set_status (self, GEOCLUE_STATUS_ERROR);
+ geoclue_gpsd_stop_gpsd(self);
+ return FALSE;
++ } else if(self->gpsdata->set) {
++ gpsd_raw_hook(self->gpsdata, NULL, 0);
++ self->gpsdata->set = 0;
+ }
+ }
+ return TRUE;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/geoclue.git/commitdiff/dbb8bacc9d8b450dffbb99c9c7d1279b615b1049
More information about the pld-cvs-commit
mailing list