python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / virtualization / linode-cli / default.nix
blobe75541d5ee28c483429757d27bd5f4e347cbcca8
1 { lib
2 , fetchFromGitHub
3 , fetchurl
4 , buildPythonApplication
5 , colorclass
6 , installShellFiles
7 , pyyaml
8 , requests
9 , setuptools
10 , terminaltables
13 let
14   sha256 = "0lngwmb9j3nzwhkhq4r9sy82gwjry14lvjjgm8vfivbbakjdl7xp";
15   # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
16   specVersion = "4.139.0";
17   specSha256 = "1z050vm049gb8vynp34iz9jpxwbpmbf5vbs1jsirwqbfhr1skslz";
18   spec = fetchurl {
19     url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
20     sha256 = specSha256;
21   };
25 buildPythonApplication rec {
26   pname = "linode-cli";
27   version = "5.25.0";
29   src = fetchFromGitHub {
30     owner = "linode";
31     repo = pname;
32     rev = version;
33     inherit sha256;
34   };
36   patches = [
37     ./remove-update-check.patch
38   ];
40   # remove need for git history
41   prePatch = ''
42     substituteInPlace setup.py \
43       --replace "version=get_version()," "version='${version}',"
44   '';
46   propagatedBuildInputs = [
47     colorclass
48     pyyaml
49     requests
50     setuptools
51     terminaltables
52   ];
54   postConfigure = ''
55     python3 -m linodecli bake ${spec} --skip-config
56     cp data-3 linodecli/
57   '';
59   doInstallCheck = true;
60   installCheckPhase = ''
61     $out/bin/linode-cli --skip-config --version | grep ${version} > /dev/null
62   '';
64   nativeBuildInputs = [ installShellFiles ];
65   postInstall = ''
66     installShellCompletion --cmd linode-cli --bash <($out/bin/linode-cli --skip-config completion bash)
67   '';
69   passthru.updateScript = ./update.sh;
71   meta = with lib; {
72     description = "The Linode Command Line Interface";
73     homepage = "https://github.com/linode/linode-cli";
74     license = licenses.bsd3;
75     maintainers = with maintainers; [ ryantm ];
76   };