diff options
Diffstat (limited to 'gnu/packages/geo.scm')
-rw-r--r-- | gnu/packages/geo.scm | 160 |
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 |