diff --git a/pkgs/development/python-modules/webdavclient3/default.nix b/pkgs/development/python-modules/webdavclient3/default.nix index 168ee71745f4..861c83691bce 100644 --- a/pkgs/development/python-modules/webdavclient3/default.nix +++ b/pkgs/development/python-modules/webdavclient3/default.nix @@ -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"; }; }