about summary refs log tree commit diff
path: root/pkgs/by-name/aw/awscli2/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/aw/awscli2/package.nix')
-rw-r--r--pkgs/by-name/aw/awscli2/package.nix156
1 files changed, 84 insertions, 72 deletions
diff --git a/pkgs/by-name/aw/awscli2/package.nix b/pkgs/by-name/aw/awscli2/package.nix
index 224f5a327ff4..e669d112a340 100644
--- a/pkgs/by-name/aw/awscli2/package.nix
+++ b/pkgs/by-name/aw/awscli2/package.nix
@@ -1,86 +1,81 @@
-{ lib
-, stdenv
-, python3
-, groff
-, less
-, fetchFromGitHub
-, fetchpatch
-, installShellFiles
-, nix-update-script
-, testers
-, awscli2
+{
+  lib,
+  stdenv,
+  python3,
+  groff,
+  less,
+  fetchFromGitHub,
+  fetchpatch,
+  installShellFiles,
+  nix-update-script,
+  testers,
+  awscli2,
 }:
 
 let
   py = python3 // {
-    pkgs = python3.pkgs.overrideScope (final: prev: {
-      sphinx = prev.sphinx.overridePythonAttrs (prev: {
-        disabledTests = prev.disabledTests ++ [
-          "test_check_link_response_only" # fails on hydra https://hydra.nixos.org/build/242624087/nixlog/1
-        ];
-      });
-      python-dateutil = prev.python-dateutil.overridePythonAttrs (prev: {
-        version = "2.8.2";
-        pyproject = null;
-        src = prev.src.override {
+    pkgs = python3.pkgs.overrideScope (
+      final: prev: {
+        sphinx = prev.sphinx.overridePythonAttrs (prev: {
+          disabledTests = prev.disabledTests ++ [
+            "test_check_link_response_only" # fails on hydra https://hydra.nixos.org/build/242624087/nixlog/1
+          ];
+        });
+        python-dateutil = prev.python-dateutil.overridePythonAttrs (prev: {
           version = "2.8.2";
-          hash = "sha256-ASPKzBYnrhnd88J6XeW9Z+5FhvvdZEDZdI+Ku0g9PoY=";
-        };
-        patches = [
-          # https://github.com/dateutil/dateutil/pull/1285
-          (fetchpatch {
-            url = "https://github.com/dateutil/dateutil/commit/f2293200747fb03d56c6c5997bfebeabe703576f.patch";
-            relative = "src";
-            hash = "sha256-BVEFGV/WGUz9H/8q+l62jnyN9VDnoSR71DdL+LIkb0o=";
-          })
-        ];
-        postPatch = null;
-      });
-      ruamel-yaml = prev.ruamel-yaml.overridePythonAttrs (prev: {
-        src = prev.src.override {
-          version = "0.17.21";
-          hash = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68=";
-        };
-      });
-      urllib3 = prev.urllib3.overridePythonAttrs (prev: rec {
-        pyproject = true;
-        version = "1.26.18";
-        nativeBuildInputs = with final; [
-          setuptools
-        ];
-        src = prev.src.override {
-          inherit version;
-          hash = "sha256-+OzBu6VmdBNFfFKauVW/jGe0XbeZ0VkGYmFxnjKFgKA=";
-        };
-      });
-    });
+          pyproject = null;
+          src = prev.src.override {
+            version = "2.8.2";
+            hash = "sha256-ASPKzBYnrhnd88J6XeW9Z+5FhvvdZEDZdI+Ku0g9PoY=";
+          };
+          patches = [
+            # https://github.com/dateutil/dateutil/pull/1285
+            (fetchpatch {
+              url = "https://github.com/dateutil/dateutil/commit/f2293200747fb03d56c6c5997bfebeabe703576f.patch";
+              relative = "src";
+              hash = "sha256-BVEFGV/WGUz9H/8q+l62jnyN9VDnoSR71DdL+LIkb0o=";
+            })
+          ];
+          postPatch = null;
+        });
+        ruamel-yaml = prev.ruamel-yaml.overridePythonAttrs (prev: {
+          src = prev.src.override {
+            version = "0.17.21";
+            hash = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68=";
+          };
+        });
+        urllib3 = prev.urllib3.overridePythonAttrs (prev: rec {
+          pyproject = true;
+          version = "1.26.18";
+          nativeBuildInputs = with final; [
+            setuptools
+          ];
+          src = prev.src.override {
+            inherit version;
+            hash = "sha256-+OzBu6VmdBNFfFKauVW/jGe0XbeZ0VkGYmFxnjKFgKA=";
+          };
+        });
+      }
+    );
   };
 
 in
 py.pkgs.buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.17.42"; # N.B: if you change this, check if overrides are still up-to-date
