nixpkgs/pkgs/development/python-modules/cartopy/default.nix

60 lines
1.5 KiB
Nix
Raw Normal View History

2018-11-25 10:23:33 +01:00
{ buildPythonPackage, lib, fetchPypi
, pytest, filelock, mock, pep8
, cython, isPy27
2019-07-14 08:02:29 +02:00
, six, pyshp, shapely, geos, numpy
2018-11-25 10:23:33 +01:00
, gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
, xvfb_run
2019-07-14 08:02:29 +02:00
, proj_5 # see https://github.com/SciTools/cartopy/pull/1252 for status on proj 6 support
2018-11-25 10:23:33 +01:00
}:
buildPythonPackage rec {
pname = "cartopy";
version = "0.17.0";
src = fetchPypi {
inherit version;
pname = "Cartopy";
sha256 = "0q9ckfi37cxj7jwnqnzij62vwcf4krccx576vv5lhvpgvplxjjs2";
};
checkInputs = [ filelock mock pytest 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 ''
2018-11-25 10:23:33 +01:00
export HOME=$(mktemp -d)
${maybeXvfbRun} pytest --pyargs cartopy \
2018-11-25 10:23:33 +01:00
-m "not network and not natural_earth" \
2019-07-14 08:02:29 +02:00
-k "not test_nightshade_image and not background_img"
2018-11-25 10:23:33 +01:00
'';
nativeBuildInputs = [
cython
geos # for geos-config
2019-07-14 08:02:29 +02:00
proj_5
];
buildInputs = [
2019-07-14 08:02:29 +02:00
geos proj_5
];
2018-11-25 10:23:33 +01:00
propagatedBuildInputs = [
# required
six pyshp shapely numpy
2018-11-25 10:23:33 +01:00
# optional
gdal pillow matplotlib pyepsg pykdtree scipy fiona owslib
];
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 ];
};
}