;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#: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
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:
;; <http://hydra.gnu.org/build/133040>. 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
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
(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)
("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
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)))