Unverified Commit 619cedb7 authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

globus-cli: init at 3.36.0 (#440141)

parents 8598ac48 b102c5b9
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -21771,6 +21771,18 @@
    githubId = 10631029;
    name = "Richard Ipsum";
  };
  richardjacton = {
    email = "richardjacton@richardjacton.net";
    github = "richardjacton";
    githubId = 6893043;
    name = "Richard J. Acton";
    matrix = "@richardjacton:matrix.org";
    keys = [
      {
        fingerprint = "5EE1 1764 8462 E5A3 610C  1964 8E5D EFCF C330 7916";
      }
    ];
  };
  richiejp = {
    email = "io@richiejp.com";
    github = "richiejp";
+73 −0
Original line number Diff line number Diff line
{
  lib,
  fetchFromGitHub,
  python3Packages,
  installShellFiles,
  versionCheckHook,
}:

python3Packages.buildPythonApplication rec {
  pname = "globus-cli";
  version = "3.36.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "globus";
    repo = "globus-cli";
    tag = version;
    hash = "sha256-Phu7nXMICSBFUX8wfzwA4ORBJIkhTDCMCqTyZvcG93c=";
  };

  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 ];
  };
}