# -*- 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-numexpr
version             2.14.1
revision            0

categories-append   math
license             MIT

python.versions     310 311 312 313 314

maintainers         {stromnov @stromnov} openmaintainer

description         Multiple-operator array expression evaluator
long_description    The numexpr package evaluates multiple-operator array \
                    expressions many times faster than NumPy can. It accepts \
                    the expression as a string, analyzes it, rewrites it \
                    more efficiently, and compiles it on the fly into code \
                    for its internal virtual machine (VM). Due to its \
                    integrated just-in-time (JIT) compiler, it does not \
                    require a compiler at runtime.

homepage            https://github.com/pydata/numexpr

checksums           rmd160  44c427b211702855bcbdc9aa97c32fe146789128 \
                    sha256  4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b \
                    size    119400

if {${name} ne ${subport}} {
    depends_lib-append  port:py${python.version}-numpy

    # error: no matching function for call to ‘std::complex<double>::real(double&)’
    compiler.cxx_standard   2011

    post-destroot {
        xinstall -d ${destroot}${prefix}/share/doc/${subport}
        xinstall -m 644 -W ${worksrcpath} ANNOUNCE.rst LICENSE.txt README.rst \
            RELEASE_NOTES.rst ${destroot}${prefix}/share/doc/${subport}
    }

    test.run        yes
    test.env-append PYTHONPATH=${destroot}${python.pkgd}
    test.dir        ${destroot}${python.pkgd}/numexpr/tests
    python.test_framework
    test.cmd        ${python.bin} test_numexpr.py
}
