nixpkgs/pkgs/development/python-modules/pyproj/default.nix
2020-03-24 20:38:01 -07:00

58 lines
1.4 KiB
Nix

{ lib, buildPythonPackage, fetchFromGitHub, python, pkgs, pythonOlder, isPy27, substituteAll
, aenum
, cython
, pytest
, mock
, numpy
, shapely
}:
buildPythonPackage rec {
pname = "pyproj";
version = "2.6.0";
disabled = isPy27;
src = fetchFromGitHub {
owner = "pyproj4";
repo = "pyproj";
rev = "v${version}rel";
sha256 = "0fyggkbr3kp8mlq4c0r8sl5ah58bdg2mj4kzql9p3qyrkcdlgixh";
};
# force pyproj to use ${pkgs.proj}
patches = [
(substituteAll {
src = ./001.proj.patch;
proj = pkgs.proj;
projdev = pkgs.proj.dev;
})
];
buildInputs = [ cython pkgs.proj ];
propagatedBuildInputs = [
numpy shapely
] ++ lib.optional (pythonOlder "3.6") aenum;
checkInputs = [ pytest mock ];
# ignore rounding errors, and impure docgen
# datadir is ignored because it does the proj look up logic, which isn't relevant
checkPhase = ''
pytest . -k 'not alternative_grid_name \
and not transform_wgs84_to_alaska \
and not transformer_group__unavailable \
and not transform_group__missing_best \
and not datum \
and not repr' \
--ignore=test/test_doctest_wrapper.py \
--ignore=test/test_datadir.py
'';
meta = {
description = "Python interface to PROJ.4 library";
homepage = "https://github.com/jswhit/pyproj";
license = with lib.licenses; [ isc ];
};
}