gnu: datefudge: Update to 1.23.
[jackhill/guix/guix.git] / gnu / packages / gps.scm
CommitLineData
83aabfbc 1;;; GNU Guix --- Functional package management for GNU
ce0614dd 2;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
0f763db4 3;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
7b6eabc7 4;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
53655964 5;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
83aabfbc
LC
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages gps)
23 #:use-module (guix packages)
24 #:use-module (guix download)
3b239720 25 #:use-module (guix git-download)
83aabfbc
LC
26 #:use-module (guix build-system gnu)
27 #:use-module ((guix licenses) #:prefix license:)
924b96db 28 #:use-module (gnu packages)
ce0614dd 29 #:use-module (gnu packages base)
3b239720 30 #:use-module (gnu packages pkg-config)
83aabfbc 31 #:use-module (gnu packages compression)
3b239720 32 #:use-module (gnu packages docbook)
023f0fb0 33 #:use-module (gnu packages image)
83aabfbc 34 #:use-module (gnu packages xml)
3b239720 35 #:use-module (gnu packages gtk)
cd0322a3
RW
36 #:use-module (gnu packages qt)
37 #:use-module (gnu packages sqlite))
83aabfbc
LC
38
39(define-public gpsbabel
40 (package
41 (name "gpsbabel")
924b96db 42 (version "1.5.4")
83aabfbc
LC
43 (source (origin
44 (method url-fetch)
45 ;; XXX: Downloads from gpsbabel.org are hidden behind a POST, so
46 ;; get it from elsewhere.
47 (uri (string-append
48 "mirror://debian/pool/main/g/gpsbabel/gpsbabel_"
49 version ".orig.tar.gz"))
50 (sha256
51 (base32
924b96db
MO
52 "19hykxhyl567gf8qcrl33qhv95w0g4vxw9r3h9b8d8plx9bnaf8l"))
53 (patches (search-patches
54 "gpsbabel-minizip.patch"
55 ;; XXX: Remove this patch on the next release.
56 "gpsbabel-qstring.patch"))
03392caa 57 (modules '((guix build utils)))
6d2ff645
TGR
58 (snippet
59 '(begin
60 ;; Delete files under GPL-compatible licences but never used
61 ;; on GNU systems, rather than bloating the LICENSE field.
924b96db
MO
62 (delete-file "gui/serial_mac.cc") ; Apple MIT
63 (delete-file "mingw/include/ddk/hidsdi.h") ; public domain
6d2ff645 64 #t))))
83aabfbc 65 (build-system gnu-build-system)
924b96db 66 ;; TODO: "make doc" requires Docbook & co.
83aabfbc 67 (arguments
15354d86 68 `(#:configure-flags
cfad3def 69 '("--with-zlib=system")
82350397
LC
70 ;; On i686, 'raymarine.test' fails because of a rounding error:
71 ;; <http://hydra.gnu.org/build/133040>. As a workaround, disable tests
72 ;; on these platforms.
15354d86
DC
73 ;; FIXME: On x86_64 with -std=gnu++11 tests also fail due to rounding
74 ;; error.
75 #:tests? #f))
83aabfbc
LC
76 (inputs
77 `(("expat" ,expat)
78 ("zlib" ,zlib)
e2814984
EF
79 ("qtbase" ,qtbase)
80 ("qttools" ,qttools)))
83aabfbc
LC
81 (native-inputs
82 `(("which" ,which)
83 ("libxml2" ,libxml2))) ;'xmllint' needed for the KML tests
facee794 84 (home-page "https://www.gpsbabel.org/")
83aabfbc
LC
85 (synopsis "Convert and exchange data with GPS and map programs")
86 (description
87 "GPSBabel converts waypoints, tracks, and routes between hundreds of
88popular GPS receivers and mapping programs. It contains extensive data
89manipulation abilities making it a convenient for server-side processing or as
90the back-end for other tools. It does not convert, transfer, send, or
91manipulate maps.")
6d2ff645
TGR
92 (license (list license:expat ; shapelib/*.[ch]
93 license:gpl2+)))) ; everything else
3b239720
LC
94
95(define-public gpscorrelate
96 ;; This program is "lightly maintained", so to speak, so we end up taking it
97 ;; directly from its Git repo.
98 (let ((commit "365f6e1b3f"))
99 (package
100 (name "gpscorrelate")
101 (version (string-append "1.6.1." commit))
102 (source (origin
103 (method git-fetch)
104 (uri (git-reference
2508b075 105 (url "https://github.com/dfandrich/gpscorrelate")
3b239720 106 (commit commit)))
87d868cc 107 (file-name (git-file-name name version))
3b239720
LC
108 (sha256
109 (base32
110 "006a6l8p38a4h7y2959sqrmjjn29d8pd50zj9nypcp5ph18nybjb"))))
111 (build-system gnu-build-system)
112 (arguments
dc1d3cde
KK
113 `(#:phases
114 (modify-phases %standard-phases
115 (replace 'configure
116 (lambda* (#:key inputs outputs #:allow-other-keys)
117 ;; This is a rudimentary build system.
118 (substitute* "Makefile"
119 (("prefix[[:blank:]]*=.*$")
120 (string-append "prefix = " (assoc-ref outputs "out")
121 "\n")))
122 #t)))
3b239720
LC
123 #:tests? #f))
124 (inputs
125 `(("gtk+" ,gtk+-2)
126 ("libxml2" ,libxml2)
127 ("exiv2" ,exiv2)))
128 (native-inputs
129 `(("pkg-config" ,pkg-config)
130 ("docbook-xml" ,docbook-xml)
131 ("docbook-xsl" ,docbook-xsl)
132 ("libxslt" ,libxslt)))
2508b075 133 (home-page "https://dfandrich.github.io/gpscorrelate/")
3b239720
LC
134 (synopsis "GPS photo correlation tool to geo-localize images")
135 (description
136 "GPS Correlate is a program to match a recorded GPS track with the EXIF
137tags in digital camera photos, and update the EXIF tags with the location that
138the photo was taken. It does this by using the timestamp in the photo and
139finding a data point in the GPS track that matches, or interpolating a point
140between two other data points.")
141 (license license:gpl2+))))
b200ecde
EF
142
143(define-public gama
144 (package
145 (name "gama")
6b4ed9ad 146 (version "2.07")
b200ecde
EF
147 (source
148 (origin
149 (method url-fetch)
150 (uri (string-append "mirror://gnu/gama/gama-"
151 version ".tar.gz"))
152 (sha256
153 (base32
6b4ed9ad 154 "0nmc6mkd55nryfffq5k9c09dhkbq6bfs06af8ammhbh5jzdn3s36"))))
b200ecde
EF
155 (build-system gnu-build-system)
156 (arguments '(#:parallel-tests? #f)) ; race condition
157 (native-inputs
158 `(("libxml2" ,libxml2)))
159 (inputs
160 `(("expat" ,expat)
161 ("sqlite" ,sqlite)))
162 (home-page "https://www.gnu.org/software/gama")
163 (synopsis "Adjustment of geodetic networks")
164 (description
165 "GNU Gama is a program for the adjustment of geodetic networks. It is
166useful in measurements where Global Positioning System (GPS) is not available,
167such as underground. It features the ability to adjust in local Cartesian
168coordinates as well as partial support for adjustments in global coordinate systems.")
169 (license license:gpl3+)))
53655964
MO
170
171(define-public gpxsee
172 (package
173 (name "gpxsee")
9f302867 174 (version "7.16")
53655964 175 (source (origin
ed8a5516
LC
176 (method git-fetch)
177 (uri (git-reference
178 (url "https://github.com/tumic0/GPXSee")
179 (commit version)))
180 (file-name (git-file-name name version))
53655964
MO
181 (sha256
182 (base32
9f302867 183 "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav"))))
53655964
MO
184 (build-system gnu-build-system)
185 (arguments
186 '(#:phases
187 (modify-phases %standard-phases
188 (replace 'configure
189 ;; Use lrelease to convert TS translation files into QM files.
190 (lambda* (#:key inputs outputs #:allow-other-keys)
191 (for-each (lambda (file)
d64b79fa 192 (invoke "lrelease" file))
53655964 193 (find-files "lang" "\\.ts"))
53655964
MO
194 (invoke "qmake"
195 (string-append "PREFIX="
286ef5d9 196 (assoc-ref outputs "out"))))))))
53655964
MO
197 (inputs
198 `(("qtbase" ,qtbase)))
199 (native-inputs
200 `(("qttools" ,qttools)))
286ef5d9
NK
201 (home-page "https://www.gpxsee.org")
202 (synopsis "GPS log file viewer and analyzer")
53655964 203 (description
286ef5d9
NK
204 "GPXSee is a Qt-based GPS log file viewer and analyzer that supports
205all common GPS log file formats.")
53655964 206 (license license:gpl3)))