1{ 2 annexremote, 3 buildPythonPackage, 4 datalad, 5 datasalad, 6 fetchFromGitHub, 7 git-annex, 8 git, 9 humanize, 10 lib, 11 more-itertools, 12 openssh, 13 psutil, 14 pytestCheckHook, 15 pythonAtLeast, 16 setuptools, 17 unzip, 18 versioneer, 19 webdavclient3, 20}: 21 22buildPythonPackage rec { 23 pname = "datalad-next"; 24 version = "1.5.0"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "datalad"; 29 repo = "datalad-next"; 30 tag = version; 31 hash = "sha256-fqP6nG2ncDRg48kvlsmPjNBOzfQp9+7wTcGvsYVrRzA="; 32 }; 33 34 postPatch = '' 35 # Remove vendorized versioneer.py 36 rm versioneer.py 37 ''; 38 39 nativeBuildInputs = [ git ]; 40 41 build-system = [ 42 setuptools 43 versioneer 44 ]; 45 46 dependencies = [ 47 annexremote 48 datasalad 49 datalad 50 humanize 51 more-itertools 52 ]; 53 54 preCheck = '' 55 export HOME=$TMPDIR 56 ''; 57 58 nativeCheckInputs = [ 59 pytestCheckHook 60 webdavclient3 61 psutil 62 git-annex 63 datalad 64 openssh 65 unzip 66 ]; 67 68 disabledTests = 69 [ 70 # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test 71 "test_uncurl_addurl_unredirected" 72 "test_uncurl" 73 "test_uncurl_ria_access" 74 "test_uncurl_store" 75 "test_uncurl_remove" 76 "test_uncurl_testremote" 77 "test_replace_add_archive_content" 78 "test_annex_remote" 79 "test_export_remote" 80 "test_annex_remote_autorepush" 81 "test_export_remote_autorepush" 82 "test_typeweb_annex" 83 "test_typeweb_annex_uncompressed" 84 "test_typeweb_export" 85 "test_submodule_url" 86 "test_uncurl_progress_reporting_to_annex" 87 "test_archivist_retrieval" 88 "test_archivist_retrieval_legacy" 89 90 # hardcoded /bin path 91 "test_auto_if_wanted_data_transfer_path_restriction" 92 93 # requires internet access 94 "test_push_wanted" 95 "test_auto_data_transfer" 96 "test_http_url_operations" 97 "test_transparent_decompression" 98 "test_compressed_file_stay_compressed" 99 "test_ls_file_collection_tarfile" 100 "test_iter_tar" 101 ] 102 ++ lib.optionals (pythonAtLeast "3.13") [ 103 # RuntimeError 104 "test_tree_with_broken_symlinks" 105 ]; 106 107 disabledTestPaths = [ 108 # requires internet access 109 "datalad_next/commands/tests/test_download.py" 110 "datalad_next/archive_operations/tests/test_tarfile.py" 111 ]; 112 113 pythonImportsCheck = [ "datalad_next" ]; 114 115 meta = { 116 description = "DataLad extension with a staging area for additional functionality, or for improved performance and user experience"; 117 changelog = "https://github.com/datalad/datalad-next/blob/main/CHANGELOG.md"; 118 homepage = "https://github.com/datalad/datalad-next"; 119 license = lib.licenses.mit; 120 maintainers = with lib.maintainers; [ gador ]; 121 }; 122}