python3Packages.pyotb: init at 2.1.0
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
python,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
otb,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
pytest-cov-stub,
|
||||
requests,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
let
|
||||
# fetch the test data separately or else none of the test will work
|
||||
# https://github.com/orfeotoolbox/pyotb/blob/develop/tests/tests_data.py
|
||||
spotImage = fetchurl {
|
||||
url = "https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/raw/develop/Data/Input/SP67_FR_subset_1.tif";
|
||||
sha256 = "sha256-MuWY/g7KI+F23lFY/+AX5MLWJlIgHCr5BvFjDHzpWgY=";
|
||||
};
|
||||
|
||||
pleiadesImage = fetchurl {
|
||||
url = "https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/raw/develop/Data/Baseline/OTB/Images/prTvOrthoRectification_pleiades-1_noDEM.tif";
|
||||
sha256 = "sha256-1EsGAJdHgBIb/gfbh4Y7yEEmYHb54bSx4fEMKssZ/oA=";
|
||||
};
|
||||
|
||||
otbWithPy = otb.override {
|
||||
enablePython = true;
|
||||
python3 = python;
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "pyotb";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orfeotoolbox";
|
||||
repo = "pyotb";
|
||||
tag = version;
|
||||
hash = "sha256-KomIMVx4jfsTSbGtoml9ON/82sHanOkp/mp1TiUaa2E=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyotb/helpers.py \
|
||||
--replace-fail 'OTB_ROOT = os.environ.get("OTB_ROOT")' 'OTB_ROOT = "${otbWithPy}"' \
|
||||
--replace-fail 'os.environ["GDAL_DATA"] = gdal_data' "" \
|
||||
--replace-fail 'os.environ["PROJ_LIB"] = proj_lib' "" \
|
||||
--replace-fail 'os.environ["GDAL_DRIVER_PATH"] = "disable"' ""
|
||||
|
||||
ln -s ${spotImage} $HOME/SP67_FR_subset_1.tif
|
||||
ln -s ${pleiadesImage} $HOME/prTvOrthoRectification_pleiades-1_noDEM.tif
|
||||
|
||||
substituteInPlace tests/tests_data.py \
|
||||
--replace-fail \
|
||||
'SPOT_IMG_URL = "https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/raw/develop/Data/Input/SP67_FR_subset_1.tif"' \
|
||||
"SPOT_IMG_URL = '$HOME/SP67_FR_subset_1.tif'" \
|
||||
--replace-fail \
|
||||
'PLEIADES_IMG_URL = "https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/raw/develop/Data/Baseline/OTB/Images/prTvOrthoRectification_pleiades-1_noDEM.tif"' \
|
||||
"PLEIADES_IMG_URL = '$HOME/prTvOrthoRectification_pleiades-1_noDEM.tif'"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [ otbWithPy ];
|
||||
|
||||
pythonImportsCheck = [ "pyotb" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-cov-stub
|
||||
requests
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# test requires network access as inputs needs to be url
|
||||
"test_app_input_vsi"
|
||||
"test_img_metadata"
|
||||
"test_summarize_pipeline_simple"
|
||||
"test_summarize_pipeline_diamond"
|
||||
"test_summarize_strip_output"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Python extension of Orfeo Toolbox";
|
||||
homepage = "https://github.com/orfeotoolbox/pyotb";
|
||||
changelog = "https://github.com/orfeotoolbox/pyotb/tag/${version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ daspk04 ];
|
||||
};
|
||||
}
|
||||
@@ -12772,6 +12772,8 @@ self: super: with self; {
|
||||
|
||||
pyosohotwaterapi = callPackage ../development/python-modules/pyosohotwaterapi { };
|
||||
|
||||
pyotb = callPackage ../development/python-modules/pyotb { };
|
||||
|
||||
pyotgw = callPackage ../development/python-modules/pyotgw { };
|
||||
|
||||
pyotp = callPackage ../development/python-modules/pyotp { };
|
||||
|
||||
Reference in New Issue
Block a user