Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 22.05 105 lines 2.7 kB view raw
1{ lib 2, python3 3, groff 4, less 5, fetchFromGitHub 6}: 7let 8 py = python3.override { 9 packageOverrides = self: super: { 10 awscrt = super.awscrt.overridePythonAttrs (oldAttrs: rec { 11 version = "0.13.5"; 12 src = self.fetchPypi { 13 inherit (oldAttrs) pname; 14 inherit version; 15 sha256 = "sha256-dUNljMKsbl6eByhEYivWgRJczTBw3N1RVl8r3e898mg="; 16 }; 17 }); 18 jmespath = super.jmespath.overridePythonAttrs (oldAttrs: rec { 19 version = "0.10.0"; 20 src = self.fetchPypi { 21 inherit (oldAttrs) pname; 22 inherit version; 23 sha256 = "sha256-uF0FZ7hmYUmpMXJxLmiSBzQzPAzn6Jt4s+mH9x5e1Pk="; 24 }; 25 }); 26 }; 27 }; 28 29in 30with py.pkgs; buildPythonApplication rec { 31 pname = "awscli2"; 32 version = "2.5.6"; # N.B: if you change this, check if overrides are still up-to-date 33 34 src = fetchFromGitHub { 35 owner = "aws"; 36 repo = "aws-cli"; 37 rev = version; 38 sha256 = "sha256-NANdm2RK4U5sXPuGbC8KUGXsbYl/WwAoUep4JxJA5lI="; 39 }; 40 41 propagatedBuildInputs = [ 42 awscrt 43 bcdoc 44 colorama 45 cryptography 46 distro 47 docutils 48 groff 49 less 50 prompt-toolkit 51 pyyaml 52 rsa 53 ruamel-yaml 54 wcwidth 55 python-dateutil 56 jmespath 57 urllib3 58 ]; 59 60 checkInputs = [ 61 jsonschema 62 mock 63 pytestCheckHook 64 pytest-xdist 65 ]; 66 67 postPatch = '' 68 substituteInPlace setup.cfg \ 69 --replace "colorama>=0.2.5,<0.4.4" "colorama" \ 70 --replace "docutils>=0.10,<0.16" "docutils" \ 71 --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \ 72 --replace "wcwidth<0.2.0" "wcwidth" \ 73 --replace "distro>=1.5.0,<1.6.0" "distro" 74 ''; 75 76 checkPhase = '' 77 export PATH=$PATH:$out/bin 78 79 # https://github.com/NixOS/nixpkgs/issues/16144#issuecomment-225422439 80 export HOME=$TMP 81 ''; 82 83 postInstall = '' 84 mkdir -p $out/${python3.sitePackages}/awscli/data 85 ${python3.interpreter} scripts/gen-ac-index --index-location $out/${python3.sitePackages}/awscli/data/ac.index 86 87 mkdir -p $out/share/bash-completion/completions 88 echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/aws 89 90 mkdir -p $out/share/zsh/site-functions 91 mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions 92 93 rm $out/bin/aws.cmd 94 ''; 95 96 passthru.python = py; # for aws_shell 97 98 meta = with lib; { 99 homepage = "https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html"; 100 changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst"; 101 description = "Unified tool to manage your AWS services"; 102 license = licenses.asl20; 103 maintainers = with maintainers; [ bhipple davegallant ]; 104 }; 105}