# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           octave 1.0

octave.setup        sourceforge octave symbolic 3.2.2
revision            0
platforms           darwin
license             GPL-3+
maintainers         {mps @Schamschula} openmaintainer
description         Symbolic toolbox based on SymPy.

long_description    {*}${description}

checksums           rmd160  6a0de2c05f35f1ad16a866f399e63dbd3967c3cb \
                    sha256  8eb492408ec5aafe4e196ec5bdbd2298e0ac068d2b754948f34b9082b9126b37 \
                    size    276452

supported_archs     noarch
platforms           {darwin any}

variant python39 conflicts python310 python311 python312 python313 description {Use Python 3.9 SymPy} {}
variant python310 conflicts python39 python311 python312 python313 description {Use Python 3.10 SymPy} {}
variant python311 conflicts python39 python310 python312 python313 description {Use Python 3.11 SymPy} {}
variant python312 conflicts python39 python310 python311 python313 description {Use Python 3.12 SymPy} {}
variant python313 conflicts python39 python310 python311 python312 description {Use Python 3.8 SymPy} {}

if {![variant_isset python39] && ![variant_isset python310] && ![variant_isset python311] && ![variant_isset python312]} {
    default_variants +python313
}

foreach pv {313 312 311 310 39} {
    if {[variant_isset python${pv}]} {
        set python.branch [string index ${pv} 0].[string range ${pv} 1 end]

        depends_lib-append  \
                    port:python${pv} \
                    port:py${pv}-sympy
        break
    }
}

# see https://trac.macports.org/ticket/55361
patchfiles-append   patch-inst-private-defaultpython.m.diff
post-patch {
    reinplace \
        "s|__MACPORTS_PYTHON__|${prefix}/bin/python${python.branch}|g" \
        ${worksrcpath}/inst/private/defaultpython.m
}

notes "
Once you have loaded the symbolic package

pkg load symbolic

in octave, you need to set the python executable:

setenv PYTHON python${python.branch}

You can double check your installation by running

sympref diagnose
"
