From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-patches-bounces+larch=yhetil.org@gnu.org>
Received: from mp12.migadu.com ([2001:41d0:2:bcc0::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms5.migadu.com with LMTPS
	id 0JS6JgUodWPIggAAbAwnHQ
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Wed, 16 Nov 2022 19:12:21 +0100
Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp12.migadu.com with LMTPS
	id 4FC3JgUodWMs/gAAauVa8A
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Wed, 16 Nov 2022 19:12:21 +0100
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id 31F191247C
	for <larch@yhetil.org>; Wed, 16 Nov 2022 19:12:21 +0100 (CET)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-patches-bounces@gnu.org>)
	id 1ovMtM-0001zZ-Or; Wed, 16 Nov 2022 13:12:10 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1ovMtH-0001sQ-Sx
 for guix-patches@gnu.org; Wed, 16 Nov 2022 13:12:03 -0500
Received: from debbugs.gnu.org ([209.51.188.43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1ovMtG-0007dG-DQ
 for guix-patches@gnu.org; Wed, 16 Nov 2022 13:12:03 -0500
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1ovMtG-0001U9-5m
 for guix-patches@gnu.org; Wed, 16 Nov 2022 13:12:02 -0500
X-Loop: help-debbugs@gnu.org
Subject: [bug#59218] [PATCH v2] gnu: Add navit
References: <20221112152455.7436-1-GNUtoo@cyberdimension.org>
In-Reply-To: <20221112152455.7436-1-GNUtoo@cyberdimension.org>
Resent-From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: guix-patches@gnu.org
Resent-Date: Wed, 16 Nov 2022 18:12:02 +0000
Resent-Message-ID: <handler.59218.B59218.16686222985678@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 59218
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 59218@debbugs.gnu.org
Cc: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Received: via spool by 59218-submit@debbugs.gnu.org id=B59218.16686222985678
 (code B ref 59218); Wed, 16 Nov 2022 18:12:02 +0000
Received: (at 59218) by debbugs.gnu.org; 16 Nov 2022 18:11:38 +0000
Received: from localhost ([127.0.0.1]:58101 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1ovMss-0001TV-Ap
 for submit@debbugs.gnu.org; Wed, 16 Nov 2022 13:11:38 -0500
Received: from cyberdimension.org ([80.67.179.20]:48890
 helo=gnutoo.cyberdimension.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <GNUtoo@cyberdimension.org>) id 1ovMsq-0001TN-Uf
 for 59218@debbugs.gnu.org; Wed, 16 Nov 2022 13:11:37 -0500
Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1])
 by cyberdimension.org (OpenSMTPD) with ESMTP id b58d64d4;
 Wed, 16 Nov 2022 18:10:46 +0000 (UTC)
Received: from localhost.localdomain (localhost [::1])
 by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 043ce1df;
 Wed, 16 Nov 2022 18:10:46 +0000 (UTC)
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Wed, 16 Nov 2022 19:11:29 +0100
Message-Id: <20221116181129.5505-1-GNUtoo@cyberdimension.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: guix-patches@gnu.org
List-Id: <guix-patches.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-patches>
List-Post: <mailto:guix-patches@gnu.org>
List-Help: <mailto:guix-patches-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=subscribe>
Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org
Sender: guix-patches-bounces+larch=yhetil.org@gnu.org
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1668622341;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:resent-cc:
	 resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post; bh=SfwvzZaWfa0wEO5gSva/a4mtSat6goQ8q4dn7fCqkKo=;
	b=VlP/w8B7p1mhEzJunY3nHYI0nJhqyeQmx8rl6/p8IgkOFZoJ9sNiiafHVAYfsmsElNBDPx
	of9sjLlHDXMR47Fug25528BjSuCqMRau6eca17NMbiK9G0Yt51x2lylMt9iH6qv6wZRTcy
	v6bZXyY71pESb4psazKG6m2X1ZFS3iF2EdbIRAIOC+yu+vsLNRJPr1sJVyP6Nry+X/qPaQ
	4aeQciTJpVE7Zse0xQS30A9P8fkEYt1mQ2l5SfqbzhV9MxlvSZXDlx9TPN7Vd/vxjjoxpv
	pVS+Kh+NIbk+8jf0ZnTtQIXM3hIYR0U6awE97g4+XkvYWum6XUZ9OYmJftft2g==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1668622341; a=rsa-sha256; cv=none;
	b=SGUS/rLCRO9Atbvey49dx8Jn9+xBbuqj4T+X2enEuwH+62j2IbiogcXTGumUPPw4hQGG90
	FFCSfLjGUdWz2Rhp7OEwGTnx24BjI2HbaZ+5dl/7gTd+yk4SdDJMsMcbeVZ2c/6wYmfpiW
	VM+dgQBEpMagUiXAVGVp+pKj9MdJj6np3lz0PhzdS+AjPCxupGtEfNYJasFNHLBJuBiKic
	Ln6v4vRhm3h0iUWueXM6PtKLGHirAMkVieska5BppCNFHqON8P90bvgWG7SQYRK+zwNoMo
	nMuqM4n+Vtn84X+pSep1/Xeo+pg7sBTp1dQ5D/2LV2dhw8C0YyM4v7Nj93Kx/g==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=none;
	dmarc=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
X-Migadu-Spam-Score: -0.84
Authentication-Results: aspmx1.migadu.com;
	dkim=none;
	dmarc=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
X-Migadu-Queue-Id: 31F191247C
X-Spam-Score: -0.84
X-Migadu-Scanner: scn0.migadu.com
X-TUID: fvlbcb7/TBGL

* 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