171 lines
3.3 KiB
Nix
171 lines
3.3 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
|
|
# build-system
|
|
cython,
|
|
gdal,
|
|
setuptools,
|
|
|
|
# dependencies
|
|
attrs,
|
|
certifi,
|
|
click,
|
|
click-plugins,
|
|
cligj,
|
|
|
|
# optional-dependencies
|
|
pyparsing,
|
|
shapely,
|
|
boto3,
|
|
|
|
# tests
|
|
fsspec,
|
|
pytestCheckHook,
|
|
pytz,
|
|
snuggs,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "fiona";
|
|
version = "1.10.1";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Toblerity";
|
|
repo = "Fiona";
|
|
tag = version;
|
|
hash = "sha256-5NN6PBh+6HS9OCc9eC2TcBvkcwtI4DV8qXnz4tlaMXc=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace pyproject.toml \
|
|
--replace-fail "cython~=3.0.2" cython
|
|
'';
|
|
|
|
build-system = [
|
|
cython
|
|
gdal # for gdal-config
|
|
setuptools
|
|
];
|
|
|
|
buildInputs = [ gdal ];
|
|
|
|
dependencies = [
|
|
attrs
|
|
certifi
|
|
click
|
|
click-plugins
|
|
cligj
|
|
];
|
|
|
|
optional-dependencies = {
|
|
calc = [
|
|
pyparsing
|
|
shapely
|
|
];
|
|
s3 = [ boto3 ];
|
|
};
|
|
|
|
nativeCheckInputs = [
|
|
fsspec
|
|
pytestCheckHook
|
|
pytz
|
|
shapely
|
|
snuggs
|
|
]
|
|
++ optional-dependencies.s3;
|
|
|
|
preCheck = ''
|
|
rm -r fiona # prevent importing local fiona
|
|
'';
|
|
|
|
disabledTestMarks = [
|
|
# Tests with gdal marker do not test the functionality of Fiona,
|
|
# but they are used to check GDAL driver capabilities.
|
|
"gdal"
|
|
];
|
|
|
|
disabledTests = [
|
|
# Some tests access network, others test packaging
|
|
"http"
|
|
"https"
|
|
"wheel"
|
|
|
|
# see: https://github.com/Toblerity/Fiona/issues/1273
|
|
"test_append_memoryfile_drivers"
|
|
|
|
# AssertionError CLI exists with non-zero error code
|
|
# This is a regression introduced by https://github.com/NixOS/nixpkgs/pull/448189
|
|
"test_bbox_json_yes"
|
|
"test_bbox_no"
|
|
"test_bbox_where"
|
|
"test_bbox_yes"
|
|
"test_bbox_yes_two_files"
|
|
"test_bool_seq"
|
|
"test_bounds_explode_with_obj"
|
|
"test_calc_seq"
|
|
"test_collect_ld"
|
|
"test_collect_no_rs"
|
|
"test_collect_noparse"
|
|
"test_collect_noparse_records"
|
|
"test_collect_noparse_rs"
|
|
"test_collect_rec_buffered"
|
|
"test_collect_rs"
|
|
"test_creation_options"
|
|
"test_different_crs"
|
|
"test_distrib"
|
|
"test_distrib_no_rs"
|
|
"test_dst_crs_default_to_src_crs"
|
|
"test_dst_crs_epsg3857"
|
|
"test_dst_crs_no_src"
|
|
"test_existing_property"
|
|
"test_explode"
|
|
"test_explode_output_rs"
|
|
"test_explode_pp"
|
|
"test_explode_with_id"
|
|
"test_filter"
|
|
"test_fio_load_layer"
|
|
"test_fio_load_layer_append"
|
|
"test_load__auto_detect_format"
|
|
"test_load__auto_detect_format"
|
|
"test_load__auto_detect_format"
|
|
"test_load__auto_detect_format"
|
|
"test_load__auto_detect_format"
|
|
"test_map_count"
|
|
"test_multi_layer"
|
|
"test_one"
|
|
"test_precision"
|
|
"test_reduce_area"
|
|
"test_reduce_area"
|
|
"test_reduce_union"
|
|
"test_reduce_union_zip_properties"
|
|
"test_seq"
|
|
"test_seq"
|
|
"test_seq_no_rs"
|
|
"test_seq_rs"
|
|
"test_seq_rs"
|
|
"test_two"
|
|
"test_vfs"
|
|
"test_where_no"
|
|
"test_where_yes"
|
|
"test_where_yes_two_files"
|
|
"test_with_id"
|
|
"test_with_obj"
|
|
];
|
|
|
|
pythonImportsCheck = [ "fiona" ];
|
|
|
|
doInstallCheck = true;
|
|
|
|
meta = {
|
|
changelog = "https://github.com/Toblerity/Fiona/blob/${src.rev}/CHANGES.txt";
|
|
description = "OGR's neat, nimble, no-nonsense API for Python";
|
|
mainProgram = "fio";
|
|
homepage = "https://fiona.readthedocs.io/";
|
|
license = lib.licenses.bsd3;
|
|
teams = [ lib.teams.geospatial ];
|
|
};
|
|
}
|