about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix31
1 files changed, 15 insertions, 16 deletions
diff --git a/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix b/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
index 47953d21dfe0..155daf41a7f2 100644
--- a/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
@@ -1,43 +1,35 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
-, fetchpatch
 , fetchurl
 , terminaltables
 , colorclass
 , requests
 , pyyaml
 , setuptools
+, installShellFiles
 }:
 
 let
 
   spec = fetchurl {
-    url = "https://raw.githubusercontent.com/linode/linode-api-docs/v4.67.0/openapi.yaml";
-    sha256 = "0vsblprkqlr9508x5rkm0wj6lc3w72xiwiqxia9asgr5k45hhfnr";
+    url = "https://raw.githubusercontent.com/linode/linode-api-docs/v4.89.0/openapi.yaml";
+    sha256 = "sha256-R7Dmq8ifGEjh47ftuoGrbymYBsPCj/ULz0j1OqJDcwY=";
   };
 
 in
 
 buildPythonApplication rec {
   pname = "linode-cli";
-  version = "2.15.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linode";
     repo = pname;
     rev = version;
-    sha256 = "06iz9xjj6h1ry176558488fl9j18a5vf724zh4cxlcksdy72dnna";
+    sha256 = "sha256-zelopRaHaDCnbYA/y7dNMBh70g0+wuc6t9LH/VLaUIk=";
   };
 
-  patches = [
-    # make enum34 depend on python version
-    ( fetchpatch {
-        url = "https://github.com/linode/linode-cli/pull/184/commits/4cf55759c5da33fbc49b9ba664698875d67d4f76.patch";
-        sha256 = "04n9a6yh0abyyymvfzajhav6qxwvzjl2vs8jnqp3yqrma7kl0slj";
-    })
-  ];
-
   # remove need for git history
   prePatch = ''
     substituteInPlace setup.py \
@@ -57,14 +49,21 @@ buildPythonApplication rec {
     cp data-3 linodecli/
   '';
 
-  # requires linode access token for unit tests, and running executable
-  doCheck = false;
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/linode-cli --skip-config --version | grep ${version} > /dev/null
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = ''
+    installShellCompletion --cmd linode-cli --bash <($out/bin/linode-cli --skip-config completion bash)
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/linode/linode-cli";
     description = "The Linode Command Line Interface";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ryantm ];
+    maintainers = with maintainers; [ ryantm superherointj ];
   };
 
 }