~ruther/guix-local

efed60864ebb199169896c39bfa2a1de745c162c — Sharlatan Hellseher 4 months ago 3ce758f
gnu: awscli-2: Update to 2.28.0.

botocore was absorbed into aws-cli code base in v2.3.0.
cryptography was replaced by awscrt functionality in v2.25.9.

See generated change logs in project's ".changes" directory for more
details.

* gnu/packages/python-web.scm (awscli-2): Update to 2.28.0.
[arguments] <test-flags>: Rework ignored test files and skipped tests by
limiting them just to unit tests. When running in parallel limit up to 8
thread to prevent host system exhaustion.
<phases>: Use default 'check; add 'pre-check.
[inputs]: Remove python-awscrt-for-awscli, python-botocore,
python-cryptography, python-jsonschema, and python-ruamel.yaml-0.16;
add python-awscrt, python-distro, and python-ruamel.yaml.
[native-inputs]: Remove python-distro, python-flit, and python-wheel; add
python-flit-core.

Fixes: guix/guix#3379
Change-Id: I87658587e907330c3ff9c45402235119256de134
1 files changed, 29 insertions(+), 38 deletions(-)

M gnu/packages/python-web.scm
M gnu/packages/python-web.scm => gnu/packages/python-web.scm +29 -38
@@ 6446,8 6446,11 @@ Services (AWS) API.")
(define-public awscli-2
  (package
    (inherit awscli)
    ;; Note: updating awscli-2 typically requires updating python-awscrt.
    (name "awscli")
    (version "2.20.0")
    ;; Upstream practices a very rapid (1h-1d) release cycles try to select
    ;; any fresh one compatible with current state of dependencies in Guix.
    (version "2.28.0")
    (source
     (origin
       (method git-fetch)


@@ 6457,24 6460,30 @@ Services (AWS) API.")
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0hyr9gmcfk7nzkgs0v6wgkh8k15dyhknqzfymbc9a9sa2dblc40q"))))
         "1a1jzvdm434x46yh7ir11lw0nzc64ns4qvxhp5wfra3rh5ykf36j"))))
    (build-system pyproject-build-system)
    (arguments
     (list
      ;; When updating and checking locally be very patient as build phase may
      ;; hang for 6-8 minutes but eventually passes through.
      ;;
      ;; tests: 4189 passed, 1 skipped, 2 warnings
      #:test-flags
      '(list ;; This version of prompt-toolkit has issues with awscli-2, see
             ;; <https://github.com/aws/aws-cli/issues/9453#issuecomment-2822186530>.
             "--ignore=functional/autoprompt/test_prompttoolkit.py"
             ;; The resource leak tests use ps to check for memory consumption.
             "--ignore=functional/botocore/leak/test_resource_leaks.py"
             ;; These tests complain about unavailable TLS certs.
             "--ignore=functional/ec2instanceconnect/test_opentunnel.py"
             ;; These seem to require Internet access.
             "--ignore=unit/botocore/test_awsrequest.py"
      '(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
             ;; Full test suite contains more than 70k tests; ignore network
             ;; dependent, slow and compute intense tests, keep just unit
             ;; tests.
             "--ignore=tests/backends"
             "--ignore=tests/dependencies"
             "--ignore=tests/functional"
             "--ignore=tests/integration"
             "--ignore=tests/unit/botocore"
             ;; Flaky, something to do with PATH disappearing from os.environ?
             ;; Passes when run on its own, so maybe something else is
             ;; modifying this during the test run.
             "--ignore=unit/customizations/emr/test_emr_utils.py")
             "--ignore=tests/unit/customizations/emr/test_emr_utils.py"
             ;; TypeError: 'Mock' object is not subscriptable
             "-k" "not test_no_groff_or_mandoc_exists")
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'unpack 'ignore-deprecations


@@ 6489,44 6498,26 @@ Services (AWS) API.")
                 (string-append "cmdline = ['"
                                (search-input-file inputs "bin/groff")
                                "'")))))
          (replace 'check
            (lambda* (#:key tests? test-flags #:allow-other-keys)
              (when tests?
                (let ((skip-args
                       (string-append
                        "-k" "\""
                        ;; No idea why this fails.
                        "not test_no_groff_or_mandoc_exists"
                        ;; Needs $HOME
                        " and not test_attach_history_handler"
                        ;; Complains about TLS certs.
                        " and not test_command_returns_shutdown_exception"
                        "\"")))
                  (substitute* "scripts/ci/run-tests"
                    (("--numprocesses=auto" m)
                     (string-join (cons* m skip-args test-flags) " "))))
                (invoke "python" "scripts/ci/run-tests")))))))
          (add-before 'check 'pre-check
            (lambda _ (setenv "HOME" "/tmp"))))))
    (inputs
     (list groff
           ;; less
           nss-certs-for-test
           python-awscrt-for-awscli
           python-awscrt
           python-colorama
           python-botocore
           python-cryptography
           python-dateutil
           python-distro
           python-docutils
           python-jmespath
           python-jsonschema
           python-prompt-toolkit
           python-ruamel.yaml-0.16
           python-ruamel.yaml
           python-ruamel.yaml.clib
           python-urllib3))
    (native-inputs
     (list python-distro
           python-flit
     (list python-flit-core
           python-pytest
           python-pytest-xdist
           python-wheel))))
           python-pytest-xdist))))

;; This is not an official release of awscli version 2, so it should not be
;; named awscli.