1{ buildPythonPackage, lib, fetchPypi
2, pytestCheckHook, filelock, mock, pep8
3, cython, setuptools-scm
4, six, pyshp, shapely, geos, numpy
5, gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
6, proj, flufl_lock
7}:
8
9buildPythonPackage rec {
10 pname = "cartopy";
11 version = "0.21.0";
12
13 src = fetchPypi {
14 inherit version;
15 pname = "Cartopy";
16 sha256 = "sha256-zh06KKEy6UyJrDN2mlD4H2VjSrK9QFVjF+Fb1srRzkI=";
17 };
18
19 postPatch = ''
20 # https://github.com/SciTools/cartopy/issues/1880
21 substituteInPlace lib/cartopy/tests/test_crs.py \
22 --replace "test_osgb(" "dont_test_osgb(" \
23 --replace "test_epsg(" "dont_test_epsg("
24 '';
25
26 nativeBuildInputs = [
27 cython
28 geos # for geos-config
29 proj
30 setuptools-scm
31 ];
32
33 buildInputs = [
34 geos proj
35 ];
36
37 propagatedBuildInputs = [
38 # required
39 six pyshp shapely numpy
40
41 # optional
42 gdal pillow matplotlib pyepsg pykdtree scipy fiona owslib
43 ];
44
45 checkInputs = [ pytestCheckHook filelock mock pep8 flufl_lock ];
46
47 pytestFlagsArray = [
48 "--pyargs" "cartopy"
49 "-m" "'not network and not natural_earth'"
50 ];
51
52 disabledTests = [
53 "test_nightshade_image"
54 "background_img"
55 "test_gridliner_labels_bbox_style"
56 ];
57
58 meta = with lib; {
59 description = "Process geospatial data to create maps and perform analyses";
60 license = licenses.lgpl3Plus;
61 homepage = "https://scitools.org.uk/cartopy/docs/latest/";
62 maintainers = with maintainers; [ mredaelli ];
63 };
64}