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