This commit is contained in:
Daniel Ziltener 2024-03-13 02:20:40 +01:00
parent 2d88a18d6f
commit 57a6b951a7
Signed by: zilti
GPG key ID: B38976E82C9DAE42

View file

@ -53,6 +53,190 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public python-wheel
(package
(name "python-wheel")
(version "0.43.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "wheel" version))
(sha256
(base32
"118x5y37152by7f8gvzwda441jd8b42w92ngs6i5sp7sd4ngjpj6"))))
(build-system pyproject-build-system)
(native-inputs
(list python-flit-core))
(home-page "https://github.com/pypa/wheel")
(synopsis "Format for built Python packages")
(description
"A wheel is a ZIP-format archive with a specially formatted filename and
the @code{.whl} extension. It is designed to contain all the files for a PEP
376 compatible install in a way that is very close to the on-disk format. Many
packages will be properly installed with only the @code{Unpack} step and the
unpacked archive preserves enough information to @code{Spread} (copy data and
scripts to their final locations) at any later time. Wheel files can be
installed with a newer @code{pip} or with wheel's own command line utility.")
(license license:expat)))
(define-public python-pypa-build-1
(package
(name "python-pypa-build")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "build" version))
(sha256
(base32
"0c9a7nalcyryxp85nf8sj2bpvnd6sgdchb5s6kkw5ami8nxnbslf"))))
(build-system pyproject-build-system)
(arguments
`(#:tests? #f)) ;to tests in the PyPI release
(native-inputs
(list python-flit-core))
(propagated-inputs
`(("python-pyproject-hooks" ,python-pyproject-hooks)
("python-packaging" ,python-packaging-bootstrap)))
(home-page "https://pypa-build.readthedocs.io/en/latest/")
(synopsis "Simple Python PEP 517 package builder")
(description "The @command{build} command invokes the PEP 517 hooks to
build a distribution package. It is a simple build tool and does not perform
any dependency management. It aims to keep dependencies to a minimum, in
order to make bootstrapping easier.")
(license license:expat)))
(define-public python-botocore
;; Note: When updating botocore, also make sure that boto3 and awscli
;; are compatible.
(package
(name "python-botocore")
(version "1.34.61")
(source
(origin
(method url-fetch)
(uri (pypi-uri "botocore" version))
(sha256
(base32
"0d3h7phvlbri3dqjkn6q9jzgg6xywis8rm42r192afg6wkvlmpvj"))))
(build-system pyproject-build-system)
(arguments
;; FIXME: Many tests are failing.
'(#:tests? #f))
(propagated-inputs
(list python-dateutil python-jmespath python-urllib3))
(home-page "https://github.com/boto/botocore")
(synopsis "Low-level interface to AWS")
(description "Botocore is a Python library that provides a low-level
interface to the Amazon Web Services (AWS) API.")
(license license:asl2.0)))
(define-public python-boto3
(package
(name "python-boto3")
(version "1.34.61")
(home-page "https://github.com/boto/boto3")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1nbq2rly56gia2z2zh57qwpafsj2w3258gz4k6z494bws0fb99nb"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-network-tests
;; Deleting integration tests because they are trying to connect to AWS.
(lambda _
(delete-file-recursively "tests/integration")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-v")))))))
(build-system pyproject-build-system)
(native-inputs
(list python-nose python-mock python-pytest))
(propagated-inputs
(list python-botocore python-jmespath python-s3transfer))
(synopsis "AWS SDK for Python")
(description
"Boto3 is a Python library for writing programs that interact with
@acronym{AWS,Amazon Web Services}.")
(license license:asl2.0)))
(define-public python-s3transfer
(package
(name "python-s3transfer")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "s3transfer" version))
(sha256
(base32
"0nsr664ci9bqysmiqrigv03kz5idjwxy4ibrwpjbpvnmfbvbpj6h"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check))))
(native-inputs
(list python-docutils python-mock python-nose))
(propagated-inputs
(list python-botocore python-urllib3))
(synopsis "Amazon S3 Transfer Manager")
(description "S3transfer is a Python library for managing Amazon S3
transfers.")
(home-page "https://github.com/boto/s3transfer")
(license license:asl2.0)))
(define-public awscli
(package
;; Note: updating awscli typically requires updating botocore as well.
(name "awscli")
(version "1.32.61")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"1xms4yd07i8869jk7kmd0p80fj7qnf18kip3kmxwalnqygpwsqfw"))))
(build-system pyproject-build-system)
(arguments
;; FIXME: The 'pypi' release does not contain tests.
'(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-recent-pyyaml
(lambda _
(substitute* '("awscli.egg-info/requires.txt"
"setup.cfg"
"setup.py")
(("<5.5") "<=6"))))
(add-after 'unpack 'fix-reference-to-groff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "awscli/help.py"
(("if not self._exists_on_path\\('groff'\\):") "")
(("raise ExecutableNotFoundError\\('groff'\\)") "")
(("cmdline = \\['groff'")
(string-append "cmdline = ['"
(search-input-file inputs "bin/groff")
"'"))))))))
(inputs
(list groff
python-colorama-for-awscli
python-botocore
python-s3transfer
python-docutils-0.15
python-pyyaml
python-rsa))
(home-page "https://aws.amazon.com/cli/")
(synopsis "Command line client for AWS")
(description "AWS CLI provides a unified command line interface to the
Amazon Web Services (AWS) API.")
(license license:asl2.0)))
(define-public python-ruamel-base (define-public python-ruamel-base
(package (package
(name "python-ruamel-base") (name "python-ruamel-base")
@ -157,7 +341,7 @@ Amazon Web Services (AWS) API.")
(sha256 (sha256
(base32 (base32
"0v9ndxih1i1s1ygp6c3p5krf7j2fxdy6fam36w7pijsk76wp0xdy")))) "0v9ndxih1i1s1ygp6c3p5krf7j2fxdy6fam36w7pijsk76wp0xdy"))))
(build-system gnu-build-system) (build-system pyproject-build-system)
(arguments (arguments
;; FIXME: The 'pypi' release does not contain tests. ;; FIXME: The 'pypi' release does not contain tests.
'(#:phases '(#:phases
@ -180,22 +364,27 @@ Amazon Web Services (AWS) API.")
(string-append "cmdline = ['" (string-append "cmdline = ['"
(search-input-file inputs "bin/groff") (search-input-file inputs "bin/groff")
"'")))))))) "'"))))))))
(native-inputs
(list python-pypa-build))
(inputs (inputs
(list groff (list groff
python-awscrt
python-wrapper python-wrapper
python-colorama-for-awscli python-awscrt
python-botocore python-botocore
python-colorama
python-cryptography
python-dateutil
python-distro python-distro
python-docutils
python-jmespath
python-flit-core python-flit-core
python-importlib-resources python-importlib-resources
python-executor python-executor
python-s3transfer python-s3transfer
python-docutils-0.15
python-prompt-toolkit python-prompt-toolkit
python-pyyaml
python-ruamel-yaml python-ruamel-yaml
python-ruamel-yaml-clib python-ruamel-yaml-clib))
python-rsa))
(home-page "https://aws.amazon.com/cli/") (home-page "https://aws.amazon.com/cli/")
(synopsis "Command line client for AWS") (synopsis "Command line client for AWS")
(description "AWS CLI provides a unified command line interface to the (description "AWS CLI provides a unified command line interface to the