# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 107431 2013-06-29 06:10:48Z jmr@macports.org $

PortSystem          1.0
PortGroup           python 1.0

name                py-greenlet
version             0.4.1
categories-append   devel
license             MIT PSF
platforms           darwin

maintainers         nomaintainer

description         Lightweight in-process concurrent programming

long_description    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 test_generator.py. \
                    \
                    Greenlets are provided as a C extension module \
                    for the regular unmodified interpreter.

homepage            http://undefined.org/python/#greenlet
master_sites        https://pypi.python.org/packages/source/g/greenlet/

distname            greenlet-${version}

checksums           md5    c2deda75bdda59c38cae12a77cc53adc \
                    rmd160 a8aac77849d51c96c46b65607f7ed7eac6723bcd \
                    sha256 ea671592f8460541286b133ed46a6cf5311a6b75051cc31b53e2bc38992b775a

python.default_version  27
python.versions     24 25 26 27 31 32

if {$name != $subport} {
    depends_build       port:py${python.version}-setuptools
    use_zip             yes
    livecheck.type      none
} else {
    livecheck.type      regex
    livecheck.url       ${master_sites}
    livecheck.regex     "greenlet-(\\d+(?:\\.\\d+)*)"
}
