[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/08: gnu: Add navit.
From: |
guix-commits |
Subject: |
01/08: gnu: Add navit. |
Date: |
Thu, 17 Nov 2022 07:04:21 -0500 (EST) |
cbaines pushed a commit to branch master
in repository guix.
commit b64a80258b8bef89f560f47bf84b71061c6127a6
Author: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
AuthorDate: Wed Nov 16 19:11:29 2022 +0100
gnu: Add navit.
* gnu/packages/geo.scm (navit): New variable.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/geo.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 106 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ade53a503c..f8163b1e37 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -114,6 +115,8 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages speech)
#:use-module (gnu packages swig)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
@@ -2770,3 +2773,106 @@ using third-party geocoders and other data sources.")
reconstructions of geological and paleogeographic features through geological
time. Interactively visualize vector, raster and volume data.")
(license license:gpl2+)))
+
+(define-public navit
+ (package
+ (name "navit")
+ (version "0.5.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/navit-gps/navit")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1jhlif0sc5m8wqb5j985g1xba2ki7b7mm14pkvzdghjd0q0gf15s"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; There are no tests
+ #:tests? #f
+ ;; With -DSAMPLE_MAP=TRUE (the default), it tries to download a
+ ;; map during the build process.
+ #:configure-flags #~(list "-DSAMPLE_MAP=FALSE")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after
+ 'unpack 'patch-navit-config
+ (lambda _
+ ;; For now this package only supports SDL, so if we keep
+ ;; the configuration as-is, Navit doesn't start.
+ (substitute*
+ "navit/navit_shipped.xml"
+ (("<graphics type=\"gtk_drawing_area\"/>")
+ "<graphics type=\"sdl\"/>"))
+ ;; Users are expected to be able to add XML files inside
+ ;; $NAVIT_SHAREDIR, however that directory is in the store.
+ (substitute*
+ "navit/navit_shipped.xml"
+ (("<xi:include href=\"\\$NAVIT_SHAREDIR/maps/\\*\\.xml\"/>")
+ "<xi:include href=\"$NAVIT_USER_DATADIR/maps/*.xml\"/>"))
+ ;; Navit also works without GPS but in that case there is
+ ;; no automatic zooming, so we need zoom buttons to be able
+ ;; to manually zoom in or out.
+ (substitute*
+ "navit/navit_shipped.xml"
+ (((string-append
+ "<osd enabled=\"no\" type=\"button\" x=\"-96\" y=\"-96\" "
+ "command=\"zoom_in()"))
+ (string-append
+ "<osd enabled=\"yes\" type=\"button\" x=\"-96\" y=\"-96\" "
+ "command=\"zoom_in()"))
+ (((string-append
+ "<osd enabled=\"no\" type=\"button\" x=\"0\" y=\"-96\" "
+ "command=\"zoom_out()"))
+ (string-append
+ "<osd enabled=\"yes\" type=\"button\" x=\"0\" y=\"-96\" "
+ "command=\"zoom_out()\" src=\"zoom_out.png\"/>")))))
+ (add-before
+ 'build 'set-cache
+ ;; During the build, svg icons are converted in different
+ ;; formats, and this needs XDG_CACHE_HOME to work.
+ (lambda _
+ (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache"))))))
+ (inputs (list dbus-glib
+ espeak
+ freeglut
+ freeimage
+ freetype
+ glib
+ gettext-minimal
+ gpsd
+ gdk-pixbuf
+ imlib2
+ python
+ sdl
+ sdl-image))
+ (native-inputs (list fontconfig
+ (librsvg-for-system)
+ pkg-config))
+ (home-page "https://www.navit-project.org")
+ (synopsis "Car navigation system with routing engine that uses vector maps
data")
+ (description "Navit is a car navigation system with a routing engine.
+
+It is meant to work with touchscreen devices, but it also works
+without a touchscreen. It also supports text to speech.
+
+It can be configured extensively through its own configuration file
+format. For instance we can configure the graphical interface, and
+which map data is to be displayed at which zoom level.
+
+It supports different routing profiles: bike, car, car_avoid_toll,
+car_pedantic, car_shortest, horse, pedestrian, truck.
+
+It can use gpsd or NMEA GPS directly to get position data. It also
+works without GPS: in this case users can also enter position data
+directly.
+
+It can also be used to log GPS data to files using the GPX or NMEA
+formats, or to replay NMEA data.
+
+For maps, it can uses its own \"binfile\" map format, or Garmin map
+file format, and data from OpenStreetMap, Garmin maps, Marco Polo
+Grosser Reiseplaner, Routeplaner Europa 2007, Map + Route.")
+ (license license:gpl2)))
- branch master updated (7ae4cfa5aa -> 7b7e80cf25), guix-commits, 2022/11/17
- 03/08: gnu: trash-cli: Update to 0.22.10.20., guix-commits, 2022/11/17
- 06/08: services: gitolite: Use the correct variable for the user-group., guix-commits, 2022/11/17
- 07/08: gnu: botan: Update to 2.19.2, guix-commits, 2022/11/17
- 01/08: gnu: Add navit.,
guix-commits <=
- 04/08: gnu: trash-cli: Use G-expressions., guix-commits, 2022/11/17
- 02/08: gnu: httpie: Update to 3.2.1., guix-commits, 2022/11/17
- 08/08: gnu: neovim: Update to 0.8.1., guix-commits, 2022/11/17
- 05/08: gnu: python-hypothesis: Update home-page., guix-commits, 2022/11/17