>From 67769beaa0b2411312494707d411e1a45d6ba6e1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 19 Feb 2017 12:03:31 +0000 Subject: [PATCH 1/2] gnu: Add python-eventlet. * gnu/packages/python.scm (python-eventlet): 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 3e59b5892..93bb4ae15 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1006,6 +1006,40 @@ etc.). The package is structured to make adding new modules easy.") "python" (package-inputs pycrypto))))))) +(define-public python-eventlet + (package + (name "python-eventlet") + (version "0.20.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eventlet" version)) + (sha256 + (base32 + "0f3q55mq4n021wb7qa53pz3ix6i2py64sap66vsaqm2scjw83m9s")))) + (build-system python-build-system) + (propagated-inputs + `(("python-greenlet" ,python-greenlet))) + (home-page "http://eventlet.net") + (synopsis "Concurrent networking library for Python") + (description + "Eventlet is a concurrent networking library for Python that +allows you to change how you run your code, not how you write it. +It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O. +Coroutines ensure that the developer uses a blocking style of programming +that is similar to threading, but provide the benefits of non-blocking I/O. +The event dispatch is implicit, which means you can easily use @code{Eventlet} +from the Python interpreter, or as a small part of a larger application.") + (license license:expat))) + +(define-public python2-eventlet + (let ((base (package-with-python2 + (strip-python2-variant python-eventlet)))) + (package (inherit base) + (propagated-inputs + `(("python2-enum34" ,python2-enum34) + ,@(package-propagated-inputs base)))))) + (define-public python-keyring (package (name "python-keyring") -- 2.11.1