nixpkgs/pkgs/applications/version-management/datalad/default.nix
Artturin 7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00

80 lines
1.5 KiB
Nix

{ lib, stdenv, fetchFromGitHub, installShellFiles, python3, git }:
python3.pkgs.buildPythonApplication rec {
pname = "datalad";
version = "0.16.5";
src = fetchFromGitHub {
owner = "datalad";
repo = pname;
rev = version;
hash = "sha256-6uWOKsYeNZJ64WqoGHL7AsoK4iZd24TQOJ1ECw+K28Y=";
};
nativeBuildInputs = [ installShellFiles git ];
propagatedBuildInputs = with python3.pkgs; [
# core
platformdirs
chardet
iso8601
humanize
fasteners
packaging
patool
tqdm
annexremote
# downloaders-extra
# requests-ftp # not in nixpkgs yet
# downloaders
boto
keyrings-alt
keyring
msgpack
requests
# publish
python-gitlab
# misc
argcomplete
pyperclip
python-dateutil
# metadata
simplejson
whoosh
# metadata-extra
pyyaml
mutagen
exifread
python-xmp-toolkit
pillow
# duecredit
duecredit
# python>=3.8
distro
] ++ lib.optionals stdenv.hostPlatform.isWindows [ colorama ]
++ lib.optionals (python3.pythonOlder "3.10") [ importlib-metadata ];
postInstall = ''
installShellCompletion --cmd datalad \
--bash <($out/bin/datalad shell-completion) \
--zsh <($out/bin/datalad shell-completion)
'';
# no tests
doCheck = false;
meta = with lib; {
description = "Keep code, data, containers under control with git and git-annex";
homepage = "https://www.datalad.org";
license = licenses.mit;
maintainers = with maintainers; [ renesat ];
};
}