From 5cb2fe446bf3357e3320bfd5c00ccfac131cd4fd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 11 Sep 2016 21:24:25 +0300 Subject: [PATCH] gnu: Add python-promise. * gnu/packages/python.scm (python-promise): New variable. --- gnu/packages/python.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 055e6e2d90..86d099a291 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7442,6 +7442,40 @@ asynchronously executing callables. This package backports the concurrent.futures package from Python 3.2") (license license:bsd-3))) +(define-public python-promise + (package + (name "python-promise") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "promise" version)) + (sha256 + (base32 + "1k19ms8l3d5jzjh557rgkxb5sg4mqgfc315rn4hx1z3n8qq6lr3h")))) + (build-system python-build-system) + ;; Tests wants python-futures, which is a python2 only program, and + ;; can't be found by python-promise at test time. + (arguments `(#:tests? #f)) + (home-page "https://github.com/syrusakbary/promise") + (synopsis "Promises/A+ implementation for Python") + (description + "Promises/A+ implementation for Python") + (properties `((python2-variant . ,(delay python2-promise)))) + (license license:expat))) + +(define-public python2-promise + (let ((promise (package-with-python2 + (strip-python2-variant python-promise)))) + (package (inherit promise) + (arguments (substitute-keyword-arguments (package-arguments promise) + ((#:tests? _) #t))) + (native-inputs + `(("python2-futures" ,python2-futures) + ("python2-pytest" ,python2-pytest) + ("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs promise)))))) + (define-public python-urllib3 (package (name "python-urllib3")