* [bug#27400] [PATCH] gnu: Add python-apache-libcloud.
@ 2017-06-16 21:21 Danny Milosavljevic
2017-06-17 13:37 ` Marius Bakke
0 siblings, 1 reply; 3+ messages in thread
From: Danny Milosavljevic @ 2017-06-16 21:21 UTC (permalink / raw)
To: 27400
* gnu/packages/python.scm (python-apache-libcloud, python2-apache-libcloud):
New variables.
---
gnu/packages/python.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 352a5f333..5807f046e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -98,6 +98,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages ssh)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@@ -15324,3 +15325,61 @@ validating Swagger API specifications.")
(define-public python2-swagger-spec-validator
(package-with-python2 python-swagger-spec-validator))
+
+(define-public python-apache-libcloud
+ (package
+ (name "python-apache-libcloud")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "apache-libcloud" version))
+ (sha256
+ (base32
+ "1a71z02ckcxld72k4qgmdnkjan52c4wczncs3p2mp5yafh7dsan7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-ssh
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libcloud/compute/ssh.py"
+ (("'ssh'") (string-append "'" (assoc-ref inputs "openssh")
+ "'")))
+ #t))
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "./libcloud/test/test_file_fixtures.py"
+ ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-923>.
+ (("def _ascii") "def _raw_data(self, method, url, body, headers):
+ return (httplib.OK,
+ \"1234abcd\",
+ {\"test\": \"value\"},
+ httplib.responses[httplib.OK])
+ def _ascii"))
+ (substitute* "libcloud/test/compute/test_ssh_client.py"
+ (("class ShellOutSSHClientTests")
+ "@unittest.skip(\"Guix container doesn't have ssh service\")
+class ShellOutSSHClientTests")
+ ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-924>.
+ (("'.xf0.x90.x8d.x88'") "b'\\xF0\\x90\\x8D\\x88'")
+ (("'.xF0', '.x90', '.x8D', '.x88'")
+ "b'\\xF0', b'\\x90', b'\\x8D', b'\\x88'"))
+ #t)))))
+ (inputs
+ `(("openssh" ,openssh)))
+ (propagated-inputs
+ `(("python-paramiko" ,python-paramiko)
+ ("python-requests" ,python-requests)))
+ (native-inputs
+ `(("python-lockfile" ,python-lockfile)
+ ("python-mock" ,python-mock)
+ ("python-requests-mock" ,python-requests-mock)))
+ (home-page "https://libcloud.apache.org/")
+ (synopsis "Unified Cloud API")
+ (description "@code{libcloud} is a Python library for interacting with
+many of the popular cloud service providers using a unified API.")
+ (license license:asl2.0)))
+
+(define-public python2-apache-libcloud
+ (package-with-python2 python-apache-libcloud))
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#27400] [PATCH] gnu: Add python-apache-libcloud.
2017-06-16 21:21 [bug#27400] [PATCH] gnu: Add python-apache-libcloud Danny Milosavljevic
@ 2017-06-17 13:37 ` Marius Bakke
2017-06-17 18:46 ` Danny Milosavljevic
0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2017-06-17 13:37 UTC (permalink / raw)
To: Danny Milosavljevic, 27400
[-- Attachment #1: Type: text/plain, Size: 1684 bytes --]
Danny Milosavljevic <dannym@scratchpost.org> writes:
> * gnu/packages/python.scm (python-apache-libcloud, python2-apache-libcloud):
> New variables.
[...]
> + (modify-phases %standard-phases
> + (add-after 'unpack 'patch-ssh
> + (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "libcloud/compute/ssh.py"
> + (("'ssh'") (string-append "'" (assoc-ref inputs "openssh")
> + "'")))
Should this not be (assoc-ref inputs "openssh") "/bin/ssh"?
> + #t))
> + (add-after 'unpack 'patch-tests
> + (lambda _
> + (substitute* "./libcloud/test/test_file_fixtures.py"
> + ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-923>.
> + (("def _ascii") "def _raw_data(self, method, url, body, headers):
> + return (httplib.OK,
> + \"1234abcd\",
> + {\"test\": \"value\"},
> + httplib.responses[httplib.OK])
> + def _ascii"))
> + (substitute* "libcloud/test/compute/test_ssh_client.py"
> + (("class ShellOutSSHClientTests")
> + "@unittest.skip(\"Guix container doesn't have ssh service\")
> +class ShellOutSSHClientTests")
> + ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-924>.
> + (("'.xf0.x90.x8d.x88'") "b'\\xF0\\x90\\x8D\\x88'")
> + (("'.xF0', '.x90', '.x8D', '.x88'")
> + "b'\\xF0', b'\\x90', b'\\x8D', b'\\x88'"))
Odd that these substitutions are necessary. Could it be something with
our Python build? Or locale in the build environment? LGTM, anyway.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#27400] [PATCH] gnu: Add python-apache-libcloud.
2017-06-17 13:37 ` Marius Bakke
@ 2017-06-17 18:46 ` Danny Milosavljevic
0 siblings, 0 replies; 3+ messages in thread
From: Danny Milosavljevic @ 2017-06-17 18:46 UTC (permalink / raw)
To: Marius Bakke; +Cc: 27400
Hi Marius,
On Sat, 17 Jun 2017 15:37:27 +0200
Marius Bakke <mbakke@fastmail.com> wrote:
> Should this not be (assoc-ref inputs "openssh") "/bin/ssh"?
Indeed. Thanks!
> > + ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-924>.
> > + (("'.xf0.x90.x8d.x88'") "b'\\xF0\\x90\\x8D\\x88'")
> > + (("'.xF0', '.x90', '.x8D', '.x88'")
> > + "b'\\xF0', b'\\x90', b'\\x8D', b'\\x88'"))
No idea. It works fine with Python 2 - and previous versions of apache-libcloud were Python 2 only.
Let's see what they say.
Pushed as 7ea498e5cd55c056492a778203414ce977350142.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-06-17 18:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-16 21:21 [bug#27400] [PATCH] gnu: Add python-apache-libcloud Danny Milosavljevic
2017-06-17 13:37 ` Marius Bakke
2017-06-17 18:46 ` Danny Milosavljevic
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).