Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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 # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test 70 "test_uncurl_addurl_unredirected" 71 "test_uncurl" 72 "test_uncurl_ria_access" 73 "test_uncurl_store" 74 "test_uncurl_remove" 75 "test_uncurl_testremote" 76 "test_replace_add_archive_content" 77 "test_annex_remote" 78 "test_export_remote" 79 "test_annex_remote_autorepush" 80 "test_export_remote_autorepush" 81 "test_typeweb_annex" 82 "test_typeweb_annex_uncompressed" 83 "test_typeweb_export" 84 "test_submodule_url" 85 "test_uncurl_progress_reporting_to_annex" 86 "test_archivist_retrieval" 87 "test_archivist_retrieval_legacy" 88 89 # hardcoded /bin path 90 "test_auto_if_wanted_data_transfer_path_restriction" 91 92 # requires internet access 93 "test_push_wanted" 94 "test_auto_data_transfer" 95 "test_http_url_operations" 96 "test_transparent_decompression" 97 "test_compressed_file_stay_compressed" 98 "test_ls_file_collection_tarfile" 99 "test_iter_tar" 100 ] 101 ++ lib.optionals (pythonAtLeast "3.13") [ 102 # RuntimeError 103 "test_tree_with_broken_symlinks" 104 ]; 105 106 disabledTestPaths = [ 107 # requires internet access 108 "datalad_next/commands/tests/test_download.py" 109 "datalad_next/archive_operations/tests/test_tarfile.py" 110 ]; 111 112 pythonImportsCheck = [ "datalad_next" ]; 113 114 meta = { 115 description = "DataLad extension with a staging area for additional functionality, or for improved performance and user experience"; 116 changelog = "https://github.com/datalad/datalad-next/blob/main/CHANGELOG.md"; 117 homepage = "https://github.com/datalad/datalad-next"; 118 license = lib.licenses.mit; 119 maintainers = with lib.maintainers; [ gador ]; 120 }; 121}