unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#59218] [PATCH] gnu: Add navit
@ 2022-11-12 15:24 Denis 'GNUtoo' Carikli
  2022-11-16 16:42 ` [bug#59218] " Denis 'GNUtoo' Carikli
  2022-11-16 18:11 ` [bug#59218] [PATCH v2] " Denis 'GNUtoo' Carikli
  0 siblings, 2 replies; 4+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2022-11-12 15:24 UTC (permalink / raw)
  To: 59218; +Cc: Denis 'GNUtoo' Carikli

* gnu/packages/geo.scm (navit): New variable.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
 gnu/packages/geo.scm | 106 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9895756864..9622e76d67 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 @@ (define-module (gnu packages geo)
   #: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)
@@ -2769,3 +2772,106 @@ (define-public gplates
 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 is 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)))
-- 
2.38.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#59218] gnu: Add navit
  2022-11-12 15:24 [bug#59218] [PATCH] gnu: Add navit Denis 'GNUtoo' Carikli
@ 2022-11-16 16:42 ` Denis 'GNUtoo' Carikli
  2022-11-16 18:11 ` [bug#59218] [PATCH v2] " Denis 'GNUtoo' Carikli
  1 sibling, 0 replies; 4+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2022-11-16 16:42 UTC (permalink / raw)
  To: 59218

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

Hi,

I don't know what happened but there is a small issue to fix:
> gnu/packages/geo.scm:2855:16: navit@0.5.6: sentences in description
> should be followed by two spaces; possible infractions at 142, 252,
> 548 checking navit@0.5.6 [derivation]...

Denis.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#59218] [PATCH v2] gnu: Add navit
  2022-11-12 15:24 [bug#59218] [PATCH] gnu: Add navit Denis 'GNUtoo' Carikli
  2022-11-16 16:42 ` [bug#59218] " Denis 'GNUtoo' Carikli
@ 2022-11-16 18:11 ` Denis 'GNUtoo' Carikli
  2022-11-17 12:05   ` Christopher Baines
  1 sibling, 1 reply; 4+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2022-11-16 18:11 UTC (permalink / raw)
  To: 59218; +Cc: Denis 'GNUtoo' Carikli

* gnu/packages/geo.scm (navit): New variable.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
 gnu/packages/geo.scm | 106 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9895756864..48cd964583 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 @@ (define-module (gnu packages geo)
   #: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)
@@ -2769,3 +2772,106 @@ (define-public gplates
 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 is 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)))

base-commit: 2757de2e2b271d87f6f72ba4161c2225fbdc9e78
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#59218] [PATCH v2] gnu: Add navit
  2022-11-16 18:11 ` [bug#59218] [PATCH v2] " Denis 'GNUtoo' Carikli
@ 2022-11-17 12:05   ` Christopher Baines
  0 siblings, 0 replies; 4+ messages in thread
From: Christopher Baines @ 2022-11-17 12:05 UTC (permalink / raw)
  To: Denis 'GNUtoo' Carikli; +Cc: 59218-done, 59218

[-- Attachment #1: Type: text/plain, Size: 494 bytes --]


Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> writes:

> * gnu/packages/geo.scm (navit): New variable.
>
> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
> ---
>  gnu/packages/geo.scm | 106 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 106

Looks good to me. I added a fullstop to the first line of the commit
message, tweaked a comment and also tweaked the indentation and pushed
to master as b64a80258b8bef89f560f47bf84b71061c6127a6.

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-11-17 12:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-12 15:24 [bug#59218] [PATCH] gnu: Add navit Denis 'GNUtoo' Carikli
2022-11-16 16:42 ` [bug#59218] " Denis 'GNUtoo' Carikli
2022-11-16 18:11 ` [bug#59218] [PATCH v2] " Denis 'GNUtoo' Carikli
2022-11-17 12:05   ` Christopher Baines

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).