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

github.setup            enthought pyface 8.0.0
github.tarball_from     archive
name                    py-pyface
revision                0

categories-append       devel
license                 BSD
maintainers             nomaintainer
supported_archs         noarch
platforms               {darwin any}

description             The Enthought pyface package
long_description        The pyface project contains a toolkit-independent GUI\
                        abstraction layer, which is used to support the\
                        "visualization" features of the Traits package.

checksums               rmd160  09b4f56cfbb3fd62111ec2c62c675b67eae385bd \
                        sha256  e34f8fb285517e25bfe41a4b8d1d54860d2636bd5fa5b9bff26ab96c1a098895 \
                        size    7850673

python.versions         310 311 312

if {${name} ne ${subport}} {
    depends_lib-append      port:py${python.version}-traits \
                            port:py${python.version}-importlib-metadata \
                            port:py${python.version}-pygments

    if {${os.platform} eq "darwin" && ${os.major} < 11} {
        # On systems without Qt5+ support just default to using Qt4.
        # https://github.com/enthought/pyface/issues/1258
        github.setup    enthought pyface 7.4.4
        revision        0
        checksums       rmd160  09b4f56cfbb3fd62111ec2c62c675b67eae385bd \
                        sha256  e34f8fb285517e25bfe41a4b8d1d54860d2636bd5fa5b9bff26ab96c1a098895 \
                        size    7850673
        # Due to py-pyqt4 restricted to python310 due to py-sip4.
        # Notice, at least 310 must be preserved to keep this working.
        python.versions         39 310
        # No need in any variants.
        depends_lib-append      port:py${python.version}-pyqt4
    } else {
        # These variants make sense only on systems with Qt5+:
        variant pyside description "Qt backend using PySide2" {
            depends_lib-append  port:py${python.version}-pyside2
        }

        variant pyqt5 description "Qt backend using PyQt5" {
            depends_lib-append  port:py${python.version}-pyqt5
        }

        if {![variant_isset pyqt5] && ![variant_isset pyside]} {
            default_variants    +pyqt5
        }
    }

    notes-append "If multiple backends are installed, the toolkit backend may be set\
 with environment variables ETS_TOOLKIT and QT_API, e.g., ETS_TOOLKIT=qt, QT_API=pyqt5.\n"
}
