74 lines
1.5 KiB
Nix
74 lines
1.5 KiB
Nix
|
|
{
|
||
|
|
lib,
|
||
|
|
fetchFromGitHub,
|
||
|
|
python3Packages,
|
||
|
|
installShellFiles,
|
||
|
|
versionCheckHook,
|
||
|
|
}:
|
||
|
|
|
||
|
|
python3Packages.buildPythonApplication rec {
|
||
|
|
pname = "globus-cli";
|
||
|
|
version = "3.38.0";
|
||
|
|
pyproject = true;
|
||
|
|
|
||
|
|
src = fetchFromGitHub {
|
||
|
|
owner = "globus";
|
||
|
|
repo = "globus-cli";
|
||
|
|
tag = version;
|
||
|
|
hash = "sha256-TjJ0GBXRYSMbWfCkGJSBzToHEjoN5ZJAzZe2yiRJhtg=";
|
||
|
|
};
|
||
|
|
|
||
|
|
build-system = with python3Packages; [
|
||
|
|
setuptools
|
||
|
|
ruamel-yaml
|
||
|
|
];
|
||
|
|
|
||
|
|
dependencies = with python3Packages; [
|
||
|
|
globus-sdk
|
||
|
|
click
|
||
|
|
jmespath
|
||
|
|
packaging
|
||
|
|
typing-extensions
|
||
|
|
requests
|
||
|
|
];
|
||
|
|
|
||
|
|
nativeBuildInputs = [ installShellFiles ];
|
||
|
|
|
||
|
|
nativeCheckInputs = with python3Packages; [
|
||
|
|
pytest
|
||
|
|
pytest-xdist
|
||
|
|
pytest-timeout
|
||
|
|
responses
|
||
|
|
|
||
|
|
click
|
||
|
|
requests
|
||
|
|
pyjwt
|
||
|
|
cryptography
|
||
|
|
packaging
|
||
|
|
typing-extensions
|
||
|
|
|
||
|
|
pytestCheckHook
|
||
|
|
versionCheckHook
|
||
|
|
];
|
||
|
|
|
||
|
|
versionCheckProgramArg = "version";
|
||
|
|
|
||
|
|
postInstall = ''
|
||
|
|
mkdir -p completions/{bash,zsh}
|
||
|
|
$out/bin/globus --bash-completer > completions/bash/globus
|
||
|
|
$out/bin/globus --zsh-completer > completions/zsh/_globus
|
||
|
|
installShellCompletion \
|
||
|
|
--bash completions/bash/globus \
|
||
|
|
--zsh completions/zsh/_globus
|
||
|
|
'';
|
||
|
|
|
||
|
|
meta = {
|
||
|
|
mainProgram = "globus";
|
||
|
|
description = "Command-line interface to Globus REST APIs, including the Transfer API and the Globus Auth API";
|
||
|
|
homepage = "https://github.com/globus/globus-cli";
|
||
|
|
changelog = "https://github.com/globus/globus-cli/releases/tag/${src.tag}";
|
||
|
|
license = lib.licenses.asl20;
|
||
|
|
maintainers = [ lib.maintainers.richardjacton ];
|
||
|
|
};
|
||
|
|
}
|