diff --git a/pkgs/development/python-modules/cartopy/default.nix b/pkgs/development/python-modules/cartopy/default.nix index 7e3e32067577..87eafc265501 100644 --- a/pkgs/development/python-modules/cartopy/default.nix +++ b/pkgs/development/python-modules/cartopy/default.nix @@ -1,10 +1,9 @@ -{ buildPythonPackage, lib, fetchPypi -, pytest_4, filelock, mock, pep8 -, cython, isPy27 +{ buildPythonPackage, lib, fetchPypi, fetchpatch +, pytestCheckHook, filelock, mock, pep8 +, cython , six, pyshp, shapely, geos, numpy , gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona -, xvfb_run -, proj_5 # see https://github.com/SciTools/cartopy/pull/1252 for status on proj 6 support +, proj }: buildPythonPackage rec { @@ -17,28 +16,16 @@ buildPythonPackage rec { sha256 = "0d24fk0cbp29gmkysrwq05vry13swmwi3vx3cpcy04c0ixz33ykz"; }; - checkInputs = [ filelock mock pytest_4 pep8 ]; - - # several tests require network connectivity: we disable them. - # also py2.7's tk is over-eager in trying to open an x display, - # so give it xvfb - checkPhase = let - maybeXvfbRun = lib.optionalString isPy27 "${xvfb_run}/bin/xvfb-run"; - in '' - export HOME=$(mktemp -d) - ${maybeXvfbRun} pytest --pyargs cartopy \ - -m "not network and not natural_earth" \ - -k "not test_nightshade_image and not background_img" - ''; - - nativeBuildInputs = [ - cython - geos # for geos-config - proj_5 + patches = [ + # Fix numpy-1.20 compatibility. Will be part of 0.19. + (fetchpatch { + url = "https://github.com/SciTools/cartopy/commit/e663bbbef07989a5f8484a8f36ea9c07e61d14ce.patch"; + sha256 = "061kbjgzkc3apaz6sxy00pkgy3n9dxcgps5wzj4rglb5iy86n2kq"; + }) ]; buildInputs = [ - geos proj_5 + geos proj ]; propagatedBuildInputs = [ @@ -49,12 +36,28 @@ buildPythonPackage rec { gdal pillow matplotlib pyepsg pykdtree scipy fiona owslib ]; + checkInputs = [ pytestCheckHook filelock mock pep8 ]; + + pytestFlagsArray = [ + "--pyargs" "cartopy" + "-m" "'not network and not natural_earth'" + ]; + + disabledTests = [ + "test_nightshade_image" + "background_img" + ]; + + nativeBuildInputs = [ + cython + geos # for geos-config + proj + ]; + meta = with lib; { description = "Process geospatial data to create maps and perform analyses"; license = licenses.lgpl3; homepage = "https://scitools.org.uk/cartopy/docs/latest/"; maintainers = with maintainers; [ mredaelli ]; - # following tests fail: test_eccentric_globe and test_ellipse_globe - broken = true; }; }