Collin J. Doering
f8004fc1d2
- Remove python-cryptography@3.3.2 for awscliv2 and instead use upstream guix package
412 lines
14 KiB
Scheme
412 lines
14 KiB
Scheme
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
|
|
;;;
|
|
;;; This file is part of the GNU Guix channel rekahsoft-guix
|
|
;;;
|
|
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
|
|
;;; redistribute it and/or modify it under the terms of the GNU General Public
|
|
;;; License as published by the Free Software Foundation; either version 3 of
|
|
;;; the License, or (at your option) any later version.
|
|
;;;
|
|
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
|
|
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License along
|
|
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
|
|
;;; <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (rekahsoft-gnu packages python-xyz)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages check)
|
|
#:use-module (gnu packages cmake)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages maths)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages python-crypto)
|
|
#:use-module (gnu packages python-web)
|
|
#:use-module (gnu packages python-xyz)
|
|
#:use-module (gnu packages serialization)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix git-download)
|
|
#:use-module (guix build-system python)
|
|
#:use-module (srfi srfi-1))
|
|
|
|
;; TODO: Candidate for upstream
|
|
(define-public python-virtualenv-clone
|
|
(package
|
|
(name "python-virtualenv-clone")
|
|
(version "0.5.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "virtualenv-clone" version))
|
|
(sha256
|
|
(base32
|
|
"06jhhf8hndcgyk9k3bjbk3vz1xpajfxj9667agqzhlk1qcsyk3j1"))))
|
|
(build-system python-build-system)
|
|
;; (native-inputs
|
|
;; `(("python-pytest" ,python-pytest)
|
|
;; ("python-tox" ,python-tox)
|
|
;; ("python-virtualenv" ,python-virtualenv)))
|
|
(arguments
|
|
;; FIXME: Tests currently fail
|
|
`(#:tests? #f))
|
|
(home-page
|
|
"https://github.com/edwardgeorge/virtualenv-clone")
|
|
(synopsis "Script to clone virtualenvs.")
|
|
(description "Script to clone virtualenvs.")
|
|
(license license:expat)))
|
|
|
|
;; TODO: Candidate for upstream
|
|
(define-public python-arpeggio
|
|
(package
|
|
(name "python-arpeggio")
|
|
(version "1.9.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Arpeggio" version))
|
|
(sha256
|
|
(base32
|
|
"0aq2pmhfyq7vhbhyq8jgxiphncy1s79rmrsggz4p52m4cdhy134l"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-pytest-runner" ,python-pytest-runner)))
|
|
(arguments
|
|
;; FIXME: Tests currently fail
|
|
`(#:tests? #f))
|
|
(home-page
|
|
"https://github.com/textX/Arpeggio")
|
|
(synopsis "Packrat parser interpreter")
|
|
(description "Packrat parser interpreter")
|
|
(license license:expat)))
|
|
|
|
;; TODO: Candidate for upstream
|
|
(define-public python-ordereddict
|
|
(package
|
|
(name "python-ordereddict")
|
|
(version "1.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ordereddict" version))
|
|
(sha256
|
|
(base32
|
|
"07qvy11nvgxpzarrni3wrww3vpc9yafgi2bch4j2vvvc42nb8d8w"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://pypi.org/project/ordereddict")
|
|
(synopsis
|
|
"Drop-in substitute for Py2.7's new collections.OrderedDict for Python 2.4-2.6")
|
|
(description
|
|
"A drop-in substitute for Py2.7's new collections.OrderedDict
|
|
that works in Python 2.4-2.6.")
|
|
(license license:expat)))
|
|
|
|
;; TODO: Candidate for upstream
|
|
(define-public python-parver
|
|
(package
|
|
(name "python-parver")
|
|
(version "0.3.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "parver" version))
|
|
(sha256
|
|
(base32
|
|
"0a6jp17c1ag6b9yp5xgy9wvznk3g0v2f8gpwkcwxpyc9ygk98zdm"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-attrs" ,python-attrs)
|
|
("python-arpeggio" ,python-arpeggio)
|
|
("python-pytest" ,python-pytest)
|
|
("python-hypothesis" ,python-hypothesis)
|
|
("python-pretend" ,python-pretend)))
|
|
(home-page "https://github.com/RazerM/parver")
|
|
(synopsis
|
|
"Parse and manipulate version numbers")
|
|
(description
|
|
"Parse and manipulate version numbers.")
|
|
(license license:expat)))
|
|
|
|
;; TODO: Candidate for upstream
|
|
(define-public python-pipenv
|
|
(package
|
|
(name "python-pipenv")
|
|
(version "2018.11.26")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pipenv" version))
|
|
(sha256
|
|
(base32
|
|
"0ip8zsrwmhrankrix0shig9g8q2knmr7b63sh7lqa8a5x03fcwx6"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-arpeggio" ,python-arpeggio)))
|
|
(propagated-inputs
|
|
`(("python-certifi" ,python-certifi)
|
|
("python-invoke" ,python-invoke)
|
|
("python-parver" ,python-parver)
|
|
("python-ordereddict" ,python-ordereddict)
|
|
("python-requests" ,python-requests)
|
|
("python-virtualenv" ,python-virtualenv)
|
|
("python-virtualenv-clone" ,python-virtualenv-clone)))
|
|
(arguments
|
|
;; FIXME: Tests currently fail due to an issue with python-typing and the
|
|
;; built in typing in pythong 3.7
|
|
'(#:tests? #f))
|
|
(home-page "https://github.com/pypa/pipenv")
|
|
(synopsis
|
|
"Python Development Workflow for Humans")
|
|
(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)))
|
|
|
|
(define-public awscliv2
|
|
(package
|
|
(inherit awscli)
|
|
(name "awscliv2")
|
|
(version "2.2.37")
|
|
(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 "1z9gwf4rgn52h4l0ik258raswyh7i06f4k3d5616jcm6c3mh9jc9"))))
|
|
(native-inputs
|
|
`(("python-distro" ,python-distro-1.5)))
|
|
(propagated-inputs
|
|
`(,@(fold alist-delete
|
|
(package-propagated-inputs awscli)
|
|
'("python-s3transfer" "python-colorama"
|
|
"python-botocore" "python-docutils"))
|
|
("python-awscrt" ,python-awscrt-0.11-awscliv2)
|
|
("python-prompt-toolkit" ,python-prompt-toolkit-2)
|
|
("python-ruamel.yaml" ,python-ruamel.yaml)
|
|
("python-s3transfer" ,python-s3transfer-0.4-awscliv2)
|
|
("python-cryptography" ,python-cryptography)
|
|
("python-docutils" ,python-docutils-0.15)
|
|
("python-colorama" ,python-colorama-0.4.3)
|
|
("python-botocore" ,python-botocore-2.0.0dev145)))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(delete 'fix-reference-to-groff)
|
|
(add-after 'install 'generate-completions
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(python-version (python-version (assoc-ref inputs "python")))
|
|
(data (string-append out "/lib/python" python-version
|
|
"/site-packages/awscli/data"))
|
|
(bash-completion
|
|
(string-append out "/share/bash-completion/completions"))
|
|
(zsh-site-functions
|
|
(string-append out "/share/zsh/site-functions")))
|
|
(mkdir-p data)
|
|
(add-installed-pythonpath inputs outputs)
|
|
|
|
(setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH")))
|
|
(invoke "python" "scripts/gen-ac-index"
|
|
"--index-location" (string-append data "/ac.index"))
|
|
|
|
(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))
|
|
(synopsis "Command line client for AWS v2")
|
|
(description "AWS CLI v2 provides a unified command line interface to the
|
|
Amazon Web Services (AWS) API.")))
|
|
|
|
(define-public python-awscrt
|
|
(package
|
|
(name "python-awscrt")
|
|
(version "0.12.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "awscrt" version))
|
|
(sha256
|
|
(base32
|
|
"1z6hyazw5zz0xjx7wjfxi7i2blg4535a1zq70c356d46kqhbyhc0"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("cmake" ,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-awscrt-0.11
|
|
(package
|
|
(inherit python-awscrt)
|
|
(version "0.11.24")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "awscrt" version))
|
|
(sha256
|
|
(base32
|
|
"1zv2043mxzmbb449n3rwirz1zl22npsyyw05ps2h1gq4ljy6iamq"))))))
|
|
|
|
(define-public python-awscrt-0.11-awscliv2
|
|
(package
|
|
(inherit python-awscrt-0.11)
|
|
(version "0.11.24-awscliv2")
|
|
;; FIXME: Remove python-s3transfer from propagated inputs because awscliv2
|
|
;; requires >=0.4.2,<0.5.0 but boto3 requires <0.4.0
|
|
(native-inputs
|
|
`(,@(package-native-inputs python-awscrt-0.11)
|
|
("python-s3transfer" ,python-s3transfer)
|
|
("python-boto3" ,python-boto3)))
|
|
(propagated-inputs
|
|
`(,@(alist-delete "python-boto3"
|
|
(package-propagated-inputs python-awscrt-0.11))))))
|
|
|
|
(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-s3transfer-0.4
|
|
(package
|
|
(inherit python-s3transfer)
|
|
(version "0.4.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "s3transfer" version))
|
|
(sha256
|
|
(base32
|
|
"1cp169vz9rvng7dwbn33fgdbl3b014zpsdqsnfxxw7jm2r5jy0nb"))))))
|
|
|
|
(define-public python-s3transfer-0.4-awscliv2
|
|
(package
|
|
(inherit python-s3transfer-0.4)
|
|
(version "0.4.2-awscliv2")
|
|
(propagated-inputs
|
|
`(,@(alist-delete "python-botocore"
|
|
(package-propagated-inputs python-s3transfer-0.4))
|
|
("python-botocore" ,python-botocore-2.0.0dev145)
|
|
("python-awscrt" ,python-awscrt-0.11-awscliv2)))))
|
|
|
|
(define-public python-docutils-0.15
|
|
(package
|
|
(inherit python-docutils)
|
|
(version "0.15.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "docutils" version))
|
|
(sha256
|
|
(base32
|
|
"168s5v7bff5ar9jspr6wn823q1sbn0jhnbp9clk41nl8j09fmbm2"))))
|
|
(arguments
|
|
`(,@(package-arguments python-docutils)
|
|
;; TODO: fixme
|
|
#:tests? #f))))
|
|
|
|
(define-public python-colorama-0.4.3
|
|
(package
|
|
(inherit python-colorama)
|
|
(version "0.4.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "colorama" version))
|
|
(sha256
|
|
(base32 "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9"))))))
|
|
|
|
(define-public python-botocore-2.0.0dev145
|
|
(let ((commit "981292a6fe9826c0675ae61c025dd93039e30aa6")
|
|
(revision "1"))
|
|
(package
|
|
(inherit python-botocore)
|
|
(name "python-botocore")
|
|
(version "2.0.0dev145")
|
|
(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
|
|
"161blyxa7cg3k7f9hk6bs8hdmchg6gd1wjn1gnw21sxpch5b3wzi")))))))
|