nixpkgs-suyu/pkgs/tools/admin/awscli/default.nix
Vladimír Čunát 8680e00318
awscli: drop override for colorama version
The overridden version wouldn't build anymore,
probably after update of the base colorama.
The PR in comment is included our current awscli version,
but we updated colorama past version allowed there already.
2022-10-30 15:44:32 +01:00

90 lines
2.1 KiB
Nix

{ lib
, python3
, fetchFromGitHub
, groff
, less
}:
let
py = python3.override {
packageOverrides = self: super: {
pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
version = "5.4.1";
src = fetchFromGitHub {
owner = "yaml";
repo = "pyyaml";
rev = version;
hash = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
};
checkPhase = ''
runHook preCheck
PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
runHook postCheck
'';
});
};
self = py;
};
in
with py.pkgs; buildPythonApplication rec {
pname = "awscli";
version = "1.25.76"; # N.B: if you change this, change botocore and boto3 to a matching version too
src = fetchPypi {
inherit pname version;
hash = "sha256-PSr0zZEGXFxcFSN7QQ5Ux0Z4aCwwm9na+2hIv/gR6+s=";
};
# https://github.com/aws/aws-cli/issues/4837
postPatch = ''
substituteInPlace setup.py \
--replace "docutils>=0.10,<0.17" "docutils>=0.10" \
--replace "colorama>=0.2.5,<0.4.5" "colorama>=0.2.5,<0.5" \
--replace "rsa>=3.1.2,<4.8" "rsa<5,>=3.1.2"
'';
propagatedBuildInputs = [
botocore
bcdoc
s3transfer
six
colorama
docutils
rsa
pyyaml
groff
less
];
postInstall = ''
mkdir -p $out/share/bash-completion/completions
echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/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
};
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/aws --version | grep "${py.pkgs.botocore.version}"
$out/bin/aws --version | grep "${version}"
runHook postInstallCheck
'';
meta = with lib; {
homepage = "https://aws.amazon.com/cli/";
description = "Unified tool to manage your AWS services";
license = licenses.asl20;
mainProgram = "aws";
maintainers = with maintainers; [ ];
};
}