about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix79
1 files changed, 42 insertions, 37 deletions
diff --git a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
index 696b0b822e51..01b05b5481f5 100644
--- a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3, fetchPypi, glibcLocales, docker-compose_1 }:
+{ lib, python3, fetchFromGitHub, glibcLocales, docker-compose_1, git }:
 let
   docker_compose = changeVersion (with localPython.pkgs; docker-compose_1.override {
     inherit colorama pyyaml six dockerpty docker jsonschema requests websocket-client paramiko;
@@ -18,56 +18,29 @@ let
         cement = changeVersion super.cement.overridePythonAttrs "2.8.2" "sha256-h2XtBSwGHXTk0Bia3cM9Jo3lRMohmyWdeXdB9yXkItI=";
         wcwidth = changeVersion super.wcwidth.overridePythonAttrs "0.1.9" "sha256-7nOGKGKhVr93/5KwkDT8SCXdOvnPgbxbNgZo1CXzxfE=";
         semantic-version = changeVersion super.semantic-version.overridePythonAttrs "2.8.5" "sha256-0sst4FWHYpNGebmhBOguynr0SMn0l00fPuzP9lHfilQ=";
-        pyyaml = super.pyyaml.overridePythonAttrs rec {
-          version = "5.4.1";
-          checkPhase = ''
-            runHook preCheck
-            PYTHONPATH="tests/lib3:$PYTHONPATH" ${localPython.interpreter} -m test_all
-            runHook postCheck
-          '';
-          src = fetchPypi {
-            pname = "PyYAML";
-            inherit version;
-            hash = "sha256-YHd0y7oocyv6gCtUuqdIQhX1MJkQVbtWLvvtWy8gpF4=";
-          };
-        };
       };
     };
 in
 with localPython.pkgs; buildPythonApplication rec {
   pname = "awsebcli";
   version = "3.20.7";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-hnLWqc4UzUnvz4wmKZ8JcEWUMPmh2BdQS1IAyxC+yb4=";
+  src = fetchFromGitHub {
+    owner = "aws";
+    repo = "aws-elastic-beanstalk-cli";
+    rev = "refs/tags/${version}";
+    hash = "sha256-DxjoEkFnY4aSfxVKPpnJLmnjLtZnlM74XXd0K8mcdoY=";
   };
 
-
-  preConfigure = ''
-    substituteInPlace requirements.txt \
-      --replace "six>=1.11.0,<1.15.0" "six==1.16.0" \
-      --replace "pathspec==0.10.1" "pathspec>=0.10.0,<1" \
-      --replace "colorama>=0.2.5,<0.4.4" "colorama>=0.2.5,<=0.4.6" \
-      --replace "termcolor == 1.1.0" "termcolor>=2.0.0,<3"
-  '';
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
 
   buildInputs = [
     glibcLocales
   ];
 
-  nativeCheckInputs = [
-    pytest
-    mock
-    nose
-    pathspec
-    colorama
-    requests
-    docutils
-  ];
-
-  doCheck = true;
-
   propagatedBuildInputs = [
     blessed
     botocore
@@ -85,6 +58,38 @@ with localPython.pkgs; buildPythonApplication rec {
     docker_compose
   ];
 
+  pythonRelaxDeps = [
+    "botocore"
+    "colorama"
+    "pathspec"
+    "PyYAML"
+    "six"
+    "termcolor"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-socket
+    mock
+    git
+  ];
+
+  pytestFlagsArray = [
+    "tests/unit"
+  ];
+
+  disabledTests = [
+    # Needs docker installed to run.
+    "test_local_run"
+    "test_local_run__with_arguments"
+
+    # Needs access to the user's ~/.ssh directory.
+    "test_generate_and_upload_keypair__exit_code_0"
+    "test_generate_and_upload_keypair__exit_code_1"
+    "test_generate_and_upload_keypair__exit_code_is_other_than_1_and_0"
+    "test_generate_and_upload_keypair__ssh_keygen_not_present"
+  ];
+
   meta = with lib; {
     homepage = "https://aws.amazon.com/elasticbeanstalk/";
     description = "A command line interface for Elastic Beanstalk";