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.scm1103
1 files changed, 638 insertions, 465 deletions
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9d4a1a8955..23cec0f9b7 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -6,8 +6,8 @@
;;; Copyright © 2018 Ricardo Wurmus <[email protected]>
;;; Copyright © 2018, 2019 Arun Isaac <[email protected]>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <[email protected]>
-;;; Copyright © 2018, 2019, 2020 Julien Lepiller <[email protected]>
-;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <[email protected]>
+;;; Copyright © 2018, 2019, 2020, 2021 Julien Lepiller <[email protected]>
+;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <[email protected]>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <[email protected]>
;;; Copyright © 2019, 2021 Wiktor Żelazny <[email protected]>
;;; Copyright © 2019, 2020 Hartmut Goebel <[email protected]>
@@ -17,6 +17,7 @@
;;; Copyright © 2021 Sharlatan Hellseher <[email protected]>
;;; Copyright © 2021 Vinicius Monego <[email protected]>
;;; Copyright © 2021 Clément Lassieur <[email protected]>
+;;; Copyright © 2021 Nikolay Korotkiy <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,8 +60,11 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
+ #:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
@@ -75,6 +79,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gps)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-apps)
#:use-module (gnu packages image)
@@ -84,6 +89,7 @@
#:use-module (gnu packages kde)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@@ -92,7 +98,9 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -161,10 +169,9 @@
("seed" ,seed)
("vala" ,vala)))
(inputs
- `(("expat" ,expat)
- ("glib" ,glib)))
+ (list expat glib))
(propagated-inputs
- `(("cairo" ,cairo)))
+ (list cairo))
(synopsis "Map-rendering for OpenSteetMap")
(description "Memphis is a map-rendering application and a library for
OpenStreetMap written in C using eXpat, Cairo and GLib.")
@@ -194,7 +201,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
(("/bin/sh") (which "sh")))
#t)))))
(inputs
- `(("glib" ,glib)))
+ (list glib))
(home-page "https://geos.osgeo.org/")
(synopsis "Geometry Engine for Geographic Information Systems")
(description
@@ -211,15 +218,15 @@ topology functions.")
(define-public gnome-maps
(package
(name "gnome-maps")
- (version "3.38.5")
+ (version "41.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
+ (version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1llgzm2ni3iy31dznqkc81vadv0fpqgpz2l9zzrj5jshvyq0akgh"))))
+ "037xmkmcmcw87vb1c1s3y225m8757k331cvk1m8cshf6mx61p0l1"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@@ -229,23 +236,13 @@ topology functions.")
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t))
+ (("gtk-update-icon-cache") "true"))))
(add-after 'unpack 'patch-dbus-service
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "data/org.gnome.Maps.service.in"
(("@pkgdatadir@/org.gnome.Maps")
- (string-append (assoc-ref outputs "out") "/bin/gnome-maps")))
- #t))
- (add-after 'unpack 'fix-broken-tests
- (lambda _
- ;; For some reason setting LC_ALL=C and LANG=C as done in the
- ;; build system does not prevent these gratuitous commas from
- ;; being inserted.
- (substitute* "tests/utilsTest.js"
- (("1001 m") "1,001 m")
- (("1000 ft") "1,000 ft")
- (("5282 ft") "5,282 ft"))))
+ (string-append (assoc-ref outputs "out")
+ "/bin/gnome-maps")))))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -283,11 +280,12 @@ topology functions.")
("folks" ,folks)
("libchamplain" ,libchamplain)
("libgee" ,libgee)
+ ("libhandy" ,libhandy)
("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
+ ("libsoup" ,libsoup-minimal-2)
("libgweather" ,libgweather)
("libxml2" ,libxml2)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
+ ("librsvg" ,librsvg)
("glib-networking" ,glib-networking)
("geoclue" ,geoclue)
("geocode-glib" ,geocode-glib)
@@ -298,7 +296,7 @@ topology functions.")
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("rest" ,rest)
- ("webkitgtk" ,webkitgtk)))
+ ("webkitgtk" ,webkitgtk-with-libsoup2)))
(synopsis "Graphical map viewer and wayfinding program")
(description "GNOME Maps is a graphical map viewer. It uses map data from
the OpenStreetMap project. It can provide directions for walking, bicycling,
@@ -330,12 +328,10 @@ and driving.")
#t))))
(build-system gnu-build-system)
(inputs
- `(("libjpeg-turbo" ,libjpeg-turbo)
- ("libtiff" ,libtiff)
- ("zlib" ,zlib)))
+ (list libjpeg-turbo libtiff zlib))
(propagated-inputs
- `(;; libgeotiff headers include proj headers, so ensure those are available.
- ("proj" ,proj)))
+ (list ;; libgeotiff headers include proj headers, so ensure those are available.
+ proj))
(arguments
`(#:configure-flags
(list "--disable-static"
@@ -370,27 +366,27 @@ writing GeoTIFF information tags.")
"1x24gqp4hsq97c31ncwxblab0x0863q8v1z42jil7lvsq3glqa7p"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("cairo" ,cairo)
- ("curl" ,curl)
- ("freetype" ,freetype)
- ("freexl" ,freexl)
- ("giflib" ,giflib)
- ("libgeotiff" ,libgeotiff)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("librttopo" ,librttopo)
- ("libspatialite" ,libspatialite)
- ("libtiff" ,libtiff)
- ("libwebp" ,libwebp)
- ("libxml2" ,libxml2)
- ("lz4" ,lz4)
- ("minizip" ,minizip)
- ("openjpeg" ,openjpeg)
- ("proj" ,proj)
- ("sqlite" ,sqlite)
- ("zstd" ,zstd "lib")))
+ (list cairo
+ curl
+ freetype
+ freexl
+ giflib
+ libgeotiff
+ libjpeg-turbo
+ libpng
+ librttopo
+ libspatialite
+ libtiff
+ libwebp
+ libxml2
+ lz4
+ minizip
+ openjpeg
+ proj
+ sqlite
+ `(,zstd "lib")))
(synopsis "Library to work with huge raster coverages using a SpatiaLite")
(description
"librasterlite2 is a library that stores and retrieves huge raster
@@ -447,12 +443,9 @@ coverages using a SpatiaLite DBMS.")
(string-append "LIBTOOLIZE=" libtoolize "\n"))))
#t)))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(inputs
- `(("geos" ,geos)))
+ (list geos))
(synopsis "Library to handle SQL/MM topologies")
(description
"The RT Topology Library exposes an API to create and manage standard
@@ -474,28 +467,26 @@ coverages using a SpatiaLite DBMS.")
"164y82rw2lrp5glfc0rkn7n6xvx5dvlgmh7bb7815067251wkjzf"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("freexl" ,freexl)
- ("geos" ,geos)
- ("librttopo" ,librttopo)
- ("libxml2" ,libxml2)
- ("minizip" ,minizip)
- ("proj" ,proj)
- ("sqlite" ,sqlite)))
+ (list freexl
+ geos
+ librttopo
+ libxml2
+ minizip
+ proj
+ sqlite))
(arguments
`(#:configure-flags
'("--enable-rttopo=yes")
#:phases
(modify-phases %standard-phases
- ;; 3 tests are failing, ignore them:
+ ;; 1 test is failing, ignore it:
(add-after 'unpack 'ignore-broken-tests
(lambda _
(substitute* '("test/Makefile.in")
- (("\tcheck_sql_stmt.* (check_sql_.*)" all tiny) (string-append "\t" tiny))
- (("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n"))
- (("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4)))
- #t)))))
+ (("check_wms\\$\\(EXEEXT\\) check_drop_rename\\$\\(EXEEXT\\) ")
+ "check_wms$(EXEEXT) ")))))))
(synopsis "Extend SQLite to support Spatial SQL capabilities")
(description
"SpatiaLite is a library intended to extend the SQLite core to support
@@ -514,7 +505,7 @@ fully fledged Spatial SQL capabilities.")
(define-public proj
(package
(name "proj")
- (version "6.3.1")
+ (version "7.2.1")
(source
(origin
(method url-fetch)
@@ -522,22 +513,30 @@ fully fledged Spatial SQL capabilities.")
version ".tar.gz"))
(sha256
(base32
- "1y46ij32j9b4x1kjnnlykcwk3kkjwkg44sfc1ziwm3a3g0ki3q3d"))))
- (build-system gnu-build-system)
+ "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-version
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("MAJOR 7 MINOR 2 PATCH 0") "MAJOR 7 MINOR 2 PATCH 1")))))))
(inputs
- `(("sqlite" ,sqlite)))
+ (list curl libjpeg-turbo libtiff sqlite))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list googletest pkg-config))
(home-page "https://proj.org/")
(synopsis "Coordinate transformation software")
(description
"Proj is a generic coordinate transformation software that transforms
-geospatial coordinates from one coordinate reference system (CRS) to another.
-This includes cartographic projections as well as geodetic transformations.
-PROJ includes command line applications for easy conversion of coordinates
-from text files or directly from user input. In addition, proj also exposes
-an application programming interface that lets developers use the
-functionality of proj in their own software.")
+geospatial coordinates from one @acronym{CRS, coordinate reference system}
+to another. This includes cartographic projections as well as geodetic
+transformations. Proj includes command line applications for easy
+conversion of coordinates from text files or directly from user input.
+In addition, Proj also exposes an application programming interface that
+lets developers use the functionality of Proj in their own software.")
(license (list license:expat
;; src/projections/patterson.cpp
license:asl2.0
@@ -578,7 +577,7 @@ functionality of proj in their own software.")
(("\tPROJ_LIB.*" all) (string-append "#" all)))
#t)))))
(inputs
- `(("glib" ,glib)))
+ (list glib))
(home-page "https://proj.org/")
(synopsis "Cartographic Projections Library")
(description
@@ -594,6 +593,144 @@ projections.")
;; cmake/*
license:boost1.0))))
+(define-public python-pyproj
+ (package
+ (name "python-pyproj")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyproj" version))
+ (sha256
+ (base32
+ "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-proj-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((proj (assoc-ref inputs "proj")))
+ (setenv "PROJ_DIR" proj)
+ (substitute* "pyproj/datadir.py"
+ (("(internal_datadir = ).*$" all var)
+ (string-append var "Path(\"" proj "/share/proj\")\n")))))))))
+ (inputs
+ (list proj))
+ (propagated-inputs
+ (list python-certifi))
+ (native-inputs
+ (list python-cython python-numpy python-pandas python-pytest
+ python-xarray))
+ (home-page "https://github.com/pyproj4/pyproj")
+ (synopsis
+ "Python interface to PROJ")
+ (description
+ "This package provides a Python interface to PROJ, a cartographic
+projections and coordinate transformations library.")
+ (license license:expat)))
+
+(define-public python-fiona
+ (package
+ (name "python-fiona")
+ (version "1.8.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Fiona" version))
+ (sha256
+ (base32
+ "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-local-fiona
+ (lambda _
+ ; This would otherwise interfere with finding the installed
+ ; fiona when running tests.
+ (delete-file-recursively "fiona")))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (setenv "GDAL_ENABLE_DEPRECATED_DRIVER_GTM" "YES")
+ (when tests?
+ (invoke "pytest"
+ "-m" "not network and not wheel"
+ ;; FIXME: Find why the
+ ;; test_no_append_driver_cannot_append[PCIDSK]
+ ;; test is failing.
+ "-k" "not test_no_append_driver_cannot_append")))))))
+ (inputs
+ (list gdal))
+ (propagated-inputs
+ (list python-attrs
+ python-certifi
+ python-click
+ python-click-plugins
+ python-cligj
+ python-munch
+ python-setuptools
+ python-six
+ python-pytz))
+ (native-inputs
+ (list gdal ; for gdal-config
+ python-boto3
+ python-cython
+ python-pytest
+ python-pytest-cov))
+ (home-page "https://github.com/Toblerity/Fiona")
+ (synopsis
+ "Fiona reads and writes spatial data files")
+ (description
+ "Fiona is GDAL’s neat and nimble vector API for Python programmers.
+Fiona is designed to be simple and dependable. It focuses on reading
+and writing data in standard Python IO style and relies upon familiar
+Python types and protocols such as files, dictionaries, mappings, and
+iterators instead of classes specific to OGR. Fiona can read and write
+real-world data using multi-layered GIS formats and zipped virtual file
+systems and integrates readily with other Python GIS packages such as
+pyproj, Rtree, and Shapely.")
+ (license license:bsd-3)))
+
+(define-public python-geopandas
+ (package
+ (name "python-geopandas")
+ (version "0.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geopandas" version))
+ (sha256
+ (base32
+ "1nvim2i47ap1zdwy6kxydskf1cir5g4ij8124wvmrqij0zklggzg"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"
+ ; Disable test that fails with
+ ; NotImplementedError in pandas.
+ "-k" "not test_fillna_no_op_returns_copy"
+ ; Disable tests that require internet access.
+ "-m" "not web")))))))
+ (propagated-inputs
+ (list python-fiona python-pandas python-pyproj python-shapely))
+ (native-inputs
+ (list python-pytest))
+ (home-page "http://geopandas.org")
+ (synopsis "Geographic pandas extensions")
+ (description "The goal of GeoPandas is to make working with
+geospatial data in Python easier. It combines the capabilities of
+Pandas and Shapely, providing geospatial operations in Pandas and a
+high-level interface to multiple geometries to Shapely. GeoPandas
+enables you to easily do operations in Python that would otherwise
+require a spatial database such as PostGIS.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
@@ -608,21 +745,21 @@ projections.")
"06frcikaj2mgz3abfk5h0z4j3hbksi0zikwjngbjv4p5f3pwxf8q"))))
(build-system scons-build-system)
(inputs
- `(("boost" ,boost)
- ("cairo" ,cairo)
- ("freetype" ,freetype)
- ("harfbuzz" ,harfbuzz)
- ("icu4c" ,icu4c)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libtiff" ,libtiff)
- ("libwebp" ,libwebp)
- ("libxml2" ,libxml2)
- ("proj.4" ,proj.4)
- ("sqlite" ,sqlite)
- ("zlib" ,zlib)))
+ (list boost
+ cairo
+ freetype
+ harfbuzz
+ icu4c
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ libxml2
+ proj.4
+ sqlite
+ zlib))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(arguments
`(#:scons ,scons-python2
#:scons-flags
@@ -663,28 +800,28 @@ development.")
(base32 "0cyv4cycl073p9lnnnglcb72qn71g8h9g5zn4gzw7swcy5nxjj5s"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("curl" ,curl)
- ("freexl" ,freexl)
- ("geos" ,geos)
- ("giflib" ,giflib)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("librasterlite2" ,librasterlite2)
- ("librttopo" ,librttopo)
- ("libspatialite" ,libspatialite)
- ("libwebp" ,libwebp)
- ("libxlsxwriter" ,libxlsxwriter)
- ("libxml2" ,libxml2)
- ("lz4" ,lz4)
- ("minizip" ,minizip)
- ("openjpeg" ,openjpeg)
- ("postgresql" ,postgresql)
- ("proj" ,proj)
- ("sqlite" ,sqlite)
- ("virtualpg" ,virtualpg)
- ("wxwidgets" ,wxwidgets)
- ("zstd" ,zstd "lib")))
+ (list curl
+ freexl
+ geos
+ giflib
+ libjpeg-turbo
+ librasterlite2
+ librttopo
+ libspatialite
+ libwebp
+ libxlsxwriter
+ libxml2
+ lz4
+ minizip
+ openjpeg
+ postgresql
+ proj
+ sqlite
+ virtualpg
+ wxwidgets
+ `(,zstd "lib")))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-gui
@@ -704,7 +841,7 @@ development.")
(define-public gdal
(package
(name "gdal")
- (version "3.1.2")
+ (version "3.3.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -712,7 +849,7 @@ development.")
version ".tar.gz"))
(sha256
(base32
- "1p6nmlsr8wbyq350pa6c22vrp98dcsa7yjnqsbhdbp74yj53nw9r"))
+ "0nk09lws1hk873yn5f4wzqfvr82gm4hw3gq8w9g1h0kvf6j5x4i8"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -756,24 +893,24 @@ development.")
(substitute* "frmts/mrf/mrf_band.cpp"
(("\"../zlib/zlib.h\"") "<zlib.h>")))))))
(inputs
- `(("expat" ,expat)
- ("freexl" ,freexl)
- ("geos" ,geos)
- ("giflib" ,giflib)
- ("json-c" ,json-c)
- ("libgeotiff" ,libgeotiff)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libtiff" ,libtiff)
- ("libwebp" ,libwebp)
- ("netcdf" ,netcdf)
- ("pcre" ,pcre)
- ("postgresql" ,postgresql) ; libpq
- ("proj" ,proj)
- ("sqlite" ,sqlite)
- ("zlib" ,zlib)))
+ (list expat
+ freexl
+ geos
+ giflib
+ json-c
+ libgeotiff
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ netcdf
+ pcre
+ postgresql ; libpq
+ proj
+ sqlite
+ zlib))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(home-page "https://gdal.org/")
(synopsis "Raster and vector geospatial data format library")
(description "GDAL is a translator library for raster and vector geospatial
@@ -816,9 +953,9 @@ utilities for data translation and processing.")
#t)))))
(native-inputs '())
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(inputs
- `(("gdal" ,gdal)))
+ (list gdal))
(synopsis "GDAL (Geospatial Data Abstraction Library) python bindings")))
(define-public python-pyshp
@@ -844,8 +981,7 @@ utilities for data translation and processing.")
;; This is the only test file.
(invoke "python" "-m" "pytest" "test_shapefile.py")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(home-page "https://github.com/GeospatialPython/pyshp")
(synopsis "Read/write support for ESRI Shapefile format")
(description
@@ -877,19 +1013,16 @@ utilities for data translation and processing.")
;; This one too but it's not marked as such.
"-k" "not test_gridliner_labels_bbox_style")))))))
(propagated-inputs
- `(("python-matplotlib" ,python-matplotlib)
- ("python-numpy" ,python-numpy)
- ("python-pykdtree" ,python-pykdtree)
- ("python-pyshp" ,python-pyshp)
- ("python-scipy" ,python-scipy)
- ("python-shapely" ,python-shapely)))
+ (list python-matplotlib
+ python-numpy
+ python-pykdtree
+ python-pyshp
+ python-scipy
+ python-shapely))
(inputs
- `(("geos" ,geos)
- ("proj" ,proj)))
+ (list geos proj))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-flufl-lock" ,python-flufl-lock)
- ("python-pytest" ,python-pytest)))
+ (list python-cython python-flufl-lock python-pytest))
(home-page "https://scitools.org.uk/cartopy/docs/latest/")
(synopsis "Cartographic library for visualisation")
(description
@@ -911,14 +1044,14 @@ Shapely capabilities
(define-public postgis
(package
(name "postgis")
- (version "3.1.2")
+ (version "3.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
version ".tar.gz"))
(sha256
(base32
- "0ch7gry8a1i9114mlhklxryn7ja3flsz6pxj9r5p09k92xh3gp9c"))))
+ "1zbwa15rsvr05rmcidk21q3amndd0q4df4psp3zhqz4lqraf3fbs"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@@ -935,19 +1068,18 @@ Shapely capabilities
(("\\$\\(DESTDIR\\)\\$\\(PGSQL_BINDIR\\)")
(string-append (assoc-ref outputs "out") "/bin"))))))))
(inputs
- `(("gdal" ,gdal)
- ("geos" ,geos)
- ("giflib" ,giflib)
- ("json-c" ,json-c)
- ("libjpeg" ,libjpeg-turbo)
- ("libxml2" ,libxml2)
- ("pcre" ,pcre)
- ("postgresql" ,postgresql)
- ("protobuf-c" ,protobuf-c)
- ("proj" ,proj)))
+ (list gdal
+ geos
+ giflib
+ json-c
+ libjpeg-turbo
+ libxml2
+ pcre
+ postgresql
+ protobuf-c
+ proj))
(native-inputs
- `(("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list perl pkg-config))
(home-page "https://postgis.net")
(synopsis "Spatial database extender for PostgreSQL")
(description "PostGIS is a spatial database extender for PostgreSQL
@@ -1008,7 +1140,7 @@ delivered to any client.")
(define-public imposm3
(package
(name "imposm3")
- (version "0.6.0-alpha.4")
+ (version "0.11.1")
(source
(origin
(method url-fetch)
@@ -1017,7 +1149,7 @@ delivered to any client.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "06f0kwmv52yd5m9jlckqxqmkf0cnqy3hamakrvg9lspplyqrds80"))))
+ "1w7b221z5k9254zn01imycxkyw62xigqizhwvrgxqmq1m9r5410l"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/omniscale/imposm3/cmd/imposm"
@@ -1030,8 +1162,7 @@ delivered to any client.")
(("0.0.0-dev") ,version))
#t)))))
(inputs
- `(("geos" ,geos)
- ("leveldb" ,leveldb)))
+ (list geos leveldb))
(home-page "https://imposm.org/")
(synopsis "OpenStreetMap importer for PostGIS")
(description "Imposm is an importer for OpenStreetMap data. It reads PBF
@@ -1047,7 +1178,7 @@ to create databases that are optimized for rendering/tile/map-services.")
(define-public libosmium
(package
(name "libosmium")
- (version "2.15.6")
+ (version "2.17.2")
(source
(origin
(method git-fetch)
@@ -1056,21 +1187,22 @@ to create databases that are optimized for rendering/tile/map-services.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0rqy18bbakp41f44y5id9ixh0ar2dby46z17p4115z8k1vv9znq2"))))
+ (base32 "0xgwicnzlyr8pcpgx528xrzh7g6rjfd7f80bi30478fnp8mq8rzr"))))
(build-system cmake-build-system)
(propagated-inputs
- `(("boost" ,boost)
- ("bzip2" ,bzip2)
- ("expat" ,expat)
- ("gdal" ,gdal)
- ("geos" ,geos)
- ("proj" ,proj)
- ("protozero" ,protozero)
- ("sparsehash" ,sparsehash)
- ("utfcpp" ,utfcpp)
- ("zlib" ,zlib)))
+ (list boost
+ bzip2
+ expat
+ gdal
+ geos
+ lz4
+ proj
+ protozero
+ sparsehash
+ utfcpp
+ zlib))
(native-inputs
- `(("doxygen" ,doxygen)))
+ (list doxygen))
(home-page "https://osmcode.org/libosmium/")
(synopsis "C++ library for working with OpenStreetMap data")
(description "Libosmium is a fast and flexible C++ library for working with
@@ -1080,7 +1212,7 @@ OpenStreetMap data.")
(define-public osm2pgsql
(package
(name "osm2pgsql")
- (version "1.2.2")
+ (version "1.5.1")
(source
(origin
(method git-fetch)
@@ -1089,7 +1221,7 @@ OpenStreetMap data.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1j35aa8qinhavliqi5pdm0viyi7lm5xyk402rliaxxs1r2hbsafn"))
+ (base32 "0i18mskcs087dn3f3h9n7j0wafn8502m0h13mrjwin38xsz0crfj"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1107,18 +1239,17 @@ OpenStreetMap data.")
(assoc-ref %build-inputs "protozero")
"/include"))))
(inputs
- `(("boost" ,boost)
- ("bzip2" ,bzip2)
- ("expat" ,expat)
- ("libosmium" ,libosmium)
- ("lua" ,lua)
- ("postgresql" ,postgresql)
- ("proj" ,proj)
- ("protozero" ,protozero)
- ("zlib" ,zlib)))
+ (list boost
+ bzip2
+ expat
+ libosmium
+ lua
+ postgresql
+ proj
+ protozero
+ zlib))
(native-inputs
- `(("python" ,python)
- ("python-psycopg2" ,python-psycopg2)))
+ (list python python-psycopg2))
(home-page "https://github.com/openstreetmap/osm2pgsql")
(synopsis "OSM data importer to postgresql")
(description "Osm2pgsql is a tool for loading OpenStreetMap data into a
@@ -1148,9 +1279,7 @@ map, geocoding with Nominatim, or general analysis.")
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
(inputs
- `(("perl" ,perl)
- ("sqlite" ,sqlite)
- ("zlib" ,zlib)))
+ (list perl sqlite zlib))
(home-page "https://github.com/mapbox/tippecanoe")
(synopsis "Vector tile server for maps")
(description "Tippecanoe creates scale-independent view of data, so that
@@ -1174,10 +1303,9 @@ dropping features at lower levels.")
"1m8d3r1q1v05pkr8k9czrmb4xjszw6hvgsf3kn9pf0v14gpn4r8f"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)))
+ (list autoconf automake))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(home-page "https://gitlab.com/osm-c-tools/osmctools")
(synopsis "Tools to convert, filter and update OpenStreetMap data files")
(description "This project contains a few tools which are used in the
@@ -1200,15 +1328,9 @@ OpenStreetMap data files.")
"11imsf4cz1dpxdjh178k2s29axmq86rkfg1pqmn7incyxmjzhbwg"))))
(build-system gnu-build-system)
(native-inputs
- `(("gnome-common" ,gnome-common)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
+ (list gnome-common gtk-doc/stable pkg-config))
(inputs
- `(("cairo" ,cairo)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+" ,gtk+)
- ("libsoup" ,libsoup)))
+ (list cairo glib gobject-introspection gtk+ libsoup-minimal-2))
(home-page "https://nzjrs.github.io/osm-gps-map/")
(synopsis "GTK+ widget for displaying OpenStreetMap tiles")
(description
@@ -1228,6 +1350,7 @@ map display. Downloads map data from a number of websites, including
(url "https://github.com/opengribs/XyGrib")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
+ (patches (search-patches "xygrib-fix-finding-data.patch"))
(sha256
(base32
"0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia"))
@@ -1242,18 +1365,15 @@ map display. Downloads map data from a number of websites, including
#t))))
(build-system cmake-build-system)
(arguments
- `(#:phases
+ `(#:configure-flags (list "-DGNU_PACKAGE=ON")
+
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-directories
(lambda* (#:key inputs #:allow-other-keys)
(let ((jpeg (assoc-ref inputs "openjpeg"))
(font (assoc-ref inputs "font-liberation")))
(substitute* "CMakeLists.txt"
- ;; Find libjpeg.
- (("/usr") jpeg)
- ;; Fix install locations.
- (("set\\(PREFIX_BIN.*") "set(PREFIX_BIN \"bin\")\n")
- (("set\\(PREFIX_PKGDATA.*") "set(PREFIX_PKGDATA \"share/${PROJECT_NAME}\")\n")
;; Skip looking for the static library.
(("\"libnova.a\"") ""))
;; Don't use the bundled font-liberation.
@@ -1262,20 +1382,23 @@ map display. Downloads map data from a number of websites, including
(string-append "\"" font "/share/fonts/truetype/\"")))
(substitute* "src/util/Util.h"
(("pathData\\(\\)\\+\"data/fonts/\"")
- (string-append "\"" font "/share/fonts/\""))))
- #t)))
+ (string-append "\"" font "/share/fonts/\"")))))))
#:tests? #f)) ; no tests
(native-inputs
- `(("qttools" ,qttools)))
+ (list qttools))
(inputs
- `(("bzip2" ,bzip2)
- ("font-liberation" ,font-liberation)
- ("libnova" ,libnova)
- ("libpng" ,libpng)
- ("openjpeg" ,openjpeg)
- ("proj.4" ,proj.4)
- ("qtbase" ,qtbase-5)
- ("zlib" ,zlib)))
+ (list bzip2
+ font-liberation
+ libnova
+ libpng
+ openjpeg
+ proj
+ qtbase-5
+ zlib))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "XDG_DATA_DIRS")
+ (files '("share")))))
(synopsis "Weather Forecast Visualization")
(description
"XyGrib is a Grib file reader and visualizes meteorological data providing
@@ -1323,6 +1446,40 @@ persisted.
")
(license license:expat)))
+(define-public python-rtree
+ (package
+ (name "python-rtree")
+ (version "0.9.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Rtree" version))
+ (sha256
+ (base32 "0gna530vy6rh76035cqh7i2lx199cvxjrzjczg9rm6k96k5751xy"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'find-libspatialindex
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "SPATIALINDEX_C_LIBRARY"
+ (string-append (assoc-ref inputs "libspatialindex")
+ "/lib/libspatialindex.so"))))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "pytest")))))))
+ (native-inputs
+ (list python-numpy python-pytest python-wheel))
+ (inputs
+ (list libspatialindex))
+ (home-page "https://github.com/Toblerity/rtree")
+ (synopsis "R-Tree spatial index for Python GIS")
+ (description
+ "RTree is a Python package with bindings for @code{libspatialindex}.")
+ (license license:expat)))
+
(define-public java-jmapviewer
(package
(name "java-jmapviewer")
@@ -1337,7 +1494,7 @@ persisted.
"0sy6r5fkbb9bclw0is6gwnbzz627m7pjfnsqydxz58pbndakkhrv"))))
(build-system ant-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(arguments
`(#:build-target "pack"
#:tests? #f; No tests
@@ -1393,11 +1550,9 @@ an independent project by the JOSM team.")
file))
#t)))))
(inputs
- `(("java-jetbrains-annotations" ,java-jetbrains-annotations)))
+ (list java-jetbrains-annotations))
(native-inputs
- `(("javacc" ,javacc)
- ("java-junit" ,java-junit)
- ("java-hamcrest-core" ,java-hamcrest-core)))
+ (list javacc java-junit java-hamcrest-core))
(home-page "https://github.com/simonpoole/OpeningHoursParser")
(synopsis "Java parser for the OpenStreetMap opening hour format")
(description "This is a very simplistic parser for string values according
@@ -1407,7 +1562,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
- (version "18193")
+ (version "18360")
(source (origin
(method svn-fetch)
(uri (svn-reference
@@ -1416,7 +1571,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
- "162hdck29bkag1d97nisx8v7395pdw00bl7nf0p02hr30fc1fcrh"))
+ "0j7fhzh6hs2b5r1a3d1xpy6f5r6q1kh79bck28raang8ldd754c6"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
@@ -1425,19 +1580,19 @@ to the OSM opening hours specification.")
#t))))
(build-system ant-build-system)
(native-inputs
- `(("javacc" ,javacc)))
+ (list javacc))
(inputs
- `(("java-commons-jcs" ,java-commons-jcs)
- ("java-commons-compress" ,java-commons-compress)
- ("java-jmapviewer" ,java-jmapviewer)
- ("java-jsonp-api" ,java-jsonp-api)
- ("java-jsonp-impl" ,java-jsonp-impl); runtime dependency
- ("java-jsr305" ,java-jsr305)
- ("java-metadata-extractor" ,java-metadata-extractor)
- ("java-opening-hours-parser" ,java-opening-hours-parser)
- ("java-openjfx-media" ,java-openjfx-media)
- ("java-signpost-core" ,java-signpost-core)
- ("java-svg-salamander" ,java-svg-salamander)))
+ (list java-commons-jcs
+ java-commons-compress
+ java-jmapviewer
+ java-jsonp-api
+ java-jsonp-impl ; runtime dependency
+ java-jsr305
+ java-metadata-extractor
+ java-opening-hours-parser
+ java-openjfx-media
+ java-signpost-core
+ java-svg-salamander))
(arguments
`(#:tests? #f
#:jar-name "josm.jar"
@@ -1576,7 +1731,7 @@ ways, and relations) and their metadata tags.")
`(#:make-flags
(list ,(string-append "CC=" (cc-for-target)))))
(native-inputs
- `(("perl" ,perl)))
+ (list perl))
(home-page "https://maxmind.github.io/libmaxminddb/")
(synopsis "C library for the MaxMind DB file format")
(description "The libmaxminddb library provides a C library for reading
@@ -1601,7 +1756,7 @@ associated with an address.")
(arguments
`(#:tests? #f)) ;; Tests require a copy of the maxmind database
(inputs
- `(("libmaxminddb" ,libmaxminddb)))
+ (list libmaxminddb))
(home-page "https://www.maxmind.com/")
(synopsis "Reader for the MaxMind DB format")
(description "MaxMind DB is a binary file format that stores data indexed
@@ -1624,8 +1779,7 @@ MaxMind DB files.")
(arguments
`(#:tests? #f)) ;; Tests require a copy of the maxmind database
(inputs
- `(("python-maxminddb" ,python-maxminddb)
- ("python-requests" ,python-requests)))
+ (list python-maxminddb python-requests))
(home-page "https://www.maxmind.com/")
(synopsis "MaxMind GeoIP2 API")
(description "Provides an API for the GeoIP2 web services and databases.
@@ -1645,11 +1799,9 @@ The API also works with MaxMind’s free GeoLite2 databases.")
(base32 "1xa7l2bjn832nk6bc7b481nv8hd2gj41jwhg0d2qy10lqdvjpn5b"))))
(build-system gnu-build-system)
(native-inputs
- `(("perl" ,perl)))
+ (list perl))
(inputs
- `(("bzip2" ,bzip2)
- ("xz" ,xz)
- ("zlib" ,zlib)))
+ (list bzip2 xz zlib))
(arguments
`(#:test-target "test"
#:phases
@@ -1677,7 +1829,7 @@ using the dataset of topographical information collected by
(define-public qmapshack
(package
(name "qmapshack")
- (version "1.15.2")
+ (version "1.16.1")
(source
(origin
(method git-fetch)
@@ -1686,24 +1838,23 @@ using the dataset of topographical information collected by
(commit (string-append "V_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1l1j2axf94pdqwirwwhwy3y6k8v1aix78ifqbv6j8sv131h2j7y7"))))
+ (base32 "184fqmsfzr3b333ssizjk6gvv7mncmygq8dj5r7rsvs5md26z2ys"))))
(build-system qt-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("qttools" ,qttools)))
+ (list pkg-config qttools))
(inputs
- `(("gdal" ,gdal)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("proj" ,proj)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtlocation" ,qtlocation)
- ("qtwebchannel" ,qtwebchannel)
- ("qtwebengine" ,qtwebengine)
- ("quazip" ,quazip)
- ("routino" ,routino)
- ("sqlite" ,sqlite) ; See wrap phase
- ("zlib" ,zlib)))
+ (list gdal
+ libjpeg-turbo
+ proj
+ qtbase-5
+ qtdeclarative
+ qtlocation
+ qtwebchannel
+ qtwebengine
+ quazip
+ routino
+ sqlite ; See wrap phase
+ zlib))
(arguments
`(#:tests? #f
#:phases
@@ -1715,27 +1866,7 @@ using the dataset of topographical information collected by
(string-append all "\nfind_package(Qt5Positioning REQUIRED)")))
(substitute* "cmake/Modules/FindROUTINO.cmake"
(("/usr/local")
- (assoc-ref inputs "routino")))
- ;; The following fixes are included as patches in the sources
- ;; of QMapShack, but they are not applied by default, for
- ;; some reason...
- (invoke "patch" "-p1" "-i" "FindPROJ4.patch")
- (invoke "patch" "-p1" "-i" "FindQuaZip5.patch")
- #t))
- (add-after 'install 'wrap
- ;; The program fails to find the QtWebEngineProcess program,
- ;; so we set QTWEBENGINEPROCESS_PATH to help it.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
- (qtwebengineprocess (string-append
- (assoc-ref inputs "qtwebengine")
- "/lib/qt5/libexec/QtWebEngineProcess")))
- (for-each (lambda (program)
- (wrap-program program
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess))))
- (find-files bin ".*")))
- #t)))))
+ (assoc-ref inputs "routino"))))))))
(synopsis "GPS mapping application")
(description
"QMapShack can be used to plan your next outdoor trip or to visualize and
@@ -1757,8 +1888,7 @@ QLandkarte GT application.")
(base32 "0igif2bxf4dr82glxz9gyx5mmni0r2dsnx9p9k6pxv3c4lfhaz6v"))))
(build-system gnu-build-system)
(inputs
- `(("expat" ,expat)
- ("zlib" ,zlib)))
+ (list expat zlib))
(synopsis "Data extractor for OpenStreetMap files")
(description
"ReadOSM is a library to extract valid data from within an OpenStreetMap
@@ -1783,9 +1913,7 @@ input file (in @code{.osm} or @code{.osm.pbf} format).")
(base32 "1lzch0jf6yqhw391phhafzw4ghmiz98zkf698h4fmq109fa2vhqd"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list autoconf automake libtool))
(home-page "http://shapelib.maptools.org/")
(synopsis "Provides C library to write and update ESRI Shapefiles")
(description
@@ -1807,18 +1935,18 @@ associated attribute file (@file{.dbf}).")
(base32 "070p6pg541wvwb28wkn7k0z1qdyirik2qc2jpj4pf0vzx02w414n"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("expat" ,expat)
- ("freexl" ,freexl)
- ("geos" ,geos)
- ("librttopo" ,librttopo)
- ("libspatialite" ,libspatialite)
- ("libxml2" ,libxml2)
- ("minizip" ,minizip)
- ("proj" ,proj)
- ("readosm" ,readosm)
- ("sqlite" ,sqlite)))
+ (list expat
+ freexl
+ geos
+ librttopo
+ libspatialite
+ libxml2
+ minizip
+ proj
+ readosm
+ sqlite))
(synopsis "Collection of command line tools for SpatiaLite")
(description
"@code{spatialite-tools} is a collection of Command Line Interface (CLI)
@@ -1839,8 +1967,7 @@ tools supporting SpatiaLite.")
(base32 "12z0l7368r4116ljzg7nljy5hf425r11vxc540w79wlzikmynamy"))))
(build-system gnu-build-system)
(inputs
- `(("postgresql" ,postgresql)
- ("sqlite" ,sqlite)))
+ (list postgresql sqlite))
(synopsis "Allow SQLite/SpatiaLite to access PostgreSQL/PostGIS tables")
(description
"VirtualPG is a dynamic extension for the SQLite DBMS. It implements
@@ -1855,7 +1982,7 @@ exchanged form one Spatial DBMS and the other.")
(define-public opencpn
(package
(name "opencpn")
- (version "5.0.0")
+ (version "5.2.4")
(source
(origin
(method git-fetch)
@@ -1864,45 +1991,49 @@ exchanged form one Spatial DBMS and the other.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja"))))
+ (base32 "0ffx0lmz1mp5433zqyxigy4qqav32xprpagd66krvihkyvqp2y6y"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
- `(("bzip2" ,bzip2)
- ("cairo" ,cairo)
- ("curl" ,curl)
- ("glu" ,glu)
- ("gtk+" ,gtk+)
- ("libarchive" ,libarchive)
- ("libelf" ,libelf)
- ("libexif" ,libexif)
- ("libsndfile" ,libsndfile)
- ("lz4" ,lz4)
- ("mesa" ,mesa)
- ("pango" ,pango)
- ("portaudio" ,portaudio)
- ("sqlite" ,sqlite)
- ("tinyxml" ,tinyxml)
- ("wxsvg" ,wxsvg)
- ("wxwidgets" ,wxwidgets)
- ("xz" ,xz)
- ("zlib" ,zlib)))
+ (list bzip2
+ cairo
+ curl
+ glu
+ gtk+
+ libarchive
+ libelf
+ libexif
+ libsndfile
+ lz4
+ mesa
+ pango
+ portaudio
+ sqlite
+ tinyxml
+ wxsvg
+ wxwidgets
+ xz
+ zlib))
(arguments
- `(#:configure-flags '("-DENABLE_PORTAUDIO=ON"
- "-DENABLE_SNDFILE=ON"
- "-DBUNDLE_TCDATA=ON"
- "-DBUNDLE_GSHHS=CRUDE")
+ `(#:configure-flags '("-DOCPN_USE_BUNDLED_LIBS=OFF"
+ "-DOCPN_ENABLE_PORTAUDIO=ON"
+ "-DOCPN_ENABLE_SNDFILE=ON"
+ "-DOCPN_BUNDLE_TCDATA=ON"
+ "-DOCPN_BUNDLE_GSHHS=ON")
#:tests? #f ; No tests defined
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
- (("set\\(wxWidgets_CONFIG_OPTIONS.*--toolkit=gtk3" all)
- (string-append all " --libs all")))
- #t)))))
+ (("wx-32.c; cc")
+ "wx-32.c; gcc")
+ (("\"/bin/sh\" \"-c\"")
+ (string-append "\"" (which "bash") "\" \"-c\""))
+ (("include\\(TargetSetup\\)")
+ "set(PKG_TARGET \"guix\")\nset(PKG_TARGET_VERSION 1)")))))))
(synopsis "Chart plotter and marine GPS navigation software")
(description
"OpenCPN is a chart plotter and marine navigation software designed to be
@@ -1920,8 +2051,48 @@ track your position right from your laptop.")
license:sgifreeb2.0
license:zlib))))
+(define-public openorienteering-mapper
+ (package
+ (name "openorienteering-mapper")
+ (version "0.9.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenOrienteering/mapper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11b578h8f3q9yvphbjhqmy2w1cfc9skslzawypqmc3k44v24aj0s"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f
+ #:configure-flags
+ (list
+ "-DLICENSING_PROVIDER:BOOL=OFF"
+ "-DMapper_MANUAL_QTHELP:BOOL=OFF")))
+ (inputs
+ `(("clipper" ,clipper)
+ ("cups" ,cups)
+ ("gdal" ,gdal)
+ ("proj" ,proj)
+ ("qtbase" ,qtbase-5)
+ ("qtimageformats" ,qtimageformats)
+ ("qtlocation" ,qtlocation)
+ ("qtsensors" ,qtsensors)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("qttools" ,qttools)))
+ (home-page "https://www.openorienteering.org/apps/mapper/")
+ (synopsis "OpenOrienteering Mapper (OOM)")
+ (description
+ "OpenOrienteering Mapper is a software for creating maps for the
+orienteering sport.")
+ (license license:gpl3+)))
+
(define-public grass
- (let* ((version "7.8.5")
+ (let* ((version "7.8.6")
(majorminor (string-join (list-head (string-split version #\.) 2) ""))
(grassxx (string-append "grass" majorminor)))
(package
@@ -1933,7 +2104,7 @@ track your position right from your laptop.")
(uri (string-append "https://grass.osgeo.org/" grassxx
"/source/grass-" version ".tar.gz"))
(sha256
- (base32 "0dzzhgcsrszzinvjir50nvzq873b8gsp0p9k8fvcrv14amkbnnd3"))))
+ (base32 "1glk74ly3j0x8ymn4jp73s6y8qv7p3g5nv4gvb6l9qqplyq1fpnq"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
@@ -1953,7 +2124,7 @@ track your position right from your laptop.")
("openblas" ,openblas)
("perl" ,perl)
("postgresql" ,postgresql)
- ("proj.4" ,proj.4)
+ ("proj" ,proj)
("python" ,python)
("python-dateutil" ,python-dateutil)
("python-numpy" ,python-numpy)
@@ -1979,8 +2150,7 @@ track your position right from your laptop.")
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((shell (string-append (assoc-ref inputs "bash")
- "/bin/bash")))
+ (let ((shell (search-input-file inputs "/bin/bash")))
(setenv "SHELL" shell)
(setenv "CONFIG_SHELL" shell)
(setenv "LDFLAGS" (string-append "-Wl,-rpath -Wl,"
@@ -2009,7 +2179,7 @@ track your position right from your laptop.")
"--with-netcdf"
"--with-postgres"
(string-append "--with-proj-share="
- (assoc-ref inputs "proj.4")
+ (assoc-ref inputs "proj")
"/share/proj")
"--with-pthread"
"--with-readline"
@@ -2056,24 +2226,23 @@ visualization.")
(base32 "1n051yxxkylly0k9rlkx2ih3j2lf9d4csg00sm7161r7nhjvggd1"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("swig" ,swig)))
+ (list pkg-config swig))
(inputs
- `(("curl" ,curl)
- ("fftw" ,fftw)
- ("gdal" ,gdal)
- ("hdf5" ,hdf5)
- ("jasper" ,jasper)
- ("libharu" ,libharu)
- ("libtiff" ,libtiff)
- ("opencv" ,opencv)
- ("postgresql" ,postgresql)
- ("proj" ,proj)
- ("python" ,python)
- ("qhull" ,qhull)
- ("unixodbc" ,unixodbc)
- ("vigra" ,vigra)
- ("wxwidgets" ,wxwidgets)))
+ (list curl
+ fftw
+ gdal
+ hdf5
+ jasper
+ libharu
+ libtiff
+ opencv
+ postgresql
+ proj
+ python
+ qhull
+ unixodbc
+ vigra
+ wxwidgets))
(arguments
'(#:configure-flags '("--enable-python")))
(synopsis "System for Automated Geoscientific Analyses")
@@ -2105,6 +2274,8 @@ growing set of geoscientific methods.")
#:imported-modules (,@%cmake-build-system-modules
(guix build python-build-system)
(guix build qt-utils))
+ #:configure-flags
+ '("-DWITH_QTWEBKIT=NO")
#:phases
(modify-phases %standard-phases
;; Configure correct path to PyQt5 SIP directory
@@ -2151,10 +2322,10 @@ growing set of geoscientific methods.")
(("^REV=.*") "REV=currentrev\n"))
#t))
(replace 'check
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
(setenv "HOME" "/tmp")
- (system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
+ (system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
(setenv "TRAVIS" "true")
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
@@ -2176,6 +2347,7 @@ growing set of geoscientific methods.")
"PyCoreAdittions"
"PyQgsAnnotation"
"PyQgsAppStartup"
+ "PyQgsAuthBasicMethod"
"PyQgsAuthenticationSystem"
"PyQgsAuxiliaryStorage"
"PyQgsDBManagerGpkg"
@@ -2231,11 +2403,14 @@ growing set of geoscientific methods.")
"qgis_imagecachetest"
"qgis_labelingenginetest"
"qgis_layouthtmltest"
+ "qgis_layoutlabeltest"
"qgis_layoutmanualtabletest"
"qgis_layoutmapgridtest"
"qgis_layoutmaptest"
+ "qgis_layoutmultiframetest"
"qgis_layoutpicturetest"
"qgis_layouttabletest"
+ "qgis_layouttest"
"qgis_mapdevicepixelratiotest"
"qgis_maprendererjobtest"
"qgis_ogrproviderguitest"
@@ -2252,7 +2427,7 @@ growing set of geoscientific methods.")
"qgis_taskmanagertest"
"qgis_wcsprovidertest"
"qgis_ziplayertest")
- "|"))))
+ "|")))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-qt
@@ -2280,62 +2455,61 @@ growing set of geoscientific methods.")
`("GISBASE" = (,grass))))
#t)))))
(inputs
- `(("exiv2" ,exiv2)
- ("expat" ,expat)
- ("gdal" ,gdal)
- ("geos" ,geos)
- ("gpsbabel" ,gpsbabel)
- ("grass" ,grass)
- ("gsl" ,gsl)
- ("hdf5" ,hdf5)
- ("libspatialindex" ,libspatialindex)
- ("libspatialite" ,libspatialite)
- ("libxml2" ,libxml2)
- ("libzip" ,libzip)
- ("netcdf" ,netcdf)
- ("postgresql" ,postgresql)
- ("proj" ,proj)
- ("protobuf" ,protobuf)
- ("python" ,python)
- ("python-chardet" ,python-chardet)
- ("python-dateutil" ,python-dateutil)
- ("python-future" ,python-future)
- ("python-gdal" ,python-gdal)
- ("python-jinja2" ,python-jinja2)
- ("python-numpy" ,python-numpy)
- ("python-owslib" ,python-owslib)
- ("python-psycopg2" ,python-psycopg2)
- ("python-pygments" ,python-pygments)
- ("python-pyqt+qscintilla" ,python-pyqt+qscintilla)
- ("python-pytz" ,python-pytz)
- ("python-pyyaml" ,python-pyyaml)
- ("python-requests" ,python-requests)
- ("python-sip" ,python-sip)
- ("python-six" ,python-six)
- ("python-urllib3" ,python-urllib3)
- ("qca" ,qca)
- ("qscintilla" ,qscintilla)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtkeychain" ,qtkeychain)
- ("qtlocation" ,qtlocation)
- ("qtserialport" ,qtserialport)
- ("qtsvg" ,qtsvg)
- ("qtwebkit" ,qtwebkit)
- ("qwt" ,qwt)
- ;;("saga" ,saga)
- ("sqlite" ,sqlite)))
+ (list exiv2
+ expat
+ gdal
+ geos
+ gpsbabel
+ grass
+ gsl
+ hdf5
+ libspatialindex
+ libspatialite
+ libxml2
+ libzip
+ netcdf
+ postgresql
+ proj
+ protobuf
+ python
+ python-chardet
+ python-dateutil
+ python-future
+ python-gdal
+ python-jinja2
+ python-numpy
+ python-owslib
+ python-psycopg2
+ python-pygments
+ python-pyqt+qscintilla
+ python-pytz
+ python-pyyaml
+ python-requests
+ python-sip
+ python-six
+ python-urllib3
+ qca
+ qscintilla
+ qtbase-5
+ qtdeclarative
+ qtkeychain
+ qtlocation
+ qtserialport
+ qtsvg
+ qwt
+ ;;("saga" ,saga)
+ sqlite))
(native-inputs
- `(("bison" ,bison)
- ("flex" ,flex)
- ("perl" ,perl)
- ("perl-yaml-tiny" ,perl-yaml-tiny)
- ("pkg-config" ,pkg-config)
- ("python-mock" ,python-mock)
- ("python-nose2" ,python-nose2)
- ("qttools" ,qttools)
- ("shellcheck" ,shellcheck)
- ("xorg-server" ,xorg-server-for-tests)))
+ (list bison
+ flex
+ perl
+ perl-yaml-tiny
+ pkg-config
+ python-mock
+ python-nose2
+ qttools
+ shellcheck
+ xorg-server-for-tests))
(home-page "https://qgis.org")
(synopsis "Geographical information system")
(description "QGIS is an easy to use Geographical Information
@@ -2412,16 +2586,16 @@ architecture.")
"0fx0cv0kgbvynpmjgsvq2fpsyngd5idiscdn8pd5201f1ngii3mq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-geographiclib" ,python-geographiclib)))
+ (list python-geographiclib))
(native-inputs
- `(("python-async-generator" ,python-async-generator)
- ("python-coverage" ,python-coverage)
- ("python-flake8" ,python-flake8)
- ("python-isort" ,python-isort)
- ("python-pytest" ,python-pytest)
- ("python-pytest-aiohttp" ,python-pytest-aiohttp)
- ("python-readme-renderer" ,python-readme-renderer)
- ("python-pytz" ,python-pytz)))
+ (list python-async-generator
+ python-coverage
+ python-flake8
+ python-isort
+ python-pytest
+ python-pytest-aiohttp
+ python-readme-renderer
+ python-pytz))
(home-page "https://github.com/geopy/geopy")
(synopsis "Geocoding library for Python")
(description "@code{geopy} is a Python client for several popular geocoding
@@ -2430,42 +2604,41 @@ coordinates of addresses, cities, countries, and landmarks across the globe
using third-party geocoders and other data sources.")
(license license:expat)))
-(define-public marble-qt
- (let ((release "17.08")
- (commit "fc7166eeef784732033c999ba605364f9c82d21c")
- (revision "1"))
- (package
- (name "marble-qt")
- (version (git-version release revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://invent.kde.org/education/marble.git/")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0m0sf3sddaib7vc5lhbmh7ziw07p1hahg02f65sgfylyl5f5kj92"))
- (patches (search-patches
- "marble-qt-add-qt-headers.patch"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; libmarblewidget-qt5.so.28 not found
- #:configure-flags
- '("-DCMAKE_BUILD_TYPE=Release"
- "-DWITH_KF5=FALSE")))
- (native-inputs
- `(("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtsvg" ,qtsvg)
- ("qtdeclarative" ,qtdeclarative)
- ("qtwebkit" ,qtwebkit)
- ("qtlocation" ,qtlocation)))
- (home-page "https://marble.kde.org/")
- (synopsis "Virtual globe and world atlas")
- (description "Marble is similar to a desktop globe. At closer scale it
-becomes a world atlas, while OpenStreetMap takes the user to street level. It
-supports searching for places of interest, viewing Wikipedia articles,
-creating routes by drag and drop and more.")
- (license license:gpl3))))
+(define-public gplates
+ (package
+ (name "gplates")
+ (version "2.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri "https://www.earthbyte.org/download/8421/")
+ (file-name (string-append name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags (list "-DBoost_NO_BOOST_CMAKE=ON")
+ #:tests? #f)) ;no test target
+ (inputs
+ `(("boost" ,boost)
+ ("cgal" ,cgal)
+ ("gdal" ,gdal)
+ ("glew" ,glew)
+ ("glu" ,glu)
+ ("gmp" ,gmp)
+ ("mesa" ,mesa)
+ ("mpfr" ,mpfr)
+ ("proj" ,proj)
+ ("python-3" ,python-3)
+ ("python-numpy" ,python-numpy)
+ ("qt" ,qtbase-5)
+ ("qtsvg" ,qtsvg)
+ ("qtxmlpatterns" ,qtxmlpatterns)
+ ("qwt" ,qwt)
+ ("zlib" ,zlib)))
+ (home-page "https://www.gplates.org")
+ (synopsis "Plate tectonics simulation program")
+ (description "GPlates is a plate tectonics program. Manipulate
+reconstructions of geological and paleogeographic features through geological
+time. Interactively visualize vector, raster and volume data.")
+ (license license:gpl2+)))