2017-03-06 22:29:48 +00:00
|
|
|
{ lib, stdenv, fetchurl, fetchpatch, zlib, qt4, which, IOKit }:
|
2009-05-29 23:30:10 +00:00
|
|
|
|
2015-10-27 22:38:21 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2012-08-19 13:50:50 +00:00
|
|
|
name = "gpsbabel-${version}";
|
2017-02-28 22:52:52 +00:00
|
|
|
version = "1.5.3";
|
2009-05-29 23:30:10 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2012-08-19 13:50:50 +00:00
|
|
|
# gpgbabel.org makes it hard to get the source tarball automatically, so
|
|
|
|
# get it from elsewhere.
|
|
|
|
url = "mirror://debian/pool/main/g/gpsbabel/gpsbabel_${version}.orig.tar.gz";
|
2017-02-28 22:52:52 +00:00
|
|
|
sha256 = "0l6c8911f7i5bbdzah9irhqf127ib0b7lv53rb8r9z8g439mznq1";
|
2009-05-29 23:30:10 +00:00
|
|
|
};
|
|
|
|
|
2017-02-28 22:52:52 +00:00
|
|
|
patches = [
|
2017-04-11 18:18:53 +00:00
|
|
|
./clang-4.patch
|
2017-02-28 22:52:52 +00:00
|
|
|
(fetchpatch {
|
|
|
|
url = https://sources.debian.net/data/main/g/gpsbabel/1.5.3-2/debian/patches/use_minizip;
|
|
|
|
sha256 = "03fpsmlx1wc48d1j405zkzp8j64hcp0z72islf4mk1immql3ibcr";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2017-03-06 22:29:48 +00:00
|
|
|
buildInputs = [ zlib qt4 which ]
|
|
|
|
++ lib.optionals stdenv.isDarwin [ IOKit ];
|
2009-05-29 23:30:10 +00:00
|
|
|
|
|
|
|
/* FIXME: Building the documentation, with "make doc", requires this:
|
|
|
|
|
|
|
|
[ libxml2 libxslt perl docbook_xml_dtd_412 docbook_xsl fop ]
|
|
|
|
|
|
|
|
But FOP isn't packaged yet. */
|
|
|
|
|
2015-11-14 22:59:20 +00:00
|
|
|
configureFlags = [ "--with-zlib=system" ]
|
|
|
|
# Floating point behavior on i686 causes test failures. Preventing
|
|
|
|
# extended precision fixes this problem.
|
2015-11-28 10:25:35 +00:00
|
|
|
++ stdenv.lib.optionals stdenv.isi686 [
|
|
|
|
"CFLAGS=-ffloat-store" "CXXFLAGS=-ffloat-store"
|
|
|
|
];
|
2012-08-19 13:50:50 +00:00
|
|
|
|
2015-11-14 22:59:42 +00:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2012-08-19 13:50:50 +00:00
|
|
|
doCheck = true;
|
2015-10-27 22:38:21 +00:00
|
|
|
preCheck = ''
|
|
|
|
patchShebangs testo
|
|
|
|
substituteInPlace testo \
|
|
|
|
--replace "-x /usr/bin/hexdump" ""
|
2017-03-06 22:29:48 +00:00
|
|
|
''
|
2015-11-28 10:25:35 +00:00
|
|
|
# The raymarine and gtm tests fail on i686 despite -ffloat-store.
|
2017-03-06 22:29:48 +00:00
|
|
|
+ lib.optionalString stdenv.isi686 "rm -v testo.d/raymarine.test testo.d/gtm.test;"
|
2017-04-11 18:18:53 +00:00
|
|
|
# The gtm, kml and tomtom asc tests fail on darwin, see PR #23572.
|
|
|
|
+ lib.optionalString stdenv.isDarwin "rm -v testo.d/gtm.test testo.d/kml.test testo.d/tomtom_asc.test";
|
2009-05-29 23:30:10 +00:00
|
|
|
|
2015-10-27 22:38:21 +00:00
|
|
|
meta = with stdenv.lib; {
|
2014-08-24 14:21:08 +00:00
|
|
|
description = "Convert, upload and download data from GPS and Map programs";
|
2009-05-29 23:30:10 +00:00
|
|
|
longDescription = ''
|
|
|
|
GPSBabel converts waypoints, tracks, and routes between popular
|
|
|
|
GPS receivers and mapping programs. It also has powerful
|
|
|
|
manipulation tools for such data.
|
|
|
|
|
|
|
|
By flattening the Tower of Babel that the authors of various
|
|
|
|
programs for manipulating GPS data have imposed upon us, it
|
|
|
|
returns to us the ability to freely move our own waypoint data
|
|
|
|
between the programs and hardware we choose to use.
|
|
|
|
|
|
|
|
It contains extensive data manipulation abilities making it a
|
|
|
|
convenient for server-side processing or as the backend for
|
|
|
|
other tools.
|
|
|
|
|
|
|
|
It does not convert, transfer, send, or manipulate maps. We
|
|
|
|
process data that may (or may not be) placed on a map, such as
|
|
|
|
waypoints, tracks, and routes.
|
|
|
|
'';
|
|
|
|
homepage = http://www.gpsbabel.org/;
|
2015-10-27 22:38:21 +00:00
|
|
|
license = licenses.gpl2Plus;
|
|
|
|
maintainers = [ maintainers.rycee ];
|
|
|
|
platforms = platforms.all;
|
2009-05-29 23:30:10 +00:00
|
|
|
};
|
|
|
|
}
|