;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system scons)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#: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 image)
- #:use-module (gnu packages xml)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
- #:use-module (gnu packages sqlite))
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages xml))
(define-public gpsbabel
(package
;; TODO: "make doc" requires Docbook & co.
(arguments
`(#:configure-flags
- '("--with-zlib=system"
- ;; XXX Use -fPIC to work around build problems with Qt, GCC 5, and
- ;; recent binutils:
- ;; https://codereview.qt-project.org/#/c/111787/
- "CXXFLAGS=-std=gnu++11 -fPIC")
+ '("--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.
(define-public gama
(package
(name "gama")
- (version "2.03")
+ (version "2.07")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0d33yyasnx54c6i40rkr9by4qv92rqb8wkmp5r46nz7bbp9kpymv"))))
+ "0nmc6mkd55nryfffq5k9c09dhkbq6bfs06af8ammhbh5jzdn3s36"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; race condition
(native-inputs
(define-public gpxsee
(package
(name "gpxsee")
- (version "4.19")
+ (version "7.25")
(source (origin
- (method url-fetch)
- (uri
- (string-append "https://github.com/tumic0/GPXSee/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tumic0/GPXSee")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "00j0gjldw1kn3i45dppld1pz8r4s1g7lw89k7gfvvqbjjyjih1wg"))))
+ "0lml3hz2zxljl9j5wnh7bn9bj8k9v3wf6bk3g77x9nnarsmw0fcx"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(for-each (lambda (file)
(invoke "lrelease" file))
(find-files "lang" "\\.ts"))
- (substitute* "src/config.h"
- (("/usr/share/gpxsee")
- (string-append
- (assoc-ref outputs "out") "/share/gpxsee")))
(invoke "qmake"
(string-append "PREFIX="
- (assoc-ref outputs "out")))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share/gpxsee/")))
- (install-file "GPXSee" (string-append out "/bin/GPXSee"))
- (install-file "pkg/maps.txt" share))
- #t)))))
+ (assoc-ref outputs "out"))))))))
(inputs
`(("qtbase" ,qtbase)))
(native-inputs
`(("qttools" ,qttools)))
- (home-page "http://www.gpxsee.org")
- (synopsis "GPX file viewer and analyzer")
+ (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 GPX,
-TCX, KML, FIT, IGC and NMEA files.")
+ "GPXSee is a Qt-based GPS log file viewer and analyzer that supports all
+common GPS log file formats. It can display multiple tracks on various on-
+and off-line maps. You can easily add more maps and graph other captured data
+such as elevation, speed, heart rate, power, temperature, and gear shifts.")
(license license:gpl3)))
+
+(define-public gpsd
+ (package
+ (name "gpsd")
+ (version "3.19")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download-mirror.savannah.gnu.org"
+ "/releases/gpsd/gpsd-" version ".tar.gz"))
+ (sha256
+ (base32 "0faz2mvk82hi7ispxxih07lhpyz5dazs4gcknym9piiabga29p97"))))
+ (build-system scons-build-system)
+ (native-inputs
+ `(("bc" ,bc)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("bluez" ,bluez)
+ ("dbus" ,dbus)
+ ("libcap" ,libcap)
+ ("libusb" ,libusb)
+ ("ncurses" ,ncurses)
+ ("python" ,python)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyserial" ,python-pyserial)
+ ("python-wrapper" ,python-wrapper)
+ ("qtbase" ,qtbase)))
+ (arguments
+ `(#:scons-flags
+ (list (string-append "prefix=" %output)
+ (let ((version ,(version-major+minor (package-version python))))
+ (string-append "python_libdir=" %output
+ "/lib/python" version
+ "/site-packages"))
+ "qt_versioned=5")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "SConstruct"
+ (("envs = \\{\\}")
+ "envs = os.environ"))
+ #t))
+ (add-after 'install 'wrap-python-scripts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (pycairo (assoc-ref inputs "python-pycairo"))
+ (pygobject (assoc-ref inputs "python-pygobject"))
+ (pyserial (assoc-ref inputs "python-pyserial"))
+ (sitedir (lambda (package)
+ (string-append package
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (pythonpath (string-join (map sitedir
+ (list out pycairo pygobject
+ pyserial))
+ ":")))
+ (for-each (lambda (script)
+ (wrap-program (string-append out "/bin/" script)
+ `("PYTHONPATH" ":" prefix (,pythonpath))))
+ '("gegps" "gpscat" "gpsfake" "gpsprof"
+ "ubxtool" "xgps" "xgpsspeed" "zerk")))
+ #t)))))
+ (synopsis "GPS service daemon")
+ (description
+ "@code{gpsd} is a service daemon that monitors one or more GPSes or AIS
+receivers attached to a host computer through serial or USB ports, making all
+data on the location/course/velocity of the sensors available to be queried on
+TCP port 2947 of the host computer.")
+ (home-page "https://gpsd.gitlab.io/gpsd/")
+ (license license:bsd-2)))