# -*- 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 90873 2012-03-16 21:09:56Z ryandesign@macports.org $

PortSystem 1.0
PortGroup python 1.0

name                    py-greenlet
version                 0.3.4
python.versions         24 25 26 27 31 32
python.default_version  24
categories-append       devel
license                 MIT
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            http://pypi.python.org/packages/source/g/greenlet/
distname                greenlet-${version}
use_zip                 yes
checksums               rmd160  0a866b8e70e43a4f0ac88a57503ceb4d0905bb4a \
                        sha256  259ed0f34de9b0c948f42bdaffe378ea53d210d38377c6dcb0c6b728fccad1b0
if {$name != $subport} {
    depends_lib-append  port:py${python.version}-distribute
}

livecheck.type          regex
livecheck.url           ${master_sites}
livecheck.regex         "greenlet-(\\d+(?:\\.\\d+)*)${extract.suffix}"
