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

>From 440d0afb9307bc01fb2804ee42e1e02a6d24039f Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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 © 2015 Ricardo Wurmus <rek...@elephly.net>
 ;;; Copyright © 2015 Christopher Allan Webber <cweb...@dustycloud.org>
 ;;; Copyright © 2015 Eric Dvorsak <e...@dvorsak.fr>
-;;; Copyright © 2015 David Thompson <da...@gnu.org>
+;;; Copyright © 2015, 2016 David Thompson <da...@gnu.org>
 ;;; Copyright © 2015 Leo Famulari <l...@famulari.name>
 ;;; Copyright © 2015 Ben Woodcroft <donttrust...@gmail.com>
 ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edr...@gmail.com>
@@ -7252,3 +7252,28 @@ supports url redirection and retries, and also gzip and deflate decoding.")
 
 (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 terminal
+text.")
+   (home-page "https://pypi.python.org/pypi/colorama";)
+   (license bsd-3)))
+
+(define-public python2-colorama
+  (package-with-python2 python-colorama))
-- 
2.6.3

>From f66c61d088008b17c9c0a88936eb2adbb5d3ef94 Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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

>From 5994ce30c27b2c2e5d643cf63aa6c91c649edf31 Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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

>From 89818bbd5db9cf91ae90b4f3143c87ed9296a7bd Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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

>From 24950904587c4d1ae59a75954230383bd242f155 Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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

>From 9970f4fe9f8672f33778f7dbc2d751f8ca67cfd8 Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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 “james path”) is a Python 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)))
-- 
2.6.3

>From 386e5c60a3725db2d13ca1017d6d8472b0c851f5 Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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

>From d7b7f9cb214663d2c1e16e38152b7123ea83bb92 Mon Sep 17 00:00:00 2001
From: David Thompson <dthomp...@vistahigherlearning.com>
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

Reply via email to