aboutsummaryrefslogtreecommitdiff
path: root/pkgs/applications/misc
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
parentf5f1fe152e9f036bf6346f4b8c9977f8f043ff50 (diff)
foxtrotgps: 1.2.2 -> 1.2.2+326
Diffstat (limited to 'pkgs/applications/misc')
-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 dc3f1922c214..9ac701014906 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 000000000000..e9b3624a174b
--- /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;