aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/tools/admin/awscli2/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/admin/awscli2/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli2/default.nix86
1 files changed, 86 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/admin/awscli2/default.nix b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
new file mode 100644
index 00000000000..471034fa51a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
@@ -0,0 +1,86 @@
+{ lib
+, python3
+, groff
+, less
+, fetchFromGitHub
+}:
+let
+ py = python3.override {
+ packageOverrides = self: super: {
+ botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
+ version = "2.0.0dev52";
+ src = fetchFromGitHub {
+ owner = "boto";
+ repo = "botocore";
+ rev = "f115f16d8130957776f232bbb7505ff6c4f18e8c";
+ hash = "sha256-wi9ezv6uIvCNFYJX6z0zQO7/VREhe1Sn/CakIgDRp1c=";
+ };
+ });
+ prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
+ version = "2.0.10";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "1nr990i4b04rnlw1ghd0xmgvvvhih698mb6lb6jylr76cs7zcnpi";
+ };
+ });
+ };
+ };
+
+in
+with py.pkgs; buildPythonApplication rec {
+ pname = "awscli2";
+ version = "2.0.48"; # N.B: if you change this, change botocore to a matching version too
+
+ src = fetchFromGitHub {
+ owner = "aws";
+ repo = "aws-cli";
+ rev = version;
+ hash = "sha256-83EKaKv3ZKOD2hzdsJO7/djbzr4V8LpHxqBl9HFhk1U=";
+ };
+
+ postPatch = ''
+ substituteInPlace setup.py --replace "cryptography>=2.8.0,<=2.9.0" "cryptography>=2.8.0"
+ substituteInPlace setup.py --replace "docutils>=0.10,<0.16" "docutils>=0.10"
+ substituteInPlace setup.py --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml>=0.15.0"
+ substituteInPlace setup.py --replace "wcwidth<0.2.0" "wcwidth"
+ '';
+
+ # No tests included
+ doCheck = false;
+
+ propagatedBuildInputs = [
+ bcdoc
+ botocore
+ colorama
+ cryptography
+ distro
+ docutils
+ groff
+ less
+ prompt_toolkit
+ pyyaml
+ rsa
+ ruamel_yaml
+ s3transfer
+ six
+ wcwidth
+ ];
+
+ postInstall = ''
+ mkdir -p $out/etc/bash_completion.d
+ echo "complete -C $out/bin/aws_completer aws" > $out/etc/bash_completion.d/awscli
+ mkdir -p $out/share/zsh/site-functions
+ mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
+ rm $out/bin/aws.cmd
+ '';
+
+ passthru.python = py; # for aws_shell
+
+ meta = with lib; {
+ homepage = "https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html";
+ changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst";
+ description = "Unified tool to manage your AWS services";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ bhipple davegallant ];
+ };
+}