From c6c77fe7c130274b5b68ac6fd283bba4dad382ae Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Mon, 24 May 2021 18:43:03 -0300 Subject: [PATCH 6/6] gnu: Add python-iris. * gnu/packages/geo.scm (python-iris): New variable. --- gnu/packages/geo.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 3ea7804725..65d43849df 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -92,6 +92,7 @@ #: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-science) #:use-module (gnu packages python-web) @@ -1017,6 +1018,72 @@ Shapely capabilities Climate and Forecast (CF) metadata conventions.") (license license:lgpl3))) +(define-public python-iris + (package + (name "python-iris") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "scitools-iris" version)) + (sha256 + (base32 "1zqicscnnfqpck960xdjng38qk0w0spmcysl89l3smagdsagzxkr")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Some tests require a writable home. + (setenv "HOME" "/tmp") + ;; Iris will check for "scitools-iris[test]" before running the + ;; tests. The complete test set weighs 150MB. Skip this check. + (substitute* "setup.py" + ((".*tests_require.*") "")) + ;; The tests below open external connections. + (substitute* + "lib/iris/tests/integration/plot/test_vector_plots.py" + (("test_2d_plain_latlon") "_test_2d_plain_latlon") + (("test_2d_plain_latlon_on_polar_map") + "_test_2d_plain_latlon_on_polar_map") + (("test_2d_rotated_latlon") "_test_2d_rotated_latlon")) + (substitute* + "lib/iris/tests/integration/plot/test_plot_2d_coords.py" + (("test_2d_coords_contour") "_test_2d_coords_contour")) + ;; This one fails with AssertionError. + (substitute* "lib/iris/tests/experimental/test_animate.py" + (("test_cube_animation") "_test_cube_animation")) + ;; Compile Pyke rules before running the tests. + (invoke "python" "setup.py" "pyke_rules")))))) + (propagated-inputs + `(("python-cartopy" ,python-cartopy) + ("python-cf-units" ,python-cf-units) + ("python-cftime" ,python-cftime) + ("python-dask" ,python-dask) + ("python-matplotlib" ,python-matplotlib) + ("python-netcdf4" ,python-netcdf4) + ("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-xxhash" ,python-xxhash))) + (native-inputs + `(("netcdf" ,netcdf) + ("python-black" ,python-black) + ("python-filelock" ,python-filelock) + ("python-imagehash" ,python-imagehash) + ("python-nose" ,python-nose) + ("python-pillow" ,python-pillow) + ("python-pyke" ,python-pyke) + ("python-requests" ,python-requests) + ("python-wheel" ,python-wheel))) + (home-page "https://github.com/SciTools/iris") + (synopsis "Library for analysing and visualising Earth science data") + (description "Iris is a Python library for analysing and visualising Earth +science data. It excels when working with multi-dimensional Earth Science +data, where tabular representations become unwieldy and inefficient. Iris +implements a data model based on the CF conventions.") + ;; See iris/docs/src/copyright.rst. + (license license:lgpl3+))) + (define-public postgis (package (name "postgis") -- 2.32.0