From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Thompson Subject: [PATCHES] Add awscli and 7 pre-requisite Python libraries. Date: Wed, 27 Jan 2016 09:31:03 -0500 Message-ID: <868u3b3xi0.fsf@7VWJD42.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50288) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOR8G-0001rk-Jb for guix-devel@gnu.org; Wed, 27 Jan 2016 09:31:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aOR8B-0003my-WA for guix-devel@gnu.org; Wed, 27 Jan 2016 09:31:39 -0500 Received: from mail-qk0-x232.google.com ([2607:f8b0:400d:c09::232]:36456) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOR8B-0003mX-OK for guix-devel@gnu.org; Wed, 27 Jan 2016 09:31:35 -0500 Received: by mail-qk0-x232.google.com with SMTP id s68so3873170qkh.3 for ; Wed, 27 Jan 2016 06:31:35 -0800 (PST) Received: from 7VWJD42 ([38.88.209.18]) by smtp.gmail.com with ESMTPSA id u16sm1753356qka.22.2016.01.27.06.31.34 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Jan 2016 06:31:34 -0800 (PST) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain Here's a patch set I've been sitting on for awhile for the AWS CLI. Do note that the AWS APIs are not exclusive to Amazon. Free software such as Eucalyptus [0] and OpenStack also implement these APIs for compatibility reasons, and both the boto library and awscli itself can be used to manipulate them. If this proves too controversial, I'd still like to apply the first 6 uncontroversial patches. ;) Thanks in advance for review. - Dave [0] https://support.eucalyptus.com/hc/en-us/articles/200844844-Usage-of-AWS-CLI-with-Eucalyptus --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-python-colorama.patch Content-Transfer-Encoding: quoted-printable >From 440d0afb9307bc01fb2804ee42e1e02a6d24039f Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:18:35 -0500 Subject: [PATCH 1/8] gnu: Add python-colorama. * gnu/packages/python.scm (python-colorama, python2-colorama): New variables. --- gnu/packages/python.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 813711a..a12709f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10,7 +10,7 @@ ;;; Copyright =C2=A9 2015 Ricardo Wurmus ;;; Copyright =C2=A9 2015 Christopher Allan Webber ;;; Copyright =C2=A9 2015 Eric Dvorsak -;;; Copyright =C2=A9 2015 David Thompson +;;; Copyright =C2=A9 2015, 2016 David Thompson ;;; Copyright =C2=A9 2015 Leo Famulari ;;; Copyright =C2=A9 2015 Ben Woodcroft ;;; Copyright =C2=A9 2015, 2016 Erik Edrosa @@ -7252,3 +7252,28 @@ supports url redirection and retries, and also gzip = and deflate decoding.") =20 (define-public python2-urllib3 (package-with-python2 python-urllib3)) + +(define-public python-colorama + (package + (name "python-colorama") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/c/colorama/colorama-" + version ".tar.gz")) + (sha256 + (base32 + "1716z9pq1r5ys3nkg7wdrb3h2f9rmd0zdxpxzmx3bgwgf6xg48gb")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (synopsis "colored terminal text rendering for Python") + (description "Colorama is a Python library for rendering colored termin= al +text.") + (home-page "https://pypi.python.org/pypi/colorama") + (license bsd-3))) + +(define-public python2-colorama + (package-with-python2 python-colorama)) --=20 2.6.3 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-gnu-Add-python-rsa.patch >From f66c61d088008b17c9c0a88936eb2adbb5d3ef94 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:19:35 -0500 Subject: [PATCH 2/8] gnu: Add python-rsa. * gnu/packages/python.scm (python-rsa, python2-rsa): New variables. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a12709f..6bdca89 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7277,3 +7277,31 @@ text.") (define-public python2-colorama (package-with-python2 python-colorama)) + +(define-public python-rsa + (package + (name "python-rsa") + (version "3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/r/rsa/rsa-" + version ".tar.gz")) + (sha256 + (base32 + "0xwp929g7lvb1sghxfpqlxvgg96qcwqdbhh27sjplx30n3xp3wrh")))) + (build-system python-build-system) + (inputs + `(("python-pyasn1" ,python-pyasn1) + ("python-setuptools" ,python-setuptools))) + (synopsis "Pure-Python RSA implementation") + (description "Python-RSA is a pure-Python RSA implementation. It supports +encryption and decryption, signing and verifying signatures, and key +generation according to PKCS#1 version 1.5. It can be used as a Python +library as well as on the command line.") + (home-page "http://stuvel.eu/rsa") + (license asl2.0))) + +(define-public python2-rsa + (package-with-python2 python-rsa)) -- 2.6.3 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0003-gnu-Add-python-pluggy.patch >From 5994ce30c27b2c2e5d643cf63aa6c91c649edf31 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:20:07 -0500 Subject: [PATCH 3/8] gnu: Add python-pluggy. * gnu/packages/python.scm (python-pluggy): New variable. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6bdca89..2175b79 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7305,3 +7305,25 @@ library as well as on the command line.") (define-public python2-rsa (package-with-python2 python-rsa)) + +(define-public python-pluggy + (package + (name "python-pluggy") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/p/pluggy/pluggy-" + version ".tar.gz")) + (sha256 + (base32 + "18qfzfm40bgx672lkg8q9x5hdh76n7vax99aank7vh2nw21wg70m")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (synopsis "Plugin and hook calling mechanism for Python") + (description "Pluggy is an extraction of the plugin manager as used by +Pytest but stripped of Pytest specific details.") + (home-page "https://pypi.python.org/pypi/pluggy") + (license license:expat))) -- 2.6.3 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0004-gnu-Add-python-tox.patch >From 89818bbd5db9cf91ae90b4f3143c87ed9296a7bd Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:20:35 -0500 Subject: [PATCH 4/8] gnu: Add python-tox. * gnu/packages/python.scm (python-tox): New variable. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2175b79..c63e38e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7327,3 +7327,34 @@ library as well as on the command line.") Pytest but stripped of Pytest specific details.") (home-page "https://pypi.python.org/pypi/pluggy") (license license:expat))) + +(define-public python-tox + (package + (name "python-tox") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/t/tox/tox-" + version ".tar.gz")) + (sha256 + (base32 + "1vj73ar4rimq3fwy5r2z3jv4g9qbh8rmpmncsc00g0k310acqzxz")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) + (inputs + `(("python-setuptools" ,python-setuptools) + ("python-pluggy" ,python-pluggy) + ("python-py" ,python-py) + ("python-virtualenv" ,python-virtualenv) + ("python-pytest" ,python-pytest))) + (home-page "http://tox.testrun.org/") + (synopsis "Virtualenv-based automation of test activities") + (description "Tox is a generic virtualenv management and test command line +tool. It can be used to check that a package installs correctly with +different Python versions and interpreters, or run tests in each type of +supported environment, or act as a frontend to continuous integration +servers.") + (license license:expat))) -- 2.6.3 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0005-gnu-Add-python-wheel.patch >From 24950904587c4d1ae59a75954230383bd242f155 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:21:41 -0500 Subject: [PATCH 5/8] gnu: Add python-wheel. * gnu/packages/python.scm (python-wheel): New variable. --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c63e38e..f4f02e8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7358,3 +7358,29 @@ different Python versions and interpreters, or run tests in each type of supported environment, or act as a frontend to continuous integration servers.") (license license:expat))) + +(define-public python-wheel + (package + (name "python-wheel") + (version "0.26.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/w/wheel/wheel-" + version ".tar.gz")) + (sha256 + (base32 + "032k1ajijbqnv0z0k88bhf75mdimi18fcmm28mss90610lw3bbga")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://bitbucket.org/pypa/wheel/") + (synopsis "A built-package format for Python") + (description "A wheel is a ZIP-format archive with a specially formatted +filename and the .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.") + (license license:expat))) -- 2.6.3 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0006-gnu-Add-python-jmespath.patch Content-Transfer-Encoding: quoted-printable >From 9970f4fe9f8672f33778f7dbc2d751f8ca67cfd8 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:22:00 -0500 Subject: [PATCH 6/8] gnu: Add python-jmespath. * gnu/packages/python.scm (python-jmespath): New variable. --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index f4f02e8..09035d5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7384,3 +7384,26 @@ filename and the .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.") (license license:expat))) + +(define-public python-jmespath + (package + (name "python-jmespath") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/j/jmespath/jmespath-" + version ".tar.gz")) + (sha256 + (base32 + "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (synopsis "JSON Matching Expressions") + (description "JMESPath (pronounced =E2=80=9Cjames path=E2=80=9D) is a P= ython library that +allows one to declaratively specify how to extract elements from a JSON +document.") + (home-page "https://github.com/jmespath/jmespath.py") + (license license:expat))) --=20 2.6.3 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0007-gnu-Add-python-botocore.patch >From 386e5c60a3725db2d13ca1017d6d8472b0c851f5 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:22:20 -0500 Subject: [PATCH 7/8] gnu: Add python-botocore. * gnu/packages/python.scm (python-botocore): New variable. --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 09035d5..02dc6c3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7407,3 +7407,32 @@ allows one to declaratively specify how to extract elements from a JSON document.") (home-page "https://github.com/jmespath/jmespath.py") (license license:expat))) + +(define-public python-botocore + (package + (name "python-botocore") + (version "1.3.17") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/b/botocore/botocore-" + version ".tar.gz")) + (sha256 + (base32 + "08vpvdixx1c1lfv6vzjig68bpiir7wfyhzf49ysxgvhbprg5ra0w")))) + (build-system python-build-system) + (inputs + `(("python-dateutil" ,python-dateutil-2) + ("python-docutils" ,python-docutils) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-setuptools" ,python-setuptools) + ("python-tox" ,python-tox) + ("python-wheel" ,python-wheel) + ("python-jmespath" ,python-jmespath))) + (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 asl2.0))) -- 2.6.3 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0008-gnu-Add-awscli.patch >From d7b7f9cb214663d2c1e16e38152b7123ea83bb92 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 7 Dec 2015 16:22:39 -0500 Subject: [PATCH 8/8] gnu: Add awscli. * gnu/packages/python.scm (awscli): New variable. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 02dc6c3..22b9311 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7436,3 +7436,34 @@ document.") (description "Botocore is a Python library that provides a low-level interface to the Amazon Web Services (AWS) API.") (license asl2.0))) + +(define-public awscli + (package + (name "awscli") + (version "1.9.17") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/a/awscli/awscli-" + version ".tar.gz")) + (sha256 + (base32 + "1nj7jqvlpq57hfhby1njsbf8303gapa3njc4dramr6p3ffzvfi2i")))) + (build-system python-build-system) + (inputs + `(("python-colorama" ,python-colorama) + ("python-docutils" ,python-docutils) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-rsa" ,python-rsa) + ("python-setuptools" ,python-setuptools) + ("python-sphinx" ,python-sphinx) + ("python-tox" ,python-tox) + ("python-wheel" ,python-wheel) + ("python-botocore" ,python-botocore))) + (home-page "http://aws.amazon.com/cli/") + (synopsis "Command line client for AWS") + (description "AWS CLI provides a unified command line interface to Amazon +Web Services (AWS).") + (license asl2.0))) -- 2.6.3 --=-=-=--