python312Packages.webdavclient3: refactor

- use hash
- enable tests
- migrate to PEP517
This commit is contained in:
Fabian Affolter
2025-01-06 20:10:08 +01:00
parent b30f97d8c3
commit 6a6536dfa5
@@ -1,44 +1,55 @@
{
buildPythonPackage,
fetchPypi,
isPy27,
lib,
python-dateutil,
buildPythonPackage,
fetchFromGitHub,
lxml,
python-dateutil,
pythonOlder,
requests,
setuptools,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "webdavclient3";
version = "3.14.6";
format = "setuptools";
pyproject = true;
disabled = isPy27;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "bcd22586bb0d58abc26ca56054fd04228e704bd36073c3080f4597c1556c880d";
src = fetchFromGitHub {
owner = "ezhov-evgeny";
repo = "webdav-client-python-3";
tag = "v${version}";
hash = "sha256-vtZTBfq3PVrapv3ivYc18+71y7SPpJ+Mwk5qGe/DdTM=";
};
propagatedBuildInputs = [
python-dateutil
build-system = [ setuptools ];
dependencies = [
lxml
python-dateutil
requests
];
nativeCheckInputs = [ pytestCheckHook ];
# disable tests completely, as most of them fail due to urllib3 not being able to establish a http connection
doCheck = false;
pythonImportsCheck = [ "webdav3.client" ];
disabledTestPaths = [
# Tests require a local WebDAV instance
"tests/test_client_it.py"
"tests/test_client_resource_it.py"
"tests/test_cyrilic_client_it.py"
"tests/test_multi_client_it.py"
"tests/test_tailing_slash_client_it.py"
];
meta = with lib; {
description = "Easy to use WebDAV Client for Python 3.x";
mainProgram = "wdc";
homepage = "https://github.com/ezhov-evgeny/webdav-client-python-3";
license = licenses.mit;
maintainers = with maintainers; [ dmrauh ];
mainProgram = "wdc";
};
}