Compare commits

..

3 Commits

Author SHA1 Message Date
183b2c0e59
rekahsoft-gnu: Remove old awscliv2 dependencies
* rekahsoft-gnu/packages/python-xyz.scm: Removed variables:
  - python-prompt-toolkit-3.0.28
  - python-ruamel.yaml-0.17
  - python-ruamel.yaml.clib-0.2.6
  - python-jmespath-0.10
  - python-distro-1.5
  - python-awscrt
  - python-awscrt-0.19.18
  - python-botocore-2.0.0dev155
2024-11-18 21:15:51 -05:00
e361a06790
rekahsoft-gnu: Remove awscliv2 (now available upstream) 2024-11-18 21:15:37 -05:00
38b6d29c1f
rekahsoft-gnu: Remove python-ujson 2024-11-18 21:14:12 -05:00

View File

@ -186,302 +186,6 @@
(description "Python Development Workflow for Humans.")
(license license:expat)))
;; TODO: Candidate for upstream; upstream has version 4.0.2;
(define-public python-ujson
(package
(name "python-ujson")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "ujson" version))
(sha256
(base32
"18z9gb9ggy1r464b9q1gqs078mqgrkj6dys5a47529rqk3yfybdx"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "deps") #t))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'link-to-system-double-conversion
(lambda* (#:key inputs #:allow-other-keys)
(let ((d-c (assoc-ref inputs "double-conversion")))
(substitute* "setup.py"
(("./deps/double-conversion/double-conversion\"")
(string-append d-c "/include/double-conversion\""))
(("-lstdc++" stdc)
(string-append "-L"
d-c
"/lib\","
" \"-ldouble-conversion\","
" \""
stdc))) #t)))
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest"))))))
(native-inputs `(("double-conversion" ,double-conversion)
("python-setuptools-scm" ,python-setuptools-scm)
("python-pytest" ,python-pytest)))
(home-page "https://github.com/ultrajson/ultrajson")
(synopsis "Ultra fast JSON encoder and decoder for Python")
(description
"UltraJSON is an ultra fast JSON encoder and decoder written in pure C with
bindings for Python 3.")
(license license:bsd-3)))
;; python-prompt-toolkit-2 was removed upstream from guix's channel; added here as awscliv2 depends on it
;; awscliv2 depends on 'prompt-toolkit<3.0.29,>=3.0.24', however upstream 3.0.29 is packaged
(define-public python-prompt-toolkit-3.0.28
(package/inherit python-prompt-toolkit
(name "python-prompt-toolkit")
(version "3.0.28")
(source (origin
(method url-fetch)
(uri (pypi-uri "prompt_toolkit" version))
(sha256 (base32
"0l0nnm9fvs8lklk2qq8mylb9jrlxvlqzpmqr4n7rdhl63rmx274z"))))))
(define-public python-ruamel.yaml-0.17
(package
(name "python-ruamel.yaml")
(version "0.17.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ruamel.yaml" version))
(sha256
(base32
"1bxp4dfkzzsndf9f8fspr4jc85nwf5243b616lm7a4pjlabycz4b"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(arguments
`(;; TODO: Tests require packaging "ruamel.std.pathlib".
#:tests? #f
#:phases (modify-phases %standard-phases
;; sanity-check depends on python-ruamel.yaml
(delete 'sanity-check))))
(home-page "https://bitbucket.org/ruamel/yaml")
(synopsis "YAML 1.2 parser/emitter")
(description
"This package provides YAML parser/emitter that supports roundtrip
preservation of comments, seq/map flow style, and map key order. It
is a derivative of Kirill Simonovs PyYAML 3.11. It supports YAML 1.2
and has round-trip loaders and dumpers. It supports comments. Block
style and key ordering are kept, so you can diff the source.")
(license license:expat)))
(define-public python-ruamel.yaml.clib-0.2.6
(package
(name "python-ruamel.yaml.clib")
(version "0.2.6")
(source
(origin
;; pypi release code has cythonized code without corresponding source.
(method hg-fetch)
(uri (hg-reference
(url "http://hg.code.sf.net/p/ruamel-yaml-clib/code")
(changeset version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"05m3y7pjfbaarqbbgw1k6gs6cnnmxnwadjipxvw1aaaqk3s236cs"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file "_ruamel_yaml.c")))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; This package is split from python-ruamel.yaml and
; depends on modules from it for the test suite.
#:phases
(modify-phases %standard-phases
(delete 'sanity-check) ; Depends on python-ruamel.yaml
(add-after 'unpack 'cythonize-code
(lambda _
(invoke "cython" "_ruamel_yaml.pyx"))))))
(native-inputs
`(("python-cython" ,python-cython)))
(home-page "https://sourceforge.net/p/ruamel-yaml-clib/code/ci/default/tree")
(synopsis "C version of reader, parser and emitter for ruamel.yaml")
(description
"This package provides a C version of the reader, parser and emitter for
@code{ruamel.yaml} derived from libyaml.")
(license license:expat)))
;; awscliv2 is a little bit of a packaging mess. They vendor multiple modified
;; forks of software also maintained by the same company. Namely:
;;
;; - botocore@2.0.0dev155 and some of its dependencies:
;; - python-six@1.10.0
;; - Fragments (exceptions only) were extracted from:
;; - requests
;; - urllib3
;; - s3transfer@0.5.1
;;
;; botocore@2.0.0dev155 is incompatable with the same upstream version. For example:
;; https://github.com/aws/aws-cli/blob/2.15.4/awscli/botocore/httpchecksum.py
;; does not exist upstream (see: https://github.com/boto/botocore/tree/7083e5c204e139dc41f646e0ad85286b5e7c0c23/botocore)
(define-public awscliv2
(package
(name "awscliv2")
(version "2.15.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-cli")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"02lq4zxnksx1ab8lyzbyl1lay884xbrxp77rbhn5mrfib9mqmvs0"))))
(native-inputs (list python-distro-1.5
python-docutils-0.15
python-awscrt-0.19.18
python-flit-core
python-prompt-toolkit-3.0.28
python-ruamel.yaml-0.17
python-ruamel.yaml.clib-0.2.6
python-cryptography
python-botocore-2.0.0dev155))
(inputs
(list groff
python-colorama-for-awscli
python-docutils-0.15
python-pyyaml
python-rsa))
(build-system pyproject-build-system)
(arguments
`(#:build-backend "backends.pep517"
#:phases (modify-phases %standard-phases
(add-after 'unpack 'use-cryptography-v41
(lambda _
(substitute* '("pyproject.toml")
(("cryptography>=3.3.2,<40.0.2") "cryptography>=3.3.2"))))
(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")
"'")))))
(add-after 'install 'install-completions
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bash-completion (string-append out
"/share/bash-completion/completions"))
(zsh-site-functions (string-append out
"/share/zsh/site-functions")))
(mkdir-p bash-completion)
(call-with-output-file (string-append bash-completion
"/aws")
(lambda (port)
(format port
(string-join (list "complete" "-C"
(string-append out
"/bin/aws_completer")
"aws")))))
(mkdir-p zsh-site-functions)
(rename-file (string-append out
"/bin/aws_zsh_completer.sh")
(string-append zsh-site-functions "/_aws"))
#t))))
;; FIXME: Tests currently fail
#:tests? #f))
(home-page "https://aws.amazon.com/cli/")
(synopsis "Command line client for AWS v2")
(description "AWS CLI provides a unified command line interface to the
Amazon Web Services (AWS) API.")
(license license:asl2.0)))
(define-public python-jmespath-0.10
(package
(inherit python-jmespath)
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "jmespath" version))
(sha256
(base32
"1yflbqggg1z9ndw9ps771hy36d07j9l2wwbj66lljqb6p1khapdq"))))))
(define-public python-distro-1.5
(package
(inherit python-distro)
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "distro" version))
(sha256
(base32
"14nz51cqlnxmgfqqilxyvjwwa5xfivdvlm0d0b1qzgcgwdm7an0f"))))))
(define-public python-awscrt
(package
(name "python-awscrt")
(version "0.12.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "awscrt" version))
(sha256
(base32
"1cmfkcv2zzirxsb989vx1hvna9nv24pghcvypl0zaxsjphv97mka"))))
(build-system python-build-system)
(arguments
'(#:tests? #f))
(native-inputs `(,cmake ,gcc-toolchain-10))
; (propagated-inputs `(("python-boto3" ,python-boto3)))
(home-page "https://github.com/awslabs/aws-crt-python")
(synopsis "Common runtime for AWS Python projects")
(description "Common runtime for AWS Python projects")
(license license:asl2.0)))
(define-public python-awscrt-0.19.18
(package
(name "python-awscrt")
(version "0.19.18")
(source (origin
(method url-fetch)
(uri (pypi-uri "awscrt" version))
(sha256
(base32
"17f8j3n9zsywad48pnq1mz6r9i9y7jdcaliy7zm85q5yivynw2rm"))))
(build-system pyproject-build-system)
(arguments
'(#:tests? #f))
(native-inputs `(,cmake))
; (propagated-inputs `(("python-boto3" ,python-boto3)))
(home-page "https://github.com/awslabs/aws-crt-python")
(synopsis "Common runtime for AWS Python projects")
(description "Common runtime for AWS Python projects")
(license license:asl2.0)))
(define-public python-botocore-2.0.0dev155
(let ((commit "7083e5c204e139dc41f646e0ad85286b5e7c0c23")
(revision "2"))
(package
(inherit python-botocore)
(name "python-botocore")
(version "2.0.0dev155")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/boto/botocore")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lr98h80fgs6kplv52y92pcf1ba4041zq26wdfsfjkg84py9q83a"))))
(propagated-inputs `(("python-awscrt" ,python-awscrt)
("python-jmespath" ,python-jmespath-0.10)
("python-urllib3" ,python-urllib3)
("python-dateutil" ,python-dateutil)
,@(package-propagated-inputs python-awscrt))))))
(define-public python-htmlark
(package
(name "python-htmlark")