1{ stdenv
2, buildPythonPackage
3, fetchFromGitHub
4, numpy
5, matplotlib
6, pillow
7, setuptools
8, pyproj
9, pyshp
10, six
11, pkgs
12}:
13
14buildPythonPackage rec {
15 pname = "basemap";
16 version = "1.2.1";
17
18 src = fetchFromGitHub {
19 owner = "matplotlib";
20 repo = "basemap";
21 rev = "v${version}rel";
22 sha256 = "13lw1iwa8hadpvqdgb06nh881l8c17awzvvwbfwblvb9q9s0lnzp";
23 };
24
25 propagatedBuildInputs = [ numpy matplotlib pillow pyproj pyshp six ];
26 buildInputs = [ setuptools pkgs.geos ];
27
28 # Standard configurePhase from `buildPythonPackage` seems to break the setup.py script
29 configurePhase = ''
30 export GEOS_DIR=${pkgs.geos}
31 '';
32
33 # The 'check' target is not supported by the `setup.py` script.
34 # TODO : do the post install checks (`cd examples && ${python.interpreter} run_all.py`)
35 doCheck = false;
36
37 meta = with stdenv.lib; {
38 homepage = "https://matplotlib.org/basemap/";
39 description = "Plot data on map projections with matplotlib";
40 longDescription = ''
41 An add-on toolkit for matplotlib that lets you plot data on map projections with
42 coastlines, lakes, rivers and political boundaries. See
43 http://matplotlib.github.com/basemap/users/examples.html for examples of what it can do.
44 '';
45 license = with licenses; [ mit gpl2 ];
46 };
47
48}