# -*- 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           github 1.0
PortGroup           python 1.0

name                py-pyftdi

github.setup        eblot pyftdi 0.57.1 v
github.tarball_from archive

revision            0
maintainers         nomaintainer
platforms           {darwin any}
supported_archs     noarch
license             BSD

description         PyFtdi aims at providing a user-space driver for popular \
                    FTDI devices, implemented in pure Python language.
long_description    {*}${description}

checksums           rmd160  d8a0a5248bdf47088008a337d5fbb171ace427be \
                    sha256  9fb7b770c34d449320e47a3c7d792c2e30958a9c9a8466936de20915d31caa75 \
                    size    187541

python.versions     310 311 312 313 314

if {${name} ne ${subport}} {
    depends_run-append \
                    port:py${python.version}-pyusb \
                    port:py${python.version}-serial
    depends_test-append \
                    port:py${python.version}-ruamel-yaml
    test.run        yes
    test.env-append FTDI_VIRTUAL=1

    # This isn't all tests, because many tests require specific devices to be
    # connected. This only includes tests that don't require specific devices,
    # and tests that can be mocked (some via FTDI_VIRTUAL above) so that they
    # don't require specific devices. See pyftdi/.github/workflows.
    test.target     pyftdi/tests/toolsimport.py \
                    pyftdi/tests/mockusb.py \
                    pyftdi/tests/gpio.py \
                    pyftdi/tests/eeprom_mock.py
}
