# -*- 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           mpi 1.0

name                py-petsc4py
version             3.20.2
revision            0

categories-append   math
license             BSD
universal_variant   no
description         PETSc for Python - Python bindings for PETSc
long_description    PETSc is a suite of data structures and routines for the scalable \
                    (parallel) solution of scientific applications modeled by partial \
                    differential equations. It employs the MPI standard for all \
                    message-passing communication.

homepage            https://pypi.org/project/petsc4py/

maintainers         {mcalhoun @MarcusCalhoun-Lopez} openmaintainer

checksums           md5 6f81c45274adbf7c2186b72ca2fbffbf \
                    rmd160 00ffd214eaf2f9ef8e44833af33a7fa60a45b6d6 \
                    sha256 d3f24aa6612ded3e9b9ae11d5533f319d1df1705bea6d81385fea023d01175c9 \
                    size   413517

python.versions     310 311 313

if {${subport} ne ${name}} {
    mpi.setup       require
    mpi.enforce_variant \
                    py${python.version}-mpi4py

    depends_build-append \
                    port:py${python.version}-cython

    depends_lib-append \
                    port:petsc \
                    port:py${python.version}-mpi4py \
                    port:py${python.version}-numpy

    build.env-append    PETSC_DIR=${prefix}/lib/petsc
    destroot.env-append PETSC_DIR=${prefix}/lib/petsc
}
