at 24.05-pre 2.4 kB view raw
1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, python 5, proj 6, pythonOlder 7, substituteAll 8, cython 9, pytestCheckHook 10, mock 11, certifi 12, numpy 13, shapely 14, pandas 15, xarray 16}: 17 18buildPythonPackage rec { 19 pname = "pyproj"; 20 version = "3.6.1"; 21 disabled = pythonOlder "3.9"; 22 23 src = fetchFromGitHub { 24 owner = "pyproj4"; 25 repo = "pyproj"; 26 rev = "refs/tags/${version}"; 27 hash = "sha256-ynAhu89VpvtQJRkIeVyffQHhd+OvWSiZzaI/7nd6fXA="; 28 }; 29 30 # force pyproj to use ${proj} 31 patches = [ 32 (substituteAll { 33 src = ./001.proj.patch; 34 proj = proj; 35 projdev = proj.dev; 36 }) 37 ]; 38 39 nativeBuildInputs = [ cython ]; 40 buildInputs = [ proj ]; 41 42 propagatedBuildInputs = [ 43 certifi 44 ]; 45 46 nativeCheckInputs = [ 47 pytestCheckHook 48 mock 49 numpy 50 shapely 51 pandas 52 xarray 53 ]; 54 55 preCheck = '' 56 # import from $out 57 rm -r pyproj 58 ''; 59 60 disabledTestPaths = [ 61 "test/test_doctest_wrapper.py" 62 "test/test_datadir.py" 63 ]; 64 65 disabledTests = [ 66 # The following tests try to access network and end up with a URLError 67 "test__load_grid_geojson_old_file" 68 "test_get_transform_grid_list" 69 "test_get_transform_grid_list__area_of_use" 70 "test_get_transform_grid_list__bbox__antimeridian" 71 "test_get_transform_grid_list__bbox__out_of_bounds" 72 "test_get_transform_grid_list__contains" 73 "test_get_transform_grid_list__file" 74 "test_get_transform_grid_list__source_id" 75 "test_sync__area_of_use__list" 76 "test_sync__bbox__list" 77 "test_sync__bbox__list__exclude_world_coverage" 78 "test_sync__download_grids" 79 "test_sync__file__list" 80 "test_sync__source_id__list" 81 "test_sync_download" 82 "test_sync_download__directory" 83 "test_sync_download__system_directory" 84 "test_transformer_group__download_grids" 85 ]; 86 87 pythonImportsCheck = [ 88 "pyproj" 89 "pyproj.crs" 90 "pyproj.transformer" 91 "pyproj.geod" 92 "pyproj.proj" 93 "pyproj.database" 94 "pyproj.list" 95 "pyproj.datadir" 96 "pyproj.network" 97 "pyproj.sync" 98 "pyproj.enums" 99 "pyproj.aoi" 100 "pyproj.exceptions" 101 ]; 102 103 meta = with lib; { 104 description = "Python interface to PROJ library"; 105 homepage = "https://github.com/pyproj4/pyproj"; 106 changelog = "https://github.com/pyproj4/pyproj/blob/${src.rev}/docs/history.rst"; 107 license = licenses.mit; 108 maintainers = with maintainers; teams.geospatial.members ++ [ lsix dotlambda ]; 109 }; 110}