# -*- 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 compiler_blacklist_versions 1.0 PortGroup python 1.0 name py-greenlet version 3.0.3 categories-append devel license MIT PSF python.versions 27 35 36 37 38 39 310 311 312 python.pep517 yes 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 8907d2515e20dcedca9e7a2c5c9815faada9edfc \ sha256 43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491 \ size 182013 if {${name} ne ${subport}} { if {${python.version} < 37} { version 2.0.2 checksums rmd160 260d2414cd1be4c7af131f482a4c82b6762d7f87 \ sha256 e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 \ size 164980 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} pre-test { test.env PYTHONPATH=[glob -nocomplain ${worksrcpath}/build/lib*] } test.run yes python.test_framework unittest livecheck.type none }