Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

74 lines
1.5 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
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 ];
};
}