forked from mirrors/nixpkgs
Viking: Link against libgps from `gpsd', thanks to a couple of Debian patches.
svn path=/nixpkgs/trunk/; revision=15810
This commit is contained in:
parent
1660db54ff
commit
b179d2c480
|
@ -1,5 +1,5 @@
|
|||
{ fetchurl, stdenv, pkgconfig, intltool, gettext, gtk, expat, curl
|
||||
, bc, file }:
|
||||
, gpsd, bc, file }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "viking-0.9.8";
|
||||
|
@ -9,12 +9,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1is8g6ld5pd13iiv9qm8526q1cblg01pqyakg52sd6k7fys7dz2d";
|
||||
};
|
||||
|
||||
patches = [ ./test-bc.patch ];
|
||||
patches = [
|
||||
./test-bc.patch ./gpsdclient.patch ./implicit-declaration.patch
|
||||
];
|
||||
|
||||
buildInputs = [ pkgconfig intltool gettext gtk expat curl bc file ];
|
||||
|
||||
# XXX: Remove this once we have `gpsd' (http://gpsd.berlios.de/).
|
||||
configureFlags = "--disable-realtime-gps-tracking";
|
||||
buildInputs = [ pkgconfig intltool gettext gtk expat curl gpsd bc file ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
|
51
pkgs/applications/misc/viking/gpsdclient.patch
Normal file
51
pkgs/applications/misc/viking/gpsdclient.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
Debian patch that allows compilation with libgps (from `gpsd').
|
||||
Failing to apply this patch, we get the following error:
|
||||
|
||||
vikgpslayer.c:237: error: field 'realtime_gpsd_unit' has incomplete type
|
||||
vikgpslayer.c: In function 'vik_gps_layer_new':
|
||||
vikgpslayer.c:473: warning: implicit declaration of function 'gpsd_units'
|
||||
vikgpslayer.c: In function 'rt_gpsd_try_connect':
|
||||
vikgpslayer.c:1321: warning: passing argument 2 of 'gps_set_raw_hook' from incompatible pointer type
|
||||
|
||||
diff -urNad trunk~/src/gpsdclient.h trunk/src/gpsdclient.h
|
||||
--- trunk~/src/gpsdclient.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ trunk/src/gpsdclient.h 2009-04-15 14:30:22.000000000 +0200
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* $Id: gpsdclient.h 5330 2009-03-03 04:05:42Z ckuethe $ */
|
||||
+/* gpsdclient.h -- common functions for GPSD clients */
|
||||
+
|
||||
+#ifndef _GPSD_GPSDCLIENT_H_
|
||||
+#define _GPSD_GPSDCLIENT_H_
|
||||
+struct fixsource_t
|
||||
+/* describe a data source */
|
||||
+{
|
||||
+ char *spec; /* pointer to actual storage */
|
||||
+ char *server;
|
||||
+ char *port;
|
||||
+ char *device;
|
||||
+};
|
||||
+
|
||||
+enum unit {unspecified, imperial, nautical, metric};
|
||||
+enum unit gpsd_units(void);
|
||||
+enum deg_str_type { deg_dd, deg_ddmm, deg_ddmmss };
|
||||
+
|
||||
+extern /*@observer@*/ char *deg_to_str( enum deg_str_type type, double f);
|
||||
+
|
||||
+extern void gpsd_source_spec(/*@null@*/const char *fromstring,
|
||||
+ /*@out@*/struct fixsource_t *source);
|
||||
+
|
||||
+#endif /* _GPSDCLIENT_H_ */
|
||||
+/* gpsdclient.h ends here */
|
||||
diff -urNad trunk~/src/vikgpslayer.c trunk/src/vikgpslayer.c
|
||||
--- trunk~/src/vikgpslayer.c 2009-02-08 14:47:01.000000000 +0100
|
||||
+++ trunk/src/vikgpslayer.c 2009-04-15 14:30:55.000000000 +0200
|
||||
@@ -39,6 +39,9 @@
|
||||
#include <glib/gi18n.h>
|
||||
#ifdef VIK_CONFIG_REALTIME_GPS_TRACKING
|
||||
#include <gps.h>
|
||||
+#ifndef gpsd_units
|
||||
+#include "gpsdclient.h"
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#if ! GLIB_CHECK_VERSION(2,14,0)
|
13
pkgs/applications/misc/viking/implicit-declaration.patch
Normal file
13
pkgs/applications/misc/viking/implicit-declaration.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
Debian patch that fixes an implicat declaration.
|
||||
|
||||
diff -urNad trunk~/src/util.c trunk/src/util.c
|
||||
--- trunk~/src/util.c 2009-02-08 14:47:01.000000000 +0100
|
||||
+++ trunk/src/util.c 2009-04-15 17:23:44.000000000 +0200
|
||||
@@ -26,6 +26,7 @@
|
||||
#endif
|
||||
|
||||
#include <glib/gi18n.h>
|
||||
+#include <glib/gprintf.h>
|
||||
|
||||
#include "dialog.h"
|
||||
|
|
@ -1357,7 +1357,7 @@ let
|
|||
|
||||
viking = import ../applications/misc/viking {
|
||||
inherit fetchurl stdenv pkgconfig intltool gettext expat curl
|
||||
bc file;
|
||||
gpsd bc file;
|
||||
inherit (gtkLibs) gtk;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue