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.scm160
1 files changed, 110 insertions, 50 deletions
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index b3a5c0df3f..2185af7a98 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -65,6 +65,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -79,6 +80,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -128,25 +130,94 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
+(define-public libaec
+ (package
+ (name "libaec")
+ (version "1.0.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.dkrz.de/k202009/libaec")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14myrmmiz9z6wgxqywf3a63cq514vrzsd6z4zvpwigvawlk30iip"))))
+ (build-system cmake-build-system)
+ (home-page "https://gitlab.dkrz.de/k202009/libaec")
+ (synopsis "Adaptive Entropy Coding library")
+ (description "Libaec provides fast lossless compression of 1 up to 32 bit
+wide signed or unsigned integers (samples). The library achieves best results
+for low entropy data as often encountered in space imaging instrument data or
+numerical model output from weather or climate simulations. While floating
+point representations are not directly supported, they can also be efficiently
+coded by grouping exponents and mantissa.")
+ (license license:bsd-2)))
+
+(define-public eccodes
+ (package
+ (name "eccodes")
+ (version "2.27.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://confluence.ecmwf.int/download/attachments/45757960/"
+ "eccodes-" version "-Source.tar.gz"))
+ (sha256
+ (base32 "16cw4v2d0kjq6gq04paqny0sh5jymn70w449mig7m5h3spzv7rgd"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DENABLE_MEMFS=ON" "-DENABLE_PNG=ON")
+ #:validate-runpath? #f))
+ (inputs
+ (list jasper libaec libjpeg-turbo libpng netcdf openjpeg))
+ (native-inputs
+ (list gfortran perl pkg-config python))
+ (home-page "https://confluence.ecmwf.int/display/ECC")
+ (synopsis "Library for handling the GRIB, BUFR and GTS file formats")
+ (description "ecCodes is a package developed by @acronym{ECMWF, European
+Centre for Medium-Range Weather Forecasts} which provides an application
+programming interface and a set of tools for decoding and encoding messages in
+the @acronym{WMO, World Meteorological Organization} FM-92 GRIB, WMO FM-94
+BUFR and WMO GTS abbreviated header formats.")
+ (license license:asl2.0)))
+
(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"))))
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://code.mpimet.mpg.de/attachments/download/27481/cdo-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1k18llghpf3jnjn0xcnhmbg7arb1fiy854qqn9m5c1abjin38wdq"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
- #~(list (string-append "--with-netcdf="
- #$(this-package-input "netcdf")))))
+ #~(list (string-append "--with-curl="
+ #$(this-package-input "curl"))
+ (string-append "--with-eccodes="
+ #$(this-package-input "eccodes"))
+ (string-append "--with-fftw3="
+ #$(this-package-input "fftw"))
+ (string-append "--with-hdf5="
+ #$(this-package-input "hdf5"))
+ (string-append "--with-netcdf="
+ #$(this-package-input "netcdf"))
+ (string-append "--with-proj="
+ #$(this-package-input "proj"))
+ (string-append "--with-udunits2="
+ #$(this-package-input "udunits"))
+ (string-append "--with-libxml2="
+ #$(this-package-input "libxml2")))
+ ;; Some tests can fail on machines with many threads.
+ #:parallel-tests? #f))
(inputs
- (list netcdf))
+ (list curl eccodes fftw hdf5 libxml2 netcdf proj udunits))
(native-inputs
(list pkg-config))
(home-page "https://code.mpimet.mpg.de/projects/cdo")
@@ -222,7 +293,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
(define-public geos
(package
(name "geos")
- (version "3.11.0")
+ (version "3.11.1")
(source (origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-"
@@ -230,7 +301,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
".tar.bz2"))
(sha256
(base32
- "12l59pxawyizmc4wn20dvjn7aifqwkim4ysmc78h91mayjmqravr"))))
+ "1qhbirv1rbznv99ha0pa0zybvcsn0dsz2xfc65vr8bgrm77v63kd"))))
(build-system cmake-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
@@ -338,6 +409,7 @@ and driving.")
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
version ".tar.gz"))
+ (patches (search-patches "libgeotiff-fix-tests-with-proj-9.1.1.patch"))
(sha256
(base32 "1mjmgv48x51ppax5dnb6lq7z600czxll53bx6jbzqwd4m93i7aq5"))
(modules '((guix build utils)))
@@ -528,7 +600,7 @@ fully fledged Spatial SQL capabilities.")
(define-public proj
(package
(name "proj")
- (version "9.1.0")
+ (version "9.1.1")
(source
(origin
(method url-fetch)
@@ -536,7 +608,7 @@ fully fledged Spatial SQL capabilities.")
version ".tar.gz"))
(sha256
(base32
- "0593vd9sac0c98j1f4rammd90d4xnhygbr6d49i8il6ajjdj7cl1"))))
+ "0fbd1vj4cj19kwh03vdn0a4hr0xaacvi876yyyw5xfsj1q0x8g00"))))
(build-system cmake-build-system)
(native-inputs (list googletest pkg-config))
(propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
@@ -630,14 +702,14 @@ projections.")
(define-public python-pyproj
(package
(name "python-pyproj")
- (version "3.3.1")
+ (version "3.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyproj" version))
(sha256
(base32
- "1gjg63irs44djyqbp9gg7s02d0y5i9cd1a83phyzp5fcj56y3n5k"))))
+ "0czbfl5dd7jckbwvinfwiwdb99sxj796gfn3a9zqbsdc4xcl8257"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -974,7 +1046,7 @@ development.")
(define-public gdal
(package
(name "gdal")
- (version "3.5.1")
+ (version "3.6.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -982,7 +1054,7 @@ development.")
version ".tar.gz"))
(sha256
(base32
- "1l93q7xf6qx9ck5axfkf3ygmvclxkvrjd8x00ckn7j0d0750ci3w"))
+ "1qckwnygszxkkq40bf87s3m1sab6jj9jyakdvskh0qf7dq8zjarf"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -1012,19 +1084,27 @@ development.")
json-c
libgeotiff
libjpeg-turbo
+ libjxl
libpng
libtiff
libwebp
+ lz4
netcdf
openssl
+ openjpeg
pcre2
postgresql ; libpq
proj
qhull
sqlite
- zlib))
+ swig
+ zlib
+ zstd))
(native-inputs
- (list pkg-config))
+ (list pkg-config
+ python))
+ (propagated-inputs
+ (list python-numpy))
(home-page "https://gdal.org/")
(synopsis "Raster and vector geospatial data format library")
(description "GDAL is a translator library for raster and vector geospatial
@@ -1053,25 +1133,6 @@ utilities for data translation and processing.")
;; frmts/mrf/libLERC
license:asl2.0))))
-(define-public python-gdal
- (package (inherit gdal)
- (name "python-gdal")
- (build-system python-build-system)
- (arguments
- '(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'chdir
- (lambda _
- (chdir "swig/python")
- #t)))))
- (native-inputs '())
- (propagated-inputs
- (list python-numpy))
- (inputs
- (list gdal))
- (synopsis "GDAL (Geospatial Data Abstraction Library) python bindings")))
-
(define-public python-pyshp
(package
(name "python-pyshp")
@@ -1106,13 +1167,13 @@ utilities for data translation and processing.")
(package
(name "python-cartopy")
;; This is a post-release fix that adds build_ext to setup.py.
- (version "0.20.3")
+ (version "0.21.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cartopy" version))
(sha256
- (base32 "01lhnkhw22jp6hnrs5qvgkq4fqcni2sx7ydiyv8w8xxx5wpglq0d"))))
+ (base32 "0hnfs75dcnz12ximah5xn9566r8zz189lxikmj4lrs9jl4l3l7ff"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1135,13 +1196,12 @@ utilities for data translation and processing.")
python-scipy
python-shapely))
(inputs
- (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))
+ (list geos))
(native-inputs
- (list python-cython python-flufl-lock python-pytest))
+ (list python-cython
+ python-flufl-lock
+ python-pytest
+ python-pytest-mpl))
(home-page "https://scitools.org.uk/cartopy/docs/latest/")
(synopsis "Cartographic library for visualisation")
(description
@@ -2480,6 +2540,7 @@ growing set of geoscientific methods.")
"ProcessingQgisAlgorithmsTestPt2"
"ProcessingQgisAlgorithmsTestPt3"
"ProcessingQgisAlgorithmsTestPt4"
+ "ProcessingGdalAlgorithmsRasterTest"
"ProcessingGdalAlgorithmsVectorTest"
"ProcessingGrass7AlgorithmsImageryTest"
"ProcessingGrass7AlgorithmsRasterTestPt1"
@@ -2597,7 +2658,6 @@ growing set of geoscientific methods.")
python-chardet
python-dateutil
python-future
- python-gdal
python-jinja2
python-numpy
python-owslib