Tue Dec 31 17:59:08 2013 UTC ()
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.


(rodent)
diff -r0 -r1.1 pkgsrc/devel/py-greenlet/DESCR
diff -r0 -r1.1 pkgsrc/devel/py-greenlet/Makefile
diff -r0 -r1.1 pkgsrc/devel/py-greenlet/PLIST
diff -r0 -r1.1 pkgsrc/devel/py-greenlet/distinfo

File Added: pkgsrc/devel/py-greenlet/DESCR
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.

File Added: pkgsrc/devel/py-greenlet/Makefile
# $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"

File Added: pkgsrc/devel/py-greenlet/PLIST
@comment $NetBSD: PLIST,v 1.1 2013/12/31 17:59:08 rodent Exp $
${PYINC}/greenlet/greenlet.h
${PYSITELIB}/${EGG_FILE}
${PYSITELIB}/greenlet.so

File Added: pkgsrc/devel/py-greenlet/distinfo
$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