depot/third_party/nixpkgs/pkgs/by-name/fo/foxtrotgps/package.nix

98 lines
2.2 KiB
Nix

{
lib,
stdenv,
fetchbzr,
autoreconfHook,
texinfo,
help2man,
imagemagick,
pkg-config,
curl,
gnome2,
gpsd,
gtk2,
wrapGAppsHook3,
intltool,
libexif,
python3Packages,
sqlite,
}:
let
srcs = {
foxtrot = fetchbzr {
url = "lp:foxtrotgps";
rev = "331";
sha256 = "sha256-/kJv6a3MzAzzwIl98Mqi7jrUJC1kDvouigf9kGtv868=";
};
screenshots = fetchbzr {
url = "lp:foxtrotgps/screenshots";
rev = "2";
sha256 = "1sgysn3dhfhrv7rj7wf8f2119vmhc1s1zzsp4r3nlrr45d20wmsv";
};
};
in
stdenv.mkDerivation rec {
pname = "foxtrotgps";
version = "1.2.2+331";
# Pull directly from bzr because gpsd API version 9 is not supported on latest release
src = srcs.foxtrot;
nativeBuildInputs = [
pkg-config
autoreconfHook
texinfo
help2man
imagemagick
wrapGAppsHook3
intltool
];
buildInputs = [
curl.dev
gnome2.libglade.dev
gpsd
gtk2.dev
libexif
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
'';
# Remove when foxtrotgps supports gpsd 3.23.1
# Patch for compatibility with gpsd 3.23.1. This was added for foxtrotgps
# 1.2.2+331. The command can be removed if the build of a newer version
# succeeds without it.
postPatch = ''
substituteInPlace src/gps_functions.c --replace "STATUS_NO_FIX" "STATUS_UNK"
'';
preConfigure = ''
intltoolize --automake --copy --force
'';
meta = with lib; {
description = "GPS/GIS application optimized for small screens";
longDescription = ''
An easy to use, free & open-source GPS/GIS application that works well on
small screens, and is especially suited to touch input. It spun off of
tangoGPS in 2010 with a focus on cooperation and fostering community
innovation.
'';
homepage = "https://www.foxtrotgps.org/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ wucke13 ];
};
}