summaryrefslogtreecommitdiff
path: root/gnu/packages/geo.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/geo.scm')
-rw-r--r--gnu/packages/geo.scm249
1 files changed, 156 insertions, 93 deletions
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ecb324d738..a1095a7fba 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -96,6 +96,7 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages fribidi)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
@@ -1293,6 +1294,61 @@ amenities/points of interest, building footprints, elevation data,
street bearings/orientations, and speed/travel time.")
(license license:expat)))
+(define-public python-owslib
+ (package
+ (name "python-owslib")
+ (version "0.34.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/geopython/OWSLib")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14pb96h0nl4c6hs58i2z7mx0fpd4g886ajflbrs69hwiqj2x8a3f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list
+ ;; XXX: Those tests require network access.
+ "-k" (string-join
+ (list "not test_ows_interfaces_wcs"
+ "test_system_readonly"
+ "test_sampling_features_readonly"
+ "test_datastreams_readonly"
+ "test_observations_readonly"
+ "test_system_history")
+ " and not ")
+ ;; XXX: Not collected properly.
+ "--ignore-glob=tests/doctests/*")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'cleanup-build-directory
+ (lambda _
+ (delete-file-recursively "build"))))))
+ (native-inputs
+ (list python-dateutil
+ python-pyproj
+ python-pyyaml
+ python-pytest
+ python-pytest-cov
+ python-pytest-httpserver
+ python-pytz
+ python-requests
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-lxml))
+ (synopsis "Interface for Open Geospatial Consortium web service")
+ (description
+ "OWSLib is a Python package for client programming with Open Geospatial
+Consortium (OGC) web service (hence OWS) interface standards, and their related
+content models.")
+ (home-page "https://geopython.github.io/OWSLib/")
+ (license license:bsd-3)))
+
(define-public mapnik
;; There hasn't been a release since early 2021, and it fails to build with
;; Boost 1.77+.
@@ -3907,107 +3963,114 @@ 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.
+ ;; XXX: The latest commit provides compatibility with GCC 14, switch to tag
+ ;; when a fresh release is available.
+ (let ((commit "2418e3f42af0641c734f93f3d6d20d3025ad2182")
+ (revision "0"))
+ (package
+ (name "navit")
+ (version (git-version "0.5.6" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/navit-gps/navit")
+ (commit commit)))
+ (sha256
+ (base32
+ "0s7rhg1xyj56g19fh84znj6fzdiglgf010appjydivn5gkyzb9kq"))
+ (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
+ fribidi
+ glib
+ gettext-minimal
+ gpsd
+ gdk-pixbuf
+ imlib2
+ python
+ sdl
+ sdl-image))
+ (native-inputs (list fontconfig
+ (librsvg-for-system)
+ libxslt
+ pkg-config
+ protobuf-c))
+ (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 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 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 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.
+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)))
+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))))
(define-public laszip
(package