diff options
Diffstat (limited to 'pkgs/by-name/aw/awscli2/package.nix')
-rw-r--r-- | pkgs/by-name/aw/awscli2/package.nix | 156 |
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"; }; } |