about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-04-11 20:40:52 +0200
committerGitHub <noreply@github.com>2017-04-11 20:40:52 +0200
commitd55ab1a6b93b28188f3cc136f794325dd9391604 (patch)
tree8522ab636a62708c456292941ce6aa364fe180dd /pkgs/applications
parent73f04ddd57edfa7944e8f68c13e98c2022ce9968 (diff)
parent9561fecd02a547e2a47afdc9afc51af72f2e3eff (diff)
Merge pull request #23572 from rycee/fix/gpsbabel-darwin
gpsbabel: fix darwin build
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/misc/gpsbabel/clang-4.patch22
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix14
2 files changed, 30 insertions, 6 deletions
diff --git a/pkgs/applications/misc/gpsbabel/clang-4.patch b/pkgs/applications/misc/gpsbabel/clang-4.patch
new file mode 100644
index 0000000000000..6bd19ae60440e
--- /dev/null
+++ b/pkgs/applications/misc/gpsbabel/clang-4.patch
@@ -0,0 +1,22 @@
+diff --git a/bushnell.cc b/bushnell.cc
+index 8fa844d..40707c4 100644
+--- a/bushnell.cc
++++ b/bushnell.cc
+@@ -135,7 +135,7 @@ bushnell_get_icon_from_name(QString name)
+     name = "Waypoint";
+   }
+
+-  for (t = bushnell_icons; t->icon > 0; t++) {
++  for (t = bushnell_icons; t->icon != 0; t++) {
+     if (0 == name.compare(t->icon, Qt::CaseInsensitive)) {
+       return t->symbol;
+     }
+@@ -147,7 +147,7 @@ static const char*
+ bushnell_get_name_from_symbol(signed int s)
+ {
+   icon_mapping_t* t;
+-  for (t = bushnell_icons; t->icon > 0; t++) {
++  for (t = bushnell_icons; t->icon != 0; t++) {
+     if (s == t->symbol) {
+       return t->icon;
+     }
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 6c248bc4dfa55..ace89cd8a21b8 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, zlib, qt4, which }:
+{ lib, stdenv, fetchurl, fetchpatch, zlib, qt4, which, IOKit }:
 
 stdenv.mkDerivation rec {
   name = "gpsbabel-${version}";
@@ -12,13 +12,15 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    ./clang-4.patch
     (fetchpatch {
       url = https://sources.debian.net/data/main/g/gpsbabel/1.5.3-2/debian/patches/use_minizip;
       sha256 = "03fpsmlx1wc48d1j405zkzp8j64hcp0z72islf4mk1immql3ibcr";
     })
   ];
 
-  buildInputs = [ zlib qt4 which ];
+  buildInputs = [ zlib qt4 which ]
+    ++ lib.optionals stdenv.isDarwin [ IOKit ];
 
   /* FIXME: Building the documentation, with "make doc", requires this:
 
@@ -40,11 +42,11 @@ stdenv.mkDerivation rec {
     patchShebangs testo
     substituteInPlace testo \
       --replace "-x /usr/bin/hexdump" ""
-  '' + (
+  ''
     # The raymarine and gtm tests fail on i686 despite -ffloat-store.
-    if stdenv.isi686 then "rm -v testo.d/raymarine.test testo.d/gtm.test;"
-    else ""
-  );
+  + lib.optionalString stdenv.isi686 "rm -v testo.d/raymarine.test testo.d/gtm.test;"
+    # 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";
 
   meta = with stdenv.lib; {
     description = "Convert, upload and download data from GPS and Map programs";