diff options
author | rodent <rodent@pkgsrc.org> | 2013-12-31 17:59:08 +0000 |
---|---|---|
committer | rodent <rodent@pkgsrc.org> | 2013-12-31 17:59:08 +0000 |
commit | 26cd4ba28da9b2b59915b75ecc0966e744a4e212 (patch) | |
tree | d0e353b07780538583b5edf7766b1a36c0900b67 | |
parent | ca24431a45474eed455dd87db69ffa32c9c77682 (diff) | |
download | pkgsrc-26cd4ba28da9b2b59915b75ecc0966e744a4e212.tar.gz |
Import py27-greenlet-0.4.1 as devel/py-greenlet. Packaged in pkgsrc-wip by
kamel.derouiche@gmail.com
The greenlet package is a spin-off of Stackless, a version of CPython that
supports micro-threads called "tasklets". Tasklets run pseudo-concurrently
(typically in a single or a few OS-level threads) and are synchronized with data
exchanges on "channels".
A "greenlet", on the other hand, is a still more primitive notion of
micro-thread with no implicit scheduling; coroutines, in other words. This is
useful when you want to control exactly when your code runs. You can build
custom scheduled micro-threads on top of greenlet; however, it seems that
greenlets are useful on their own as a way to make advanced control flow
structures. For example, we can recreate generators; the difference with
Python's own generators is that our generators can call nested functions and the
nested functions can yield values too. Additionally, you don't need a "yield"
keyword. See the example in tests/test_generator.py.
Greenlets are provided as a C extension module for the regular unmodified
interpreter.
Greenlets are lightweight coroutines for in-process concurrent programming.
-rw-r--r-- | devel/py-greenlet/DESCR | 19 | ||||
-rw-r--r-- | devel/py-greenlet/Makefile | 18 | ||||
-rw-r--r-- | devel/py-greenlet/PLIST | 4 | ||||
-rw-r--r-- | devel/py-greenlet/distinfo | 5 |
4 files changed, 46 insertions, 0 deletions
diff --git a/devel/py-greenlet/DESCR b/devel/py-greenlet/DESCR new file mode 100644 index 00000000000..b02f84d5bda --- /dev/null +++ b/devel/py-greenlet/DESCR @@ -0,0 +1,19 @@ +The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently +(typically in a single or a few OS-level threads) and are synchronized with data +exchanges on "channels". + +A "greenlet", on the other hand, is a still more primitive notion of +micro-thread with no implicit scheduling; coroutines, in other words. This is +useful when you want to control exactly when your code runs. You can build +custom scheduled micro-threads on top of greenlet; however, it seems that +greenlets are useful on their own as a way to make advanced control flow +structures. For example, we can recreate generators; the difference with +Python's own generators is that our generators can call nested functions and the +nested functions can yield values too. Additionally, you don't need a "yield" +keyword. See the example in tests/test_generator.py. + +Greenlets are provided as a C extension module for the regular unmodified +interpreter. + +Greenlets are lightweight coroutines for in-process concurrent programming. diff --git a/devel/py-greenlet/Makefile b/devel/py-greenlet/Makefile new file mode 100644 index 00000000000..731b14c467c --- /dev/null +++ b/devel/py-greenlet/Makefile @@ -0,0 +1,18 @@ +# $NetBSD: Makefile,v 1.1 2013/12/31 17:59:08 rodent Exp $ + +DISTNAME= greenlet-0.4.1 +PKGNAME= ${PYPKGPREFIX}-${DISTNAME} +CATEGORIES= devel python +MASTER_SITES= https://pypi.python.org/packages/source/g/greenlet/ +EXTRACT_SUFX= .zip +FETCH_USING= curl + +MAINTAINER= kamel.derouiche@gmail.com +HOMEPAGE= https://github.com/python-greenlet/greenlet +COMMENT= Lightweight in-process concurrent programming +LICENSE= mit + +USE_LANGUAGES= c c++ + +.include "../../lang/python/distutils.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/devel/py-greenlet/PLIST b/devel/py-greenlet/PLIST new file mode 100644 index 00000000000..9b4e4c12337 --- /dev/null +++ b/devel/py-greenlet/PLIST @@ -0,0 +1,4 @@ +@comment $NetBSD: PLIST,v 1.1 2013/12/31 17:59:08 rodent Exp $ +${PYINC}/greenlet/greenlet.h +${PYSITELIB}/${EGG_FILE} +${PYSITELIB}/greenlet.so diff --git a/devel/py-greenlet/distinfo b/devel/py-greenlet/distinfo new file mode 100644 index 00000000000..0521ef5863e --- /dev/null +++ b/devel/py-greenlet/distinfo @@ -0,0 +1,5 @@ +$NetBSD: distinfo,v 1.1 2013/12/31 17:59:08 rodent Exp $ + +SHA1 (greenlet-0.4.1.zip) = ca2f589a63322b5752ef4e0de3072a5b51f7d3b7 +RMD160 (greenlet-0.4.1.zip) = a8aac77849d51c96c46b65607f7ed7eac6723bcd +Size (greenlet-0.4.1.zip) = 75749 bytes |