From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37873) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dLzTL-0003XQ-C6 for guix-patches@gnu.org; Fri, 16 Jun 2017 18:12:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dLzTG-0007ox-DQ for guix-patches@gnu.org; Fri, 16 Jun 2017 18:12:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:49114) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dLzTG-0007ot-9H for guix-patches@gnu.org; Fri, 16 Jun 2017 18:12:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dLzTG-0007JN-4i for guix-patches@gnu.org; Fri, 16 Jun 2017 18:12:02 -0400 Subject: [bug#27400] [PATCH] gnu: Add python-apache-libcloud. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37202) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dLzSI-0003Ml-I0 for guix-patches@gnu.org; Fri, 16 Jun 2017 18:11:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dLzSD-0007Pf-JA for guix-patches@gnu.org; Fri, 16 Jun 2017 18:11:02 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:35698) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dLzSD-0007PT-Bp for guix-patches@gnu.org; Fri, 16 Jun 2017 18:10:57 -0400 From: Danny Milosavljevic Date: Fri, 16 Jun 2017 23:21:56 +0200 Message-Id: <20170616212156.24333-1-dannym@scratchpost.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27400@debbugs.gnu.org * 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 . + (("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 . + (("'.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))