Files
2026-03-24 20:47:40 -04:00

73 lines
3.0 KiB
Tcl

# -*- 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
PortSystem 1.0
PortGroup python 1.0
name py-greenlet
version 3.3.2
categories-append devel
license MIT PSF
python.versions 27 310 311 312 313 314
maintainers {stromnov @stromnov} openmaintainer
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 https://github.com/python-greenlet/greenlet
checksums rmd160 736db8490b68681226e3e579a6efbb99c11dd791 \
sha256 2eaf067fc6d886931c7962e8c6bede15d2f01965560f3359b27c80bde2d151f2 \
size 188267
if {${name} ne ${subport}} {
if {${python.version} == 27} {
version 2.0.2
checksums rmd160 260d2414cd1be4c7af131f482a4c82b6762d7f87 \
sha256 e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 \
size 164980
patchfiles-append patch-powerpc-2.0.2.diff
python.pep517 no
depends_build-append \
port:py${python.version}-setuptools
}
# cc1plus: error: unrecognized command line option "-std=gnu++11"
compiler.cxx_standard 2011
# Fails to build with Xcode compilers of 10.11 and earlier.
compiler.blacklist-append {clang < 900}
test.run yes
python.test_framework unittest
livecheck.type none
}