From 6a6536dfa5a76f1c3d352e370c5c6be8ee548d2f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 6 Jan 2025 20:10:08 +0100 Subject: [PATCH 1/2] python312Packages.webdavclient3: refactor - use hash - enable tests - migrate to PEP517 --- .../python-modules/webdavclient3/default.nix | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) 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"; }; } From f433672fc09f6ce8056b6621e69957bd04502985 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 6 Jan 2025 23:46:15 +0100 Subject: [PATCH 2/2] python313Packages.datalad-next: disable failing tests on Python 3.13 --- .../python-modules/datalad-next/default.nix | 73 ++++++++++--------- 1 file changed, 40 insertions(+), 33 deletions(-) diff --git a/pkgs/development/python-modules/datalad-next/default.nix b/pkgs/development/python-modules/datalad-next/default.nix index f74ba7b70d54..c15a1451b544 100644 --- a/pkgs/development/python-modules/datalad-next/default.nix +++ b/pkgs/development/python-modules/datalad-next/default.nix @@ -4,15 +4,16 @@ datalad, datasalad, fetchFromGitHub, - git, git-annex, + git, humanize, lib, more-itertools, + openssh, psutil, pytestCheckHook, + pythonAtLeast, setuptools, - openssh, unzip, versioneer, webdavclient3, @@ -64,45 +65,51 @@ buildPythonPackage rec { unzip ]; - disabledTests = [ - # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test - "test_uncurl_addurl_unredirected" - "test_uncurl" - "test_uncurl_ria_access" - "test_uncurl_store" - "test_uncurl_remove" - "test_uncurl_testremote" - "test_replace_add_archive_content" - "test_annex_remote" - "test_export_remote" - "test_annex_remote_autorepush" - "test_export_remote_autorepush" - "test_typeweb_annex" - "test_typeweb_annex_uncompressed" - "test_typeweb_export" - "test_submodule_url" - "test_uncurl_progress_reporting_to_annex" - "test_archivist_retrieval" - "test_archivist_retrieval_legacy" + disabledTests = + [ + # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test + "test_uncurl_addurl_unredirected" + "test_uncurl" + "test_uncurl_ria_access" + "test_uncurl_store" + "test_uncurl_remove" + "test_uncurl_testremote" + "test_replace_add_archive_content" + "test_annex_remote" + "test_export_remote" + "test_annex_remote_autorepush" + "test_export_remote_autorepush" + "test_typeweb_annex" + "test_typeweb_annex_uncompressed" + "test_typeweb_export" + "test_submodule_url" + "test_uncurl_progress_reporting_to_annex" + "test_archivist_retrieval" + "test_archivist_retrieval_legacy" - # hardcoded /bin path - "test_auto_if_wanted_data_transfer_path_restriction" + # hardcoded /bin path + "test_auto_if_wanted_data_transfer_path_restriction" - # requires internet access - "test_push_wanted" - "test_auto_data_transfer" - "test_http_url_operations" - "test_transparent_decompression" - "test_compressed_file_stay_compressed" - "test_ls_file_collection_tarfile" - "test_iter_tar" - ]; + # requires internet access + "test_push_wanted" + "test_auto_data_transfer" + "test_http_url_operations" + "test_transparent_decompression" + "test_compressed_file_stay_compressed" + "test_ls_file_collection_tarfile" + "test_iter_tar" + ] + ++ lib.optionals (pythonAtLeast "3.13") [ + # RuntimeError + "test_tree_with_broken_symlinks" + ]; disabledTestPaths = [ # requires internet access "datalad_next/commands/tests/test_download.py" "datalad_next/archive_operations/tests/test_tarfile.py" ]; + pythonImportsCheck = [ "datalad_next" ]; meta = {