+  version = "2.19.0"; # N.B: if you change this, check if overrides are still up-to-date
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = "refs/tags/${version}";
-    hash = "sha256-f6S206MQy0qyHIJTIKSHBKT+P0dVCiUn5pMp2tClSb0=";
+    hash = "sha256-kHJXdqGRVA4C3EB1T9gQYoM6M8E/UYTTma1RqLZqH58=";
   };
 
-  patches = [
-    # Temporary test fix until https://github.com/aws/aws-cli/pull/8838 is merged upstream
-    (fetchpatch {
-      url = "https://github.com/aws/aws-cli/commit/b5f19fe136ab0752cd5fcab21ff0ab59bddbea99.patch";
-      hash = "sha256-NM+nVlpxGAHVimrlV0m30d4rkFVb11tiH8Y6//2QhMI=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace-fail 'awscrt>=0.19.18,<=0.21.2' 'awscrt>=0.19.18' \
-      --replace-fail 'cryptography>=3.3.2,<40.0.2' 'cryptography>=3.3.2' \
+      --replace-fail 'awscrt>=0.19.18,<=0.22.0' 'awscrt>=0.22.0' \
+      --replace-fail 'cryptography>=40.0.0,<43.0.2' 'cryptography>=43.0.0' \
       --replace-fail 'distro>=1.5.0,<1.9.0' 'distro>=1.5.0' \
       --replace-fail 'docutils>=0.10,<0.20' 'docutils>=0.10' \
       --replace-fail 'prompt-toolkit>=3.0.24,<3.0.39' 'prompt-toolkit>=3.0.24'
@@ -129,19 +124,27 @@ py.pkgs.buildPythonApplication rec {
     pytestCheckHook
   ];
 
-  postInstall = ''
-    installShellCompletion --cmd aws \
-      --bash <(echo "complete -C $out/bin/aws_completer aws") \
-      --zsh $out/bin/aws_zsh_completer.sh
-  '' + lib.optionalString (!stdenv.hostPlatform.isWindows) ''
-    rm $out/bin/aws.cmd
-  '';
+  postInstall =
+    ''
+      installShellCompletion --cmd aws \
+        --bash <(echo "complete -C $out/bin/aws_completer aws") \
+        --zsh $out/bin/aws_zsh_completer.sh
+    ''
+    + lib.optionalString (!stdenv.hostPlatform.isWindows) ''
+      rm $out/bin/aws.cmd
+    '';
 
   preCheck = ''
     export PATH=$PATH:$out/bin
     export HOME=$(mktemp -d)
   '';
 
+  # Propagating dependencies leaks them through $PYTHONPATH which causes issues
+  # when used in nix-shell.
+  postFixup = ''
+    rm $out/nix-support/propagated-build-inputs
+  '';
+
   pytestFlagsArray = [
     "-Wignore::DeprecationWarning"
   ];
@@ -166,7 +169,10 @@ py.pkgs.buildPythonApplication rec {
     python = py; # for aws_shell
     updateScript = nix-update-script {
       # Excludes 1.x versions from the Github tags list
-      extraArgs = [ "--version-regex" "^(2\.(.*))" ];
+      extraArgs = [
+        "--version-regex"
+        "^(2\.(.*))"
+      ];
     };
     tests.version = testers.testVersion {
       package = awscli2;
@@ -180,7 +186,13 @@ py.pkgs.buildPythonApplication rec {
     homepage = "https://aws.amazon.com/cli/";
     changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
-    maintainers = with maintainers; [ bhipple davegallant bryanasdev000 devusb anthonyroussel ];
+    maintainers = with maintainers; [
+      bhipple
+      davegallant
+      bryanasdev000
+      devusb
+      anthonyroussel
+    ];
     mainProgram = "aws";
   };
 }