# -*- 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.10.2
revision            0
categories-append   math
license             MIT

python.versions     39 310 311 312 313

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  c0cba0564cc8b979d4912bb4e9e6a1982665d292 \
                    sha256  b0aff6b48ebc99d2f54f27b5f73a58cb92fde650aeff1b397c71c8788b4fff1a \
                    size    106787

if {${name} ne ${subport}} {
    patchfiles      patch-numpy-pyproject.toml.diff

    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 -m 755 -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
}