Merge pull request #329403 from gador/datalad-gooey-init

datalad-gooey: init at unstable-2024-02-20

authored by Florian and committed by GitHub f3cc7197 556126cb

+333 -11
+55 -10
pkgs/applications/version-management/datalad/default.nix pkgs/development/python-modules/datalad/default.nix
··· 1 1 { 2 + buildPythonPackage, 2 3 lib, 4 + setuptools, 3 5 stdenv, 4 6 fetchFromGitHub, 5 7 installShellFiles, 6 - python3, 7 8 git, 9 + coreutils, 10 + versioneer, 11 + # core 12 + platformdirs, 13 + chardet, 14 + iso8601, 15 + humanize, 16 + fasteners, 17 + packaging, 18 + patool, 19 + tqdm, 20 + annexremote, 21 + looseversion, 8 22 git-annex, 23 + # downloaders 24 + boto3, 25 + keyrings-alt, 26 + keyring, 27 + msgpack, 28 + requests, 29 + # publish 30 + python-gitlab, 31 + # misc 32 + argcomplete, 33 + pyperclip, 34 + python-dateutil, 35 + # duecredit 36 + duecredit, 37 + # python>=3.8 38 + distro, 39 + # win 40 + colorama, 41 + # python-version-dependent 42 + pythonOlder, 43 + importlib-resources, 44 + importlib-metadata, 45 + typing-extensions, 46 + # tests 47 + pytestCheckHook, 9 48 p7zip, 10 49 curl, 11 - coreutils, 50 + httpretty, 12 51 }: 13 52 14 - python3.pkgs.buildPythonApplication rec { 53 + buildPythonPackage rec { 15 54 pname = "datalad"; 16 55 version = "1.1.1"; 17 56 ··· 25 64 postPatch = '' 26 65 substituteInPlace datalad/distribution/create_sibling.py \ 27 66 --replace-fail "/bin/ls" "${coreutils}/bin/ls" 67 + # Remove vendorized versioneer.py 68 + rm versioneer.py 28 69 ''; 29 70 30 71 nativeBuildInputs = [ ··· 32 73 git 33 74 ]; 34 75 35 - build-system = [ python3.pkgs.setuptools ]; 76 + build-system = [ 77 + setuptools 78 + versioneer 79 + ]; 36 80 37 81 dependencies = 38 - with python3.pkgs; 39 82 [ 40 83 # core 41 84 platformdirs ··· 68 111 argcomplete 69 112 pyperclip 70 113 python-dateutil 114 + 71 115 # duecredit 72 116 duecredit 117 + 73 118 # python>=3.8 74 119 distro 75 120 ] 76 121 ++ lib.optionals stdenv.hostPlatform.isWindows [ colorama ] 77 - ++ lib.optionals (python3.pythonOlder "3.9") [ importlib-resources ] 78 - ++ lib.optionals (python3.pythonOlder "3.10") [ importlib-metadata ] 79 - ++ lib.optionals (python3.pythonOlder "3.11") [ typing_extensions ]; 122 + ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ] 123 + ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ] 124 + ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ]; 80 125 81 126 postInstall = '' 82 127 installShellCompletion --cmd datalad \ ··· 180 225 181 226 nativeCheckInputs = [ 182 227 p7zip 183 - python3.pkgs.pytestCheckHook 228 + pytestCheckHook 184 229 git-annex 185 230 curl 186 - python3.pkgs.httpretty 231 + httpretty 187 232 ]; 188 233 189 234 pythonImportsCheck = [ "datalad" ];
+64
pkgs/development/python-modules/datalad-gooey/default.nix
··· 1 + { 2 + buildPythonPackage, 3 + lib, 4 + git, 5 + fetchFromGitHub, 6 + darwin, 7 + setuptools, 8 + stdenv, 9 + git-annex, 10 + pyside6, 11 + pyqtdarktheme, 12 + datalad-next, 13 + outdated, 14 + datalad, 15 + pytestCheckHook, 16 + pytest-qt, 17 + }: 18 + 19 + buildPythonPackage { 20 + pname = "datalad-gooey"; 21 + # many bug fixes on `master` but no new release 22 + version = "unstable-2024-02-20"; 23 + pyproject = true; 24 + 25 + src = fetchFromGitHub { 26 + owner = "datalad"; 27 + repo = "datalad-gooey"; 28 + rev = "5bd6b9257ff1569439d2a77663271f5d665e61b6"; 29 + hash = "sha256-8779SLcV4wwJ3124lteGzvimDxgijyxa818ZrumPMs4="; 30 + }; 31 + 32 + build-system = [ setuptools ]; 33 + 34 + dependencies = [ 35 + pyside6 36 + pyqtdarktheme 37 + datalad-next 38 + outdated 39 + datalad 40 + ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppleScriptKit ]; 41 + 42 + pythonRemoveDeps = [ "applescript" ]; 43 + 44 + preCheck = '' 45 + export HOME=$TMPDIR 46 + ''; 47 + 48 + nativeCheckInputs = [ 49 + pytestCheckHook 50 + pytest-qt 51 + git 52 + git-annex 53 + ]; 54 + 55 + pythonImportsCheck = [ "datalad_gooey" ]; 56 + 57 + meta = { 58 + description = "Graphical user interface (GUI) for DataLad"; 59 + homepage = "https://github.com/datalad/datalad-gooey"; 60 + license = lib.licenses.mit; 61 + maintainers = with lib.maintainers; [ gador ]; 62 + mainProgram = "datalad-gooey"; 63 + }; 64 + }
+115
pkgs/development/python-modules/datalad-next/default.nix
··· 1 + { 2 + annexremote, 3 + buildPythonPackage, 4 + datalad, 5 + datasalad, 6 + fetchFromGitHub, 7 + git, 8 + git-annex, 9 + humanize, 10 + lib, 11 + more-itertools, 12 + psutil, 13 + pytestCheckHook, 14 + setuptools, 15 + openssh, 16 + unzip, 17 + versioneer, 18 + webdavclient3, 19 + }: 20 + 21 + buildPythonPackage rec { 22 + pname = "datalad-next"; 23 + version = "1.5.0"; 24 + pyproject = true; 25 + 26 + src = fetchFromGitHub { 27 + owner = "datalad"; 28 + repo = "datalad-next"; 29 + rev = "refs/tags/${version}"; 30 + hash = "sha256-fqP6nG2ncDRg48kvlsmPjNBOzfQp9+7wTcGvsYVrRzA="; 31 + }; 32 + 33 + postPatch = '' 34 + # Remove vendorized versioneer.py 35 + rm versioneer.py 36 + ''; 37 + 38 + nativeBuildInputs = [ git ]; 39 + 40 + build-system = [ 41 + setuptools 42 + versioneer 43 + ]; 44 + 45 + dependencies = [ 46 + annexremote 47 + datasalad 48 + datalad 49 + humanize 50 + more-itertools 51 + ]; 52 + 53 + preCheck = '' 54 + export HOME=$TMPDIR 55 + ''; 56 + 57 + nativeCheckInputs = [ 58 + pytestCheckHook 59 + webdavclient3 60 + psutil 61 + git-annex 62 + datalad 63 + openssh 64 + unzip 65 + ]; 66 + 67 + disabledTests = [ 68 + # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test 69 + "test_uncurl_addurl_unredirected" 70 + "test_uncurl" 71 + "test_uncurl_ria_access" 72 + "test_uncurl_store" 73 + "test_uncurl_remove" 74 + "test_uncurl_testremote" 75 + "test_replace_add_archive_content" 76 + "test_annex_remote" 77 + "test_export_remote" 78 + "test_annex_remote_autorepush" 79 + "test_export_remote_autorepush" 80 + "test_typeweb_annex" 81 + "test_typeweb_annex_uncompressed" 82 + "test_typeweb_export" 83 + "test_submodule_url" 84 + "test_uncurl_progress_reporting_to_annex" 85 + "test_archivist_retrieval" 86 + "test_archivist_retrieval_legacy" 87 + 88 + # hardcoded /bin path 89 + "test_auto_if_wanted_data_transfer_path_restriction" 90 + 91 + # requires internet access 92 + "test_push_wanted" 93 + "test_auto_data_transfer" 94 + "test_http_url_operations" 95 + "test_transparent_decompression" 96 + "test_compressed_file_stay_compressed" 97 + "test_ls_file_collection_tarfile" 98 + "test_iter_tar" 99 + ]; 100 + 101 + disabledTestPaths = [ 102 + # requires internet access 103 + "datalad_next/commands/tests/test_download.py" 104 + "datalad_next/archive_operations/tests/test_tarfile.py" 105 + ]; 106 + pythonImportsCheck = [ "datalad_next" ]; 107 + 108 + meta = { 109 + description = "DataLad extension with a staging area for additional functionality, or for improved performance and user experience"; 110 + changelog = "https://github.com/datalad/datalad-next/blob/main/CHANGELOG.md"; 111 + homepage = "https://github.com/datalad/datalad-next"; 112 + license = lib.licenses.mit; 113 + maintainers = with lib.maintainers; [ gador ]; 114 + }; 115 + }
+46
pkgs/development/python-modules/datasalad/default.nix
··· 1 + { 2 + buildPythonPackage, 3 + fetchFromGitHub, 4 + hatchling, 5 + hatch-vcs, 6 + lib, 7 + more-itertools, 8 + psutil, 9 + pytestCheckHook, 10 + unzip, 11 + }: 12 + 13 + buildPythonPackage rec { 14 + pname = "datasalad"; 15 + version = "0.2.1"; 16 + pyproject = true; 17 + 18 + src = fetchFromGitHub { 19 + owner = "datalad"; 20 + repo = "datasalad"; 21 + rev = "refs/tags/v${version}"; 22 + hash = "sha256-qgHWTokNBzJcBbEPCA/YfklzqyX1lM2yro7ElqBfrig="; 23 + }; 24 + 25 + build-system = [ 26 + hatchling 27 + hatch-vcs 28 + ]; 29 + 30 + nativeCheckInputs = [ 31 + pytestCheckHook 32 + more-itertools 33 + psutil 34 + unzip 35 + ]; 36 + 37 + pythonImportsCheck = [ "datasalad" ]; 38 + 39 + meta = { 40 + description = "Pure-Python library with a collection of utilities for working with Git and git-annex"; 41 + changelog = "https://github.com/datalad/datasalad/blob/main/CHANGELOG.md"; 42 + homepage = "https://github.com/datalad/datasalad"; 43 + license = lib.licenses.mit; 44 + maintainers = with lib.maintainers; [ gador ]; 45 + }; 46 + }
+40
pkgs/development/python-modules/outdated/default.nix
··· 1 + { 2 + buildPythonPackage, 3 + fetchFromGitHub, 4 + lib, 5 + littleutils, 6 + requests, 7 + setuptools-scm, 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "outdated"; 12 + version = "0.2.2"; 13 + pyproject = true; 14 + 15 + src = fetchFromGitHub { 16 + owner = "alexmojaki"; 17 + repo = "outdated"; 18 + rev = "refs/tags/v${version}"; 19 + hash = "sha256-5VpPmgIcVtY97F0Hb0m9MuSW0zjaUJ18ATA4GBRw+jc="; 20 + }; 21 + 22 + build-system = [ setuptools-scm ]; 23 + 24 + dependencies = [ 25 + littleutils 26 + requests 27 + ]; 28 + 29 + # checks rely on internet connection 30 + doCheck = false; 31 + 32 + pythonImportsCheck = [ "outdated" ]; 33 + 34 + meta = { 35 + description = "Mini-library which, given a package name and a version, checks if it's the latest version available on PyPI"; 36 + homepage = "https://github.com/alexmojaki/outdated"; 37 + license = lib.licenses.mit; 38 + maintainers = with lib.maintainers; [ gador ]; 39 + }; 40 + }
+3 -1
pkgs/top-level/all-packages.nix
··· 2179 2179 2180 2180 conform = callPackage ../applications/version-management/conform { }; 2181 2181 2182 - datalad = callPackage ../applications/version-management/datalad { }; 2182 + datalad = with python3Packages; toPythonApplication datalad; 2183 + 2184 + datalad-gooey = with python3Packages; toPythonApplication datalad-gooey; 2183 2185 2184 2186 darcs-to-git = callPackage ../applications/version-management/darcs-to-git { }; 2185 2187
+10
pkgs/top-level/python-packages.nix
··· 2835 2835 inherit (pkgs.darwin.apple_sdk.frameworks) Security SystemConfiguration; 2836 2836 }; 2837 2837 2838 + datalad = callPackage ../development/python-modules/datalad { }; 2839 + 2840 + datalad-gooey = callPackage ../development/python-modules/datalad-gooey { }; 2841 + 2842 + datalad-next = callPackage ../development/python-modules/datalad-next { }; 2843 + 2838 2844 datamodeldict = callPackage ../development/python-modules/datamodeldict { }; 2839 2845 2840 2846 datapoint = callPackage ../development/python-modules/datapoint { }; ··· 2842 2848 dataprep-ml = callPackage ../development/python-modules/dataprep-ml { }; 2843 2849 2844 2850 dataproperty = callPackage ../development/python-modules/dataproperty { }; 2851 + 2852 + datasalad = callPackage ../development/python-modules/datasalad { }; 2845 2853 2846 2854 dataset = callPackage ../development/python-modules/dataset { }; 2847 2855 ··· 9636 9644 ots-python = callPackage ../development/python-modules/ots-python { }; 9637 9645 9638 9646 outcome = callPackage ../development/python-modules/outcome { }; 9647 + 9648 + outdated = callPackage ../development/python-modules/outdated { }; 9639 9649 9640 9650 outspin = callPackage ../development/python-modules/outspin { }; 9641 9651