;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2019, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
-;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2020, 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
+;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system r)
+ #:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#: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)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-apps)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages java)
#:use-module (gnu packages kde)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
+(define-public cdo
+ (package
+ (name "cdo")
+ (version "2.0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://code.mpimet.mpg.de/attachments/download/26823/cdo-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1khdbd5cmnn7qm6hcqg4md5wbq14fs6brrns8b3g18diqgqvpvpd"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list (string-append "--with-netcdf="
+ #$(this-package-input "netcdf")))))
+ (inputs
+ (list netcdf))
+ (native-inputs
+ (list pkg-config))
+ (home-page "https://code.mpimet.mpg.de/projects/cdo")
+ (synopsis "Climate data operators")
+ (description "@acronym{CDO, Climate Data Operators} is a collection of command-line
+operators to manipulate and analyse climate and NWP model data. Supported
+data formats are GRIB 1/2, netCDF 3/4, SERVICE, EXTRA and IEG. There are more
+than 600 operators available.")
+ (license license:bsd-3)))
+
(define-public memphis
(package
(name "memphis")
("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.")
(define-public geos
(package
(name "geos")
- (version "3.8.1")
+ (version "3.11.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-"
".tar.bz2"))
(sha256
(base32
- "1xqpmr10xi0n9sj47fbwc89qb0yr9imh4ybk0jsxpffy111syn22"))))
- (build-system gnu-build-system)
+ "12l59pxawyizmc4wn20dvjn7aifqwkim4ysmc78h91mayjmqravr"))))
+ (build-system cmake-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
(add-after
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/geostest/testrunner.sh")
- (("/bin/sh") (which "sh")))
- #t)))))
+ (("/bin/sh") (which "sh"))))))))
(inputs
- `(("glib" ,glib)))
- (home-page "https://geos.osgeo.org/")
+ (list glib))
+ (home-page "https://libgeos.org/")
(synopsis "Geometry Engine for Geographic Information Systems")
(description
"GEOS provides a spatial object model and fundamental geometric
(define-public gnome-maps
(package
(name "gnome-maps")
- (version "40.5")
+ (version "43.rc") ;for libsoup 3 support
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "02bdkmb3wyzfrbq726634v4g1hyh9za70cc2ivlbp7zc2n1jgp5c"))))
+ "16a3j896fwxgnvrmx27jnrvhxzh3v22paaq87ad57yp8wkq946il"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("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")))))
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (geocode-glib-path (string-append
- (assoc-ref inputs "geocode-glib")
- "/lib"))
- (goa-path (string-append
- (assoc-ref inputs "gnome-online-accounts:lib")
- "/lib"))
- (gdk-pixbuf-path (string-append
- (assoc-ref inputs "gdk-pixbuf")
- "/lib"))
- (webkitgtk-path (string-append
- (assoc-ref inputs "webkitgtk")
- "/lib")))
- (wrap-program (string-append out "/bin/gnome-maps")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
-
- ;; There seems to be no way to embed the path of
- ;; libgoa-1.0.so.0, libwebkit2gtk-4.0.so.37,
- ;; libgdk_pixbuf-2.0.so, libjavascriptcoregtk-4.0.so.18, and
- ;; libgeocode-glib.so.0
- `("LD_LIBRARY_PATH" ":" prefix (,goa-path
- ,webkitgtk-path
- ,gdk-pixbuf-path
- ,geocode-glib-path)))
- #t))))))
+ (list
+ #:glib-or-gtk? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ ;; Don't create 'icon-theme.cache'.
+ (lambda _
+ (substitute* "meson_post_install.py"
+ (("gtk-update-icon-cache") "true"))))
+ (add-after 'unpack 'patch-dbus-service
+ (lambda _
+ (substitute* "data/org.gnome.Maps.service.in"
+ (("@pkgdatadir@/org.gnome.Maps")
+ (string-append #$output "/bin/gnome-maps")))))
+ (add-after 'install 'wrap
+ (lambda _
+ (wrap-program (string-append #$output "/bin/gnome-maps")
+ `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal
+ `(,glib "bin")
+ gobject-introspection
+ pkg-config))
(inputs
- `(("evolution-data-server" ,evolution-data-server)
- ("folks" ,folks)
- ("libchamplain" ,libchamplain)
- ("libgee" ,libgee)
- ("libhandy" ,libhandy)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup-minimal-2)
- ("libgweather" ,libgweather)
- ("libxml2" ,libxml2)
- ("librsvg" ,librsvg)
- ("glib-networking" ,glib-networking)
- ("geoclue" ,geoclue)
- ("geocode-glib" ,geocode-glib)
- ("gfbgraph" ,gfbgraph)
- ("gjs" ,gjs)
- ("glib" ,glib)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("rest" ,rest)
- ("webkitgtk" ,webkitgtk-with-libsoup2)))
+ (list folks
+ evolution-data-server
+ geoclue
+ geocode-glib
+ gfbgraph
+ gjs
+ glib
+ glib-networking
+ gnome-online-accounts
+ gsettings-desktop-schemas
+ gtk+
+ libadwaita
+ libgee
+ libgweather4
+ libhandy
+ librsvg
+ libsecret
+ libshumate
+ libsoup
+ libxml2
+ pango-next ;TODO: remove when it's the default
+ rest-next
+ webkitgtk))
(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,
(define-public libgeotiff
(package
(name "libgeotiff")
- (version "1.5.1")
+ (version "1.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
version ".tar.gz"))
- (patches (search-patches
- ;; See libgeotiff 1.5.1 issue
- ;; https://github.com/OSGeo/libgeotiff/issues/22
- "libgeotiff-adapt-test-script-for-proj-6.2.patch"))
(sha256
- (base32 "0b31mlzcv5b1y7jdvb7p0pa3xradrg3x5g32ym911lbhq4rrgsgr"))
+ (base32 "1mjmgv48x51ppax5dnb6lq7z600czxll53bx6jbzqwd4m93i7aq5"))
(modules '((guix build utils)))
(snippet
'(begin
#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"
"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
(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
"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")
+ ;; FIXME: Several tests fail with Proj 9.
+ #:tests? #f
#:phases
(modify-phases %standard-phases
;; 1 test is failing, ignore it:
(define-public proj
(package
(name "proj")
- (version "7.2.1")
+ (version "9.1.0")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ "0593vd9sac0c98j1f4rammd90d4xnhygbr6d49i8il6ajjdj7cl1"))))
(build-system cmake-build-system)
- (arguments
- `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")))
- (inputs
- `(("curl" ,curl)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("libtiff" ,libtiff)
- ("sqlite" ,sqlite)))
- (native-inputs
- `(("googletest" ,googletest)
- ("pkg-config" ,pkg-config)))
+ (native-inputs (list googletest pkg-config))
+ (propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
(home-page "https://proj.org/")
(synopsis "Coordinate transformation software")
(description
;; src/geodesic.*, src/tests/geodtest.cpp
license:x11))))
+; This is the last version of proj that provides the old proj.4 API.
+(define-public proj-7
+ (package (inherit proj)
+ (version "7.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.osgeo.org/proj/proj-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ (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")))))))))
+
(define-public proj.4
(package
(name "proj.4")
(("\tPROJ_LIB.*" all) (string-append "#" all)))
#t)))))
(inputs
- `(("glib" ,glib)))
+ (list glib))
(home-page "https://proj.org/")
(synopsis "Cartographic Projections Library")
(description
(define-public python-pyproj
(package
(name "python-pyproj")
- (version "3.2.1")
+ (version "3.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyproj" version))
(sha256
(base32
- "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
+ "1gjg63irs44djyqbp9gg7s02d0y5i9cd1a83phyzp5fcj56y3n5k"))))
(build-system python-build-system)
(arguments
`(#:phases
(("(internal_datadir = ).*$" all var)
(string-append var "Path(\"" proj "/share/proj\")\n")))))))))
(inputs
- `(("proj" ,proj)))
+ (list proj))
(propagated-inputs
- `(("python-certifi" ,python-certifi)))
+ (list python-certifi))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-numpy" ,python-numpy)
- ("python-pandas" ,python-pandas)
- ("python-pytest" ,python-pytest)
- ("python-xarray" ,python-xarray)))
+ (list python-cython python-numpy python-pandas python-pytest
+ python-xarray))
(home-page "https://github.com/pyproj4/pyproj")
(synopsis
"Python interface to PROJ")
(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")))))))
+ (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
- `(("gdal" ,gdal)))
+ (list gdal))
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-certifi" ,python-certifi)
- ("python-click" ,python-click)
- ("python-click-plugins" ,python-click-plugins)
- ("python-cligj" ,python-cligj)
- ("python-munch" ,python-munch)
- ("python-setuptools" ,python-setuptools)
- ("python-six" ,python-six)
- ("python-pytz" ,python-pytz)))
+ (list python-attrs
+ python-certifi
+ python-click
+ python-click-plugins
+ python-cligj
+ python-munch
+ python-setuptools
+ python-six
+ python-pytz))
(native-inputs
- `(("gdal" ,gdal) ; for gdal-config
- ("python-boto3" ,python-boto3)
- ("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (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")
(define-public python-geopandas
(package
(name "python-geopandas")
- (version "0.9.0")
+ (version "0.10.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "geopandas" version))
(sha256
(base32
- "02k389zyyjv51gd09c92vlr83sv46awdq0066jgh5i24vjs2m5v3"))))
+ "1nvim2i47ap1zdwy6kxydskf1cir5g4ij8124wvmrqij0zklggzg"))))
(build-system python-build-system)
(arguments
'(#:phases
(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 fail due to incompatibilities
+ ; with our pandas version.
+ "-k"
+ (string-append
+ "not test_getitem_invalid"
+ " and not test_value_counts"
+ " and not test_setitem_invalid"
+ " and not test_insert_invalid")
; Disable tests that require internet access.
"-m" "not web")))))))
(propagated-inputs
- `(("python-fiona" ,python-fiona)
- ("python-pandas" ,python-pandas)
- ("python-pyproj" ,python-pyproj)
- ("python-shapely" ,python-shapely)))
+ (list python-fiona python-pandas python-pyproj python-shapely))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "http://geopandas.org")
(synopsis "Geographic pandas extensions")
(description "The goal of GeoPandas is to make working with
require a spatial database such as PostGIS.")
(license license:bsd-3)))
-(define-public mapnik
+(define-public python-osmnx
(package
- (name "mapnik")
- (version "3.0.18")
+ (name "python-osmnx")
+ (version "1.1.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/mapnik/mapnik/releases/download/v"
- version "/mapnik-v" version ".tar.bz2"))
+ ; Fetch from github as the pypi package is missing the tests dir.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gboeing/osmnx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "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)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
+ (base32 "1n8qjn184p5a2s3j6x6iyc1i7p3l3xnbqqxm6ajwgwv6j5fw1d5a"))))
+ (build-system python-build-system)
(arguments
- `(#:scons ,scons-python2
- #:scons-flags
- (list "CC=gcc"
- (string-append "PREFIX=" %output)
- (string-append "CUSTOM_LDFLAGS=-Wl,-rpath=" %output "/lib"))))
- (home-page "https://mapnik.org/")
- (synopsis "Toolkit for developing mapping applications")
- (description "Mapnik is a toolkit for developing mapping applications. It
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ ; TODO: Disable network tests
+ (invoke "pytest" "tests"
+ "-k"
+ (string-append
+ ;; The following tests require network access.
+ "not test_geocode_to_gdf"
+ " and not test_stats"
+ " and not test_osm_xml"
+ " and not test_elevation"
+ " and not test_routing"
+ " and not test_plots"
+ " and not test_find_nearest"
+ " and not test_api_endpoints"
+ " and not test_graph_save_load"
+ " and not test_graph_from_functions"
+ " and not test_geometries"))))))))
+ (propagated-inputs
+ (list python-folium
+ python-geopandas
+ python-matplotlib
+ python-networkx
+ python-numpy
+ python-pandas
+ python-pyproj
+ python-requests
+ python-rtree
+ python-shapely))
+ (native-inputs
+ (list python-numpy python-pytest))
+ (home-page "https://github.com/gboeing/osmnx")
+ (synopsis
+ "Retrieve, model, analyze, and visualize OpenStreetMap street networks")
+ (description
+ "OSMnx is a Python library that lets you download geospatial data
+from OpenStreetMap and model, project, visualize, and analyze real-world
+street networks and any other geospatial geometries. You can download
+and model walkable, drivable, or bikeable urban networks with a single
+line of Python code then easily analyze and visualize them. You can
+just as easily download and work with other infrastructure types,
+amenities/points of interest, building footprints, elevation data,
+street bearings/orientations, and speed/travel time.")
+ (license license:expat)))
+
+(define-public mapnik
+ ;; There hasn't been a release since early 2021, and it fails to build with
+ ;; Boost 1.77+.
+ (let ((commit "81103491b467e17218140f50bc0bb9dc8c1f0317")
+ (revision "0"))
+ (package
+ (name "mapnik")
+ (version (git-version "3.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mapnik/mapnik")
+ (commit commit)
+ ;; TODO: Un-bundle mapbox dependencies (not yet packaged).
+ (recursive? #t))) ;for mapbox dependencies and test data
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "094nam57bdd5nak88qy33z2p3kjahk3vk2nk56m5jkcr5d3hlnx2"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:cmake cmake ;for FIND_PACKAGE_ARGS
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
+ #$(this-package-native-input "catch2")
+ "/include/catch2"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-system-catch2
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ (("GIT_TAG.*v2.13.7" all)
+ (string-append all "\n"
+ " FIND_PACKAGE_ARGS NAMES Catch2"))
+ (("^include.*Catch2_SOURCE_DIR.*contrib/Catch.cmake.*")
+ "include(Catch)\n"))))
+ (add-after 'unpack 'disable-problematic-tests
+ (lambda _
+ ;; The 'ogr' test fails for unknown reasons. Mark it as
+ ;; expected to fail (see:
+ ;; https://github.com/mapnik/mapnik/issues/4329).
+ (substitute* "test/unit/datasource/ogr.cpp"
+ (("TEST_CASE\\(\"ogr\"" all)
+ (string-append all ", \"[!shouldfail]\""))))))))
+ (native-inputs
+ (list catch2
+ pkg-config
+ postgresql))
+ (inputs
+ (list boost
+ cairo
+ freetype
+ gdal
+ harfbuzz
+ icu4c
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ libxml2
+ proj
+ sqlite
+ zlib))
+ (home-page "https://mapnik.org/")
+ (synopsis "Toolkit for developing mapping applications")
+ (description "Mapnik is a toolkit for developing mapping applications. It
is basically a collection of geographic objects like maps, layers,
datasources, features, and geometries. At its core is a C++ shared library
providing algorithms and patterns for spatial data access and visualization.
to any server environment. It is intended to play fair in a multi-threaded
environment and is aimed primarily, but not exclusively, at web-based
development.")
- (license (list license:lgpl2.1+
- ;; demo/viewer, demo/python/rundemo.py
- license:gpl2+
- ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
- license:boost1.0
- ;; deps/mapnik/sparsehash
- license:bsd-3
- ;; deps/agg
- (license:non-copyleft "file://deps/agg/copying")))))
+ (license (list license:lgpl2.1+
+ ;; demo/viewer, demo/python/rundemo.py
+ license:gpl2+
+ ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
+ license:boost1.0
+ ;; deps/mapnik/sparsehash
+ license:bsd-3
+ ;; deps/agg
+ (license:non-copyleft "file://deps/agg/copying"))))))
(define-public spatialite-gui
(package
(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
(define-public gdal
(package
(name "gdal")
- (version "3.1.2")
+ (version "3.5.1")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "1p6nmlsr8wbyq350pa6c22vrp98dcsa7yjnqsbhdbp74yj53nw9r"))
+ "1l93q7xf6qx9ck5axfkf3ygmvclxkvrjd8x00ckn7j0d0750ci3w"))
(modules '((guix build utils)))
(snippet
`(begin
"frmts/gtiff/libgeotiff"
"frmts/zlib"
"ogr/ogrsf_frmts/geojson/libjson"))))))
- (build-system gnu-build-system)
+ (build-system cmake-build-system)
(arguments
`(#:tests? #f
#:configure-flags
- (let-syntax ((with (syntax-rules ()
- ((_ option input)
- (string-append option "="
- (assoc-ref %build-inputs input))))))
- (list
- ;; TODO: --with-pcidsk, --with-pcraster
- (with "--with-freexl" "freexl")
- (with "--with-libjson-c" "json-c")
- (with "--with-png" "libpng")
- (with "--with-webp" "libwebp")
- (with "--with-gif" "giflib")
- (with "--with-jpeg" "libjpeg-turbo")
- (with "--with-libtiff" "libtiff")
- (with "--with-geotiff" "libgeotiff")
- (with "--with-libz" "zlib")
- (with "--with-expat" "expat")
- (with "--with-sqlite3" "sqlite")
- "--with-pcre"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-path
- (lambda _
- (substitute* "frmts/mrf/mrf_band.cpp"
- (("\"../zlib/zlib.h\"") "<zlib.h>")))))))
+ (list "-DGDAL_USE_INTERNAL_LIBS=WHEN_NO_EXTERNAL"
+ "-DGDAL_USE_JPEG12_INTERNAL=OFF")))
(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 curl
+ expat
+ freexl
+ geos
+ giflib
+ json-c
+ libgeotiff
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ netcdf
+ openssl
+ pcre2
+ postgresql ; libpq
+ proj
+ qhull
+ 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
#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
;; 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
(package
(name "python-cartopy")
;; This is a post-release fix that adds build_ext to setup.py.
- (version "0.19.0.post1")
+ (version "0.20.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cartopy" version))
(sha256
- (base32 "0xnm8z3as3hriivdfd26s6vn5b63gb46x6vxw6gh1mwfm5rlg2sb"))))
+ (base32 "01lhnkhw22jp6hnrs5qvgkq4fqcni2sx7ydiyv8w8xxx5wpglq0d"))))
(build-system python-build-system)
(arguments
`(#:phases
;; 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-pyproj
+ python-pyshp
+ python-scipy
+ python-shapely))
(inputs
- `(("geos" ,geos)
- ("proj" ,proj)))
+ (list geos
+ ;; cartopy's setup.py looks for the proj executable.
+ ;; Not sure if it actually makes use of it since it
+ ;; probably uses proj only through pyproj.
+ 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
(define-public postgis
(package
(name "postgis")
- (version "3.1.2")
+ (version "3.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
version ".tar.gz"))
(sha256
(base32
- "0ch7gry8a1i9114mlhklxryn7ja3flsz6pxj9r5p09k92xh3gp9c"))))
+ "0gl9d6xy2an82ldb9sixz5blyngjryq8m3509fr38ffawvfniazv"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
(("\\$\\(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
+ openssl
+ 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
(define-public imposm3
(package
(name "imposm3")
- (version "0.6.0-alpha.4")
+ (version "0.11.1")
(source
(origin
(method url-fetch)
(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"
(("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
(define-public libosmium
(package
(name "libosmium")
- (version "2.17.1")
+ (version "2.18.0")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0xw71lrw4q4sdm51rl0zg87ywxfkxbw9h52zqim0z0xl5qh5q8xf"))))
+ (base32 "0fh57mpii1ksacwfx5rz213j896aklib53jbybld2i517q2mmxr0"))))
(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
OpenStreetMap data.")
(license license:boost1.0)))
+(define-public osmium-tool
+ (package
+ (name "osmium-tool")
+ (version "1.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/osmcode/osmium-tool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zgyqyrs89vch0qnkh9m5xq079sr2wmydy5zz4l8xbysbjf6xry5"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled libraries.
+ '(delete-file-recursively "include/rapidjson"))))
+ (build-system cmake-build-system)
+ (inputs
+ (list libosmium
+ rapidjson))
+ (native-inputs
+ (list pandoc))
+ (home-page "https://osmcode.org/osmium-tool/")
+ (synopsis "Osmium command-line tool")
+ (description "Command line tool for working with OpenStreetMap data
+based on the Osmium library.")
+ (license license:gpl3+)))
+
(define-public osm2pgsql
(package
(name "osm2pgsql")
- (version "1.5.1")
+ (version "1.7.0")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0i18mskcs087dn3f3h9n7j0wafn8502m0h13mrjwin38xsz0crfj"))
+ (base32 "15fxr4xq7siy237763l7nswx7v0swr3qzs2h3zkjzgvajw4p6qii"))
(modules '((guix build utils)))
(snippet
- '(begin
- (delete-file-recursively "contrib/protozero")
- (delete-file-recursively "contrib/libosmium")
- #t))))
+ ;; Remove bundled libraries.
+ '(delete-file-recursively "contrib"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f; tests fail because we need to setup a database
#:configure-flags
- (list (string-append "-DOSMIUM_INCLUDE_DIR="
- (assoc-ref %build-inputs "libosmium")
- "/include")
- (string-append "-DPROTOZERO_INCLUDE_DIR="
- (assoc-ref %build-inputs "protozero")
- "/include"))))
+ (list "-DEXTERNAL_LIBOSMIUM=ON"
+ "-DEXTERNAL_PROTOZERO=ON"
+ "-DEXTERNAL_FMT=ON"
+ "-DEXTERNAL_RAPIDJSON=ON")))
(inputs
- `(("boost" ,boost)
- ("bzip2" ,bzip2)
- ("expat" ,expat)
- ("libosmium" ,libosmium)
- ("lua" ,lua)
- ("postgresql" ,postgresql)
- ("proj" ,proj)
- ("protozero" ,protozero)
- ("zlib" ,zlib)))
+ (list boost
+ bzip2
+ expat
+ fmt
+ libosmium
+ lua
+ postgresql
+ proj
+ protozero
+ rapidjson
+ 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
(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
"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
"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-minimal-2)))
+ (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
(string-append "\"" font "/share/fonts/\"")))))))
#:tests? #f)) ; no tests
(native-inputs
- `(("qttools" ,qttools)))
+ (list qttools-5))
(inputs
- `(("bzip2" ,bzip2)
- ("font-liberation" ,font-liberation)
- ("libnova" ,libnova)
- ("libpng" ,libpng)
- ("openjpeg" ,openjpeg)
- ("proj" ,proj)
- ("qtbase" ,qtbase-5)
- ("zlib" ,zlib)))
+ (list bzip2
+ font-liberation
+ libnova
+ libpng
+ openjpeg
+ proj-7
+ qtbase-5
+ zlib))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(define-public python-rtree
(package
(name "python-rtree")
- (version "0.9.7")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Rtree" version))
(sha256
- (base32 "0gna530vy6rh76035cqh7i2lx199cvxjrzjczg9rm6k96k5751xy"))))
+ (base32 "10lnhf67c9pb0yisxdqmb52dy6lj1za1h9d4p69v0ihk2a138j6h"))))
(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"))))
+ (let ((libspatialindex (assoc-ref inputs "libspatialindex")))
+ (substitute* "rtree/finder.py"
+ (("find_library\\(\"spatialindex_c\"\\)")
+ (string-append "\"" libspatialindex
+ "/lib/libspatialindex_c.so\""))))))
(replace 'check
- (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (lambda* (#:key outputs tests? #:allow-other-keys)
(when tests?
- (add-installed-pythonpath inputs outputs)
- (invoke "python" "-m" "pytest")))))))
+ (invoke "pytest")))))))
(native-inputs
- `(("python-numpy" ,python-numpy)
- ("python-pytest" ,python-pytest)
- ("python-wheel" ,python-wheel)))
+ (list python-numpy python-pytest python-wheel))
(inputs
- `(("libspatialindex" ,libspatialindex)))
+ (list libspatialindex))
(home-page "https://github.com/Toblerity/rtree")
(synopsis "R-Tree spatial index for Python GIS")
(description
"0sy6r5fkbb9bclw0is6gwnbzz627m7pjfnsqydxz58pbndakkhrv"))))
(build-system ant-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(arguments
`(#:build-target "pack"
#:tests? #f; No tests
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
(define-public josm
(package
(name "josm")
- (version "18193")
+ (version "18360")
(source (origin
(method svn-fetch)
(uri (svn-reference
(recursive? #f)))
(sha256
(base32
- "162hdck29bkag1d97nisx8v7395pdw00bl7nf0p02hr30fc1fcrh"))
+ "0j7fhzh6hs2b5r1a3d1xpy6f5r6q1kh79bck28raang8ldd754c6"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
#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"
(define-public libmaxminddb
(package
(name "libmaxminddb")
- (version "1.4.3")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
"/releases/download/" version "/"
"/libmaxminddb-" version ".tar.gz"))
(sha256
- (base32 "0fd4a4sxiiwzbd5h74wl1ijnb7xybjyybb7q41vdq3w8nk3zdzd5"))))
+ (base32 "0rw2z7rx8jzgdcgqlmc4wqrsjmiwd8vm5wvvrldy472rghcaq83n"))))
(build-system gnu-build-system)
(arguments
`(#: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
(define-public python-maxminddb
(package
(name "python-maxminddb")
- (version "1.5.1")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "maxminddb" version))
(sha256
(base32
- "0y9giw81k4wdmpryr4k42w50z292mf364a6vs1vxf83ksc9ig6j4"))))
+ "1rc4a403r3b4vhmhb03gidd0fmsbvfpbf3qfcw25h4db9zn0fxz3"))))
(build-system python-build-system)
(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
(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.
(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
(define-public qmapshack
(package
(name "qmapshack")
- (version "1.15.2")
+ (version "1.16.1")
(source
(origin
(method git-fetch)
(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-5))
(inputs
- `(("gdal" ,gdal)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("proj" ,proj)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtlocation" ,qtlocation)
- ("qtwebchannel" ,qtwebchannel)
- ("qtwebengine" ,qtwebengine)
- ("quazip" ,quazip-0)
- ("routino" ,routino)
- ("sqlite" ,sqlite) ; See wrap phase
- ("zlib" ,zlib)))
+ (list curl
+ gdal
+ libjpeg-turbo
+ proj
+ qtbase-5
+ qtdeclarative-5
+ qtlocation
+ qtwebchannel-5
+ qtwebengine-5
+ quazip
+ routino
+ sqlite ; See wrap phase
+ zlib))
(arguments
`(#:tests? #f
#:phases
(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"))))))
+ (assoc-ref inputs "routino"))))))))
(synopsis "GPS mapping application")
(description
"QMapShack can be used to plan your next outdoor trip or to visualize and
(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
(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
(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)
(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
(define-public opencpn
(package
(name "opencpn")
- (version "5.2.4")
+ (version "5.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenCPN/OpenCPN")
- (commit (string-append "v" version))))
+ (commit (string-append "Release_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ffx0lmz1mp5433zqyxigy4qqav32xprpagd66krvihkyvqp2y6y"))))
+ (base32 "0g5x45wv3djfjmigk6kgs0i63yp8rs1fbmm4pb15wb3z6dml624y"))))
(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 alsa-utils
+ bzip2
+ cairo
+ curl
+ eudev
+ glu
+ gtk+
+ jasper
+ libarchive
+ libelf
+ libexif
+ libjpeg-turbo
+ libsndfile
+ libusb
+ lz4
+ mesa
+ pango
+ portaudio
+ sqlite
+ tinyxml
+ wxsvg
+ wxwidgets
+ xz
+ zlib))
(arguments
`(#:configure-flags '("-DOCPN_USE_BUNDLED_LIBS=OFF"
"-DOCPN_ENABLE_PORTAUDIO=ON"
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)
+ ("curl" ,curl)
+ ("gdal" ,gdal)
+ ("proj" ,proj)
+ ("qtbase" ,qtbase-5)
+ ("qtimageformats" ,qtimageformats)
+ ("qtlocation" ,qtlocation)
+ ("qtsensors" ,qtsensors)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("doxygen" ,doxygen)
+ ("qttools-5" ,qttools-5)))
+ (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.7")
(majorminor (string-join (list-head (string-split version #\.) 2) ""))
(grassxx (string-append "grass" majorminor)))
(package
(uri (string-append "https://grass.osgeo.org/" grassxx
"/source/grass-" version ".tar.gz"))
(sha256
- (base32 "0dzzhgcsrszzinvjir50nvzq873b8gsp0p9k8fvcrv14amkbnnd3"))))
+ (base32 "0sbz0ba9p963phvd0gmvfqq1fg4ixpipzcjbf20ys86qavjppzsg"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
(define-public saga
(package
(name "saga")
- (version "7.9.0")
+ (version "8.2.1")
(source
(origin
(method url-fetch)
(version-major version) "/SAGA%20-%20" version
"/saga-" version ".tar.gz"))
(sha256
- (base32 "1n051yxxkylly0k9rlkx2ih3j2lf9d4csg00sm7161r7nhjvggd1"))))
- (build-system gnu-build-system)
+ (base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "saga-gis/src/tools/docs/docs_pdf/doc_pdf.cpp"
+ (("^#include <hpdf\\.h>\n" all)
+ (string-append all "#include <hpdf_version.h>\n"))
+ (("\\bHPDF_PROJECTING_SCUARE_END\\b")
+ "HPDF_PROJECTING_SQUARE_END")))))
+ (build-system cmake-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")))
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'cd-to-source-dir
+ (lambda _
+ (chdir "saga-gis"))))))
(synopsis "System for Automated Geoscientific Analyses")
(description
"SAGA (System for Automated Geoscientific Analyses) is a Geographic
(define-public qgis
(package
(name "qgis")
- (version "3.16.3")
+ (version "3.26.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://qgis.org/downloads/qgis-"
version ".tar.bz2"))
(sha256
- (base32 "012dv8dcg7w4lf6k37i41wialwhi0kpkxw2dnq19yqqk35632mzx"))))
+ (base32 "1hsq3wchsf7db7134fgg9xzzap35q1s4r6649d0krbw80xw5asca"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
#: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
(("sip_dir = cfg.default_sip_dir")
(string-append "sip_dir = \""
(assoc-ref inputs "python-pyqt+qscintilla")
- "/share/sip\""))
+ "/share/sip\"")))
;; Fix building with python-sip@5.
;;
;; The reason for this is that python-sip@5 introduces some
;; are, messing up the build. The long term solution is to fully
;; upgrade SIP, use sip-build and fix all failing packages, but
;; for now I just want to get the build working.
- ((".pyqt_sip_dir...os.path.join.*,")
- (string-append "'pyqt_sip_dir': \""
+ (substitute* "cmake/FindPyQt5.cmake"
+ (("SET\\(PYQT5_SIP_DIR \"\\$\\{Python_SITEARCH\\}/PyQt5/bindings\"\\)")
+ (string-append "SET(PYQT5_SIP_DIR \""
(assoc-ref inputs "python-pyqt+qscintilla")
- "/share/sip" "\",")))
- (substitute* (list "scripts/prepare_commit.sh"
- "scripts/qstringfixup.sh"
- "scripts/release.pl"
- "scripts/runtests_local_travis_config.sh"
- "scripts/sip_include.sh"
- "scripts/sipdiff"
- "scripts/sipify_all.sh"
- "scripts/spell_check/check_spelling.sh"
- "scripts/spell_check/spell_test.sh"
- "scripts/verify_indentation.sh"
- "tests/code_layout/test_banned_keywords.sh"
- "tests/code_layout/test_licenses.sh"
- "tests/code_layout/test_shellcheck.sh"
- "tests/code_layout/test_sip_include.sh"
- "tests/code_layout/test_sipfiles.sh"
- "tests/code_layout/test_sipify.sh")
+ "/share/sip\")")))
+ (substitute* (list "tests/code_layout/test_qt_imports.sh"
+ "tests/code_layout/test_qgsscrollarea.sh")
(("\\$\\(git rev-parse --show-toplevel\\)")
- (getcwd)))
- (substitute* "tests/code_layout/test_sip_include.sh"
- (("^REV=.*") "REV=currentrev\n"))
- #t))
+ (getcwd)))))
(replace 'check
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
(setenv "HOME" "/tmp")
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
'(;; Disable tests that require network access
"qgis_filedownloader"
;; TODO: Find why the following tests fail
- "ProcessingGdalAlgorithmsRasterTest"
- "ProcessingGdalAlgorithmsVectorTest"
- "ProcessingGrass7AlgorithmsImageryTest"
- "ProcessingGrass7AlgorithmsRasterTest"
- "ProcessingGrass7AlgorithmsVectorTest"
- "ProcessingOtbAlgorithmsTest"
"ProcessingQgisAlgorithmsTestPt1"
"ProcessingQgisAlgorithmsTestPt2"
"ProcessingQgisAlgorithmsTestPt3"
"ProcessingQgisAlgorithmsTestPt4"
- "PyCoreAdittions"
+ "ProcessingGdalAlgorithmsVectorTest"
+ "ProcessingGrass7AlgorithmsImageryTest"
+ "ProcessingGrass7AlgorithmsRasterTestPt1"
+ "ProcessingGrass7AlgorithmsRasterTestPt2"
+ "ProcessingGrass7AlgorithmsVectorTest"
+ "ProcessingOtbAlgorithmsTest"
+ "test_core_authmanager"
+ "test_core_compositionconverter"
+ "test_core_coordinatereferencesystem"
+ "test_core_gdalutils"
+ "test_core_labelingengine"
+ "test_core_layout"
+ "test_core_layouthtml"
+ "test_core_layoutlabel"
+ "test_core_layoutmultiframe"
+ "test_core_layoutpicture"
+ "test_core_legendrenderer"
+ "test_core_networkaccessmanager"
+ "test_core_rasterfilewriter"
+ "test_core_tiledownloadmanager"
+ "test_gui_dualview"
+ "test_gui_htmlwidgetwrapper"
+ "test_gui_filedownloader"
+ "test_gui_queryresultwidget"
+ "test_analysis_processingalgspt2"
+ "test_analysis_processing"
+ "test_provider_wcsprovider"
+ "qgis_grassprovidertest7"
+ "test_app_gpsinformationwidget"
"PyQgsAnnotation"
- "PyQgsAppStartup"
- "PyQgsAuthBasicMethod"
+ "PyQgsAttributeTableModel"
"PyQgsAuthenticationSystem"
- "PyQgsAuxiliaryStorage"
- "PyQgsDBManagerGpkg"
- "PyQgsDBManagerSpatialite"
- "PyQgsDataItem"
- "PyQgsFieldValidator"
+ "PyQgsExternalStorageWebDAV"
+ "PyQgsFieldFormattersTest"
"PyQgsFileUtils"
"PyQgsGeometryTest"
- "PyQgsImageCache"
- "PyQgsImportIntoPostGIS"
- "PyQgsLayerDependencies"
- "PyQgsLayerMetadata"
- "PyQgsLayout"
+ "PyQgsGoogleMapsGeocoder"
+ "PyQgsHashLineSymbolLayer"
"PyQgsLayoutExporter"
"PyQgsLayoutHtml"
- "PyQgsLayoutLegend"
- "PyQgsLayoutMapGrid"
+ "PyQgsLineSymbolLayers"
"PyQgsMapLayer"
- "PyQgsMetadataBase"
- "PyQgsOGRProvider"
+ "PyQgsNetworkContentFetcherRegistry"
"PyQgsOGRProviderGpkg"
- "PyQgsOapifProvider"
+ "PyQgsOGRProviderSqlite"
+ "PyQgsPalLabelingCanvas"
"PyQgsPalLabelingLayout"
- "PyQgsProject"
+ "PyQgsPalLabelingPlacement"
+ "PyQgsProcessExecutable"
"PyQgsProviderConnectionGpkg"
- "PyQgsProviderConnectionPostgres"
"PyQgsProviderConnectionSpatialite"
- "PyQgsPythonProvider"
- "PyQgsRasterLayer"
- "PyQgsRulebasedRenderer"
- "PyQgsSelectiveMasking"
- "PyQgsSettings"
- "PyQgsShapefileProvider"
+ "PyQgsOGRProvider"
"PyQgsSpatialiteProvider"
- "PyQgsSvgCache"
- "PyQgsSymbolExpressionVariables"
- "PyQgsTextRenderer"
"PyQgsVectorFileWriter"
- "PyQgsVectorLayer"
- "PyQgsVectorLayerUtils"
+ "PyQgsVectorLayerEditBuffer"
+ "PyQgsVectorLayerEditBufferGroup"
+ "PyQgsVectorLayerProfileGenerator"
"PyQgsVirtualLayerProvider"
"PyQgsWFSProvider"
- "qgis_arcgisrestutilstest"
- "qgis_authmanagertest"
- "qgis_compositionconvertertest"
- "qgis_coordinatereferencesystemtest"
- "qgis_expressiontest"
- "qgis_fontmarkertest"
- "qgis_geometrycheckstest"
- "qgis_geometrytest"
- "qgis_gpsinformationwidget"
- "qgis_grassprovidertest7"
- "qgis_imagecachetest"
- "qgis_labelingenginetest"
- "qgis_layouthtmltest"
- "qgis_layoutmanualtabletest"
- "qgis_layoutmapgridtest"
- "qgis_layoutmaptest"
- "qgis_layoutpicturetest"
- "qgis_layouttabletest"
- "qgis_mapdevicepixelratiotest"
- "qgis_maprendererjobtest"
- "qgis_ogrproviderguitest"
- "qgis_painteffecttest"
- "qgis_pallabelingtest"
- "qgis_processingtest"
- "qgis_rasterlayertest"
+ "PyQgsWFSProviderGUI"
+ "PyQgsOapifProvider"
+ "PyQgsLayerDependencies"
+ "PyQgsDBManagerGpkg"
+ "PyQgsDBManagerSpatialite"
+ "PyQgsAuxiliaryStorage"
+ "PyQgsSelectiveMasking"
"qgis_shellcheck"
- "qgis_sip_include"
- "qgis_sip_uptodate"
"qgis_sipify"
- "qgis_styletest"
- "qgis_svgmarkertest"
- "qgis_taskmanagertest"
- "qgis_wcsprovidertest"
- "qgis_ziplayertest")
- "|"))))
+ "qgis_sip_include"
+ "qgis_sip_uptodate")
+ "|")))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-qt
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (wrap-qt-program "qgis" #:output out #:inputs inputs))
- #t))
+ (wrap-qt-program "qgis" #:output out #:inputs inputs))))
(add-after 'wrap-qt 'wrap-gis
(lambda* (#:key inputs outputs #:allow-other-keys)
;; TODO: Find if there is a way to get SAGA to work.
(wrap-program (string-append out "/bin/qgis")
;;`("PATH" ":" prefix (,saga))
`("QGIS_PREFIX_PATH" = (,out))
- `("GISBASE" = (,grass))))
- #t)))))
+ `("GISBASE" = (,grass)))))))))
(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 bash-minimal
+ 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-5
+ qtkeychain
+ qtlocation
+ qtserialport
+ qtsvg-5
+ qwt
+ ;; saga
+ sqlite
+ (list zstd "lib")))
(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
+ python-pyqt-builder
+ qttools-5
+ shellcheck
+ xorg-server-for-tests))
(home-page "https://qgis.org")
(synopsis "Geographical information system")
(description "QGIS is an easy to use Geographical Information
"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
(define-public gplates
(package
(name "gplates")
- (version "2.3.0")
+ ;; Note: use a pre-release to cope with newer Boost, ref
+ ;; https://discourse.gplates.org/t/compilation-error-with-boost-1-77/452/3
+ (version "2.3.01-beta.3")
(source (origin
(method url-fetch)
- (uri "https://www.earthbyte.org/download/8421/")
- (file-name (string-append name "-" version ".tar.bz2"))
+ (uri "https://cloudstor.aarnet.edu.au/plus/s\
+/ojsYNOyUYE3evNp/download?path=%2F&files=gplates_2.3.1-beta.3_src.zip")
+ (file-name (string-append name "-" version ".zip"))
(sha256
(base32
- "0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96"))))
+ "06i87dfab0cq9gdi5mh6sf9wigawpp0d05zbyslv910443i26gwv"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBoost_NO_BOOST_CMAKE=ON")
- #:tests? #f)) ;no test target
+ #:tests? #f)) ;no test target
+ (native-inputs
+ (list unzip)) ;for the beta
(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)))
+ (list boost
+ cgal
+ curl
+ gdal
+ glew
+ glu
+ gmp
+ mesa
+ mpfr
+ proj
+ python-3
+ python-numpy
+ qtbase-5
+ qtsvg-5
+ qtxmlpatterns
+ qwt
+ zlib))
(home-page "https://www.gplates.org")
(synopsis "Plate tectonics simulation program")
(description "GPlates is a plate tectonics program. Manipulate