X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/2a8d44015ff2672b7a9a2ea5054b51a83b0e934b..c16e3dfb1c74ec55b629823784c773d2860433bc:/gnu/packages/gps.scm diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 231b1d1b04..8f23be05e6 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -1,5 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,19 +25,21 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages which) + #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) #:use-module (gnu packages docbook) - #:use-module (gnu packages geeqie) ;exiv2 + #:use-module (gnu packages image) #:use-module (gnu packages xml) #:use-module (gnu packages gtk) - #:use-module (gnu packages qt)) + #:use-module (gnu packages qt) + #:use-module (gnu packages sqlite)) (define-public gpsbabel (package (name "gpsbabel") - (version "1.5.0") + (version "1.5.4") (source (origin (method url-fetch) ;; XXX: Downloads from gpsbabel.org are hidden behind a POST, so @@ -44,29 +49,39 @@ version ".orig.tar.gz")) (sha256 (base32 - "1pd01kra9l5ihy1by87qia0mpbpcif7g5yg7r9z2bnw7711jm3yb")))) + "19hykxhyl567gf8qcrl33qhv95w0g4vxw9r3h9b8d8plx9bnaf8l")) + (patches (search-patches + "gpsbabel-minizip.patch" + ;; XXX: Remove this patch on the next release. + "gpsbabel-qstring.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete files under GPL-compatible licences but never used + ;; on GNU systems, rather than bloating the LICENSE field. + (delete-file "gui/serial_mac.cc") ; Apple MIT + (delete-file "mingw/include/ddk/hidsdi.h") ; public domain + #t)))) (build-system gnu-build-system) + ;; TODO: "make doc" requires Docbook & co. (arguments - `(#:configure-flags '("--with-zlib=system") - #:phases (alist-cons-before - 'configure 'pre-configure - (lambda _ - (chdir "gpsbabel")) - ;; TODO: "make doc" requires Docbook & co. - %standard-phases) - + `(#:configure-flags + '("--with-zlib=system") ;; On i686, 'raymarine.test' fails because of a rounding error: ;; . As a workaround, disable tests ;; on these platforms. - #:tests? ,(not (string-prefix? "i686" (%current-system))))) + ;; FIXME: On x86_64 with -std=gnu++11 tests also fail due to rounding + ;; error. + #:tests? #f)) (inputs `(("expat" ,expat) ("zlib" ,zlib) - ("qt4" ,qt-4))) + ("qtbase" ,qtbase) + ("qttools" ,qttools))) (native-inputs `(("which" ,which) ("libxml2" ,libxml2))) ;'xmllint' needed for the KML tests - (home-page "http://www.gpsbabel.org/") + (home-page "https://www.gpsbabel.org/") (synopsis "Convert and exchange data with GPS and map programs") (description "GPSBabel converts waypoints, tracks, and routes between hundreds of @@ -74,7 +89,8 @@ popular GPS receivers and mapping programs. It contains extensive data manipulation abilities making it a convenient for server-side processing or as the back-end for other tools. It does not convert, transfer, send, or manipulate maps.") - (license license:gpl2+))) + (license (list license:expat ; shapelib/*.[ch] + license:gpl2+)))) ; everything else (define-public gpscorrelate ;; This program is "lightly maintained", so to speak, so we end up taking it @@ -86,22 +102,24 @@ manipulate maps.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/freefoote/gpscorrelate") + (url "https://github.com/dfandrich/gpscorrelate") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "006a6l8p38a4h7y2959sqrmjjn29d8pd50zj9nypcp5ph18nybjb")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; This is a rudimentary build system. - (substitute* "Makefile" - (("prefix[[:blank:]]*=.*$") - (string-append "prefix = " (assoc-ref outputs "out") - "\n")))) - %standard-phases) + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; This is a rudimentary build system. + (substitute* "Makefile" + (("prefix[[:blank:]]*=.*$") + (string-append "prefix = " (assoc-ref outputs "out") + "\n"))) + #t))) #:tests? #f)) (inputs `(("gtk+" ,gtk+-2) @@ -112,7 +130,7 @@ manipulate maps.") ("docbook-xml" ,docbook-xml) ("docbook-xsl" ,docbook-xsl) ("libxslt" ,libxslt))) - (home-page "http://freefoote.dview.net/linux/gpscorrelate") + (home-page "https://dfandrich.github.io/gpscorrelate/") (synopsis "GPS photo correlation tool to geo-localize images") (description "GPS Correlate is a program to match a recorded GPS track with the EXIF @@ -121,3 +139,68 @@ the photo was taken. It does this by using the timestamp in the photo and finding a data point in the GPS track that matches, or interpolating a point between two other data points.") (license license:gpl2+)))) + +(define-public gama + (package + (name "gama") + (version "2.07") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gama/gama-" + version ".tar.gz")) + (sha256 + (base32 + "0nmc6mkd55nryfffq5k9c09dhkbq6bfs06af8ammhbh5jzdn3s36")))) + (build-system gnu-build-system) + (arguments '(#:parallel-tests? #f)) ; race condition + (native-inputs + `(("libxml2" ,libxml2))) + (inputs + `(("expat" ,expat) + ("sqlite" ,sqlite))) + (home-page "https://www.gnu.org/software/gama") + (synopsis "Adjustment of geodetic networks") + (description + "GNU Gama is a program for the adjustment of geodetic networks. It is +useful in measurements where Global Positioning System (GPS) is not available, +such as underground. It features the ability to adjust in local Cartesian +coordinates as well as partial support for adjustments in global coordinate systems.") + (license license:gpl3+))) + +(define-public gpxsee + (package + (name "gpxsee") + (version "7.16") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumic0/GPXSee") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'configure + ;; Use lrelease to convert TS translation files into QM files. + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each (lambda (file) + (invoke "lrelease" file)) + (find-files "lang" "\\.ts")) + (invoke "qmake" + (string-append "PREFIX=" + (assoc-ref outputs "out")))))))) + (inputs + `(("qtbase" ,qtbase))) + (native-inputs + `(("qttools" ,qttools))) + (home-page "https://www.gpxsee.org") + (synopsis "GPS log file viewer and analyzer") + (description + "GPXSee is a Qt-based GPS log file viewer and analyzer that supports +all common GPS log file formats.") + (license license:gpl3)))