summary refs log tree commit diff
path: root/pkgs/applications/misc/foxtrotgps
diff options
context:
space:
mode:
authorHunter Jones <hjones2199@gmail.com>2020-12-04 15:47:22 -0600
committerHunter Jones <hjones2199@gmail.com>2020-12-05 14:42:11 -0600
commitd2527ed7da590963666be59858fe191b604f88e6 (patch)
treebcb11703cc23f5e1411b5d3ad5c8ff725265aa23 /pkgs/applications/misc/foxtrotgps
parentf5f1fe152e9f036bf6346f4b8c9977f8f043ff50 (diff)
downloadnixpkgs-d2527ed7da590963666be59858fe191b604f88e6.tar
nixpkgs-d2527ed7da590963666be59858fe191b604f88e6.tar.gz
nixpkgs-d2527ed7da590963666be59858fe191b604f88e6.tar.bz2
nixpkgs-d2527ed7da590963666be59858fe191b604f88e6.tar.lz
nixpkgs-d2527ed7da590963666be59858fe191b604f88e6.tar.xz
nixpkgs-d2527ed7da590963666be59858fe191b604f88e6.tar.zst
nixpkgs-d2527ed7da590963666be59858fe191b604f88e6.zip
foxtrotgps: 1.2.2 -> 1.2.2+326
Diffstat (limited to 'pkgs/applications/misc/foxtrotgps')
-rw-r--r--pkgs/applications/misc/foxtrotgps/default.nix43
-rw-r--r--pkgs/applications/misc/foxtrotgps/gps-status-fix.patch14
2 files changed, 48 insertions, 9 deletions
diff --git a/pkgs/applications/misc/foxtrotgps/default.nix b/pkgs/applications/misc/foxtrotgps/default.nix
index dc3f1922c21..9ac70101490 100644
--- a/pkgs/applications/misc/foxtrotgps/default.nix
+++ b/pkgs/applications/misc/foxtrotgps/default.nix
@@ -1,16 +1,32 @@
-{ fetchurl, stdenv, pkg-config, wrapGAppsHook, curl, gnome2, gpsd, gtk2
+{ stdenv, fetchbzr, autoreconfHook, texinfo, help2man, imagemagick, pkg-config
+, curl, gnome2, gpsd, gtk2, wrapGAppsHook
 , intltool, libexif, python3Packages, sqlite }:
 
-stdenv.mkDerivation rec {
+let
+  srcs = {
+    foxtrot = fetchbzr {
+      url = "lp:foxtrotgps";
+      rev = "326";
+      sha256 = "191pgcy5rng8djy22a5z9s8gssc73f9p5hm4ig52ra189cb48d8k";
+    };
+    screenshots = fetchbzr {
+      url = "lp:foxtrotgps/screenshots";
+      rev = "2";
+      sha256 = "1sgysn3dhfhrv7rj7wf8f2119vmhc1s1zzsp4r3nlrr45d20wmsv";
+    };
+  };
+in stdenv.mkDerivation rec {
   pname = "foxtrotgps";
-  version = "1.2.2";
+  version = "1.2.2+326";
 
-  src = fetchurl {
-    url = "https://www.foxtrotgps.org/releases/foxtrotgps-${version}.tar.xz";
-    sha256 = "0grn35j5kwc286dxx18fv32qa330xmalqliwy6zirxmj6dffvrkg";
-  };
+  # Pull directly from bzr because gpsd API version 9 is not supported on latest release
+  src = srcs.foxtrot;
+
+  patches = [
+    ./gps-status-fix.patch
+  ];
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  nativeBuildInputs = [ pkg-config autoreconfHook texinfo help2man imagemagick wrapGAppsHook ];
 
   buildInputs = [
     curl.dev
@@ -22,7 +38,16 @@ stdenv.mkDerivation rec {
     sqlite.dev
     (python3Packages.python.withPackages (pythonPackages: with python3Packages;
     [ beautifulsoup4 feedparser sqlalchemy ]))
-    ];
+  ];
+
+  postUnpack = ''
+  cp -R ${srcs.screenshots} $sourceRoot/doc/screenshots
+  chmod -R u+w $sourceRoot/doc/screenshots
+  '';
+
+  preConfigure = ''
+  intltoolize --automake --copy --force
+  '';
 
   meta = with stdenv.lib; {
     description = "GPS/GIS application optimized for small screens";
diff --git a/pkgs/applications/misc/foxtrotgps/gps-status-fix.patch b/pkgs/applications/misc/foxtrotgps/gps-status-fix.patch
new file mode 100644
index 00000000000..e9b3624a174
--- /dev/null
+++ b/pkgs/applications/misc/foxtrotgps/gps-status-fix.patch
@@ -0,0 +1,14 @@
+--- foxtrot/src/gps_functions.c.orig	2020-12-04 15:02:22.290163204 -0600
++++ foxtrot/src/gps_functions.c	2020-12-04 15:04:54.470648534 -0600
+@@ -762,7 +762,11 @@
+ 		{
+ 			gpsdata->fix.time = (time_t) 0;
+ 		}
++#if GPSD_API_MAJOR_VERSION >= 9
++      gpsdata->valid = (libgps_gpsdata.fix.status != STATUS_NO_FIX);
++#else
+ 		gpsdata->valid = (libgps_gpsdata.status != STATUS_NO_FIX);
++#endif
+ 		if (gpsdata->valid)
+ 		{
+ 			gpsdata->seen_valid = TRUE;