summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2016-09-11 21:24:25 +0300
committerEfraim Flashner <efraim@flashner.co.il>2016-09-18 23:19:44 +0300
commit5cb2fe446bf3357e3320bfd5c00ccfac131cd4fd (patch)
tree3ff78947be06ff0388eb54d248ad9ca16e95e1a4 /gnu
parent4d98bfaf23852766e923e017f4334f4219c1d142 (diff)
downloadpatches-5cb2fe446bf3357e3320bfd5c00ccfac131cd4fd.tar
patches-5cb2fe446bf3357e3320bfd5c00ccfac131cd4fd.tar.gz
gnu: Add python-promise.
* gnu/packages/python.scm (python-promise): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python.scm34
1 files changed, 34 insertions, 0 deletions
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")