# -*- 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-netcdf4
python.rootname     netCDF4
version             1.5.6
revision            1

categories-append   science
platforms           darwin
license             MIT
maintainers         {fastmail.fm:jswhit @jswhit} openmaintainer

description         Python/numpy interface to netCDF
long_description    netCDF version 4 has many features not found in \
                    earlier versions of the library and is implemented \
                    on top of HDF5. This module can read and write files \
                    in both the new netCDF 4 and the old netCDF \
                    3 format, and can create files that are readable by \
                    HDF5 clients.

homepage            https://unidata.github.io/netcdf4-python/

checksums           rmd160  275242fba54553a97374fbcead50ff2621e2888e \
                    sha256  7577f4656af8431b2fa6b6797acb45f81fa1890120e9123b3645e14765da5a7c \
                    size    763732

mpi.enforce_variant netcdf
mpi.setup

build.env-append    USE_NCCONFIG=1
destroot.env-append USE_NCCONFIG=1

python.versions     27 35 36 37 38 39

if {${name} ne ${subport}} {
    if {${python.version} in "27 35"} {
        version         1.5.3
        revision        4
        checksums       rmd160  b855fcb0cc51bf349824ada5129feab9f3911728 \
                        sha256  2a3ca855848f4bbf07fac366da77a681fcead18c0a8813d91d46302f562dc3be \
                        size    790343
    }

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

    depends_lib-append \
                    port:netcdf \
                    port:py${python.version}-cftime \
                    port:hdf5 \
                    port:py${python.version}-numpy \
                    port:py${python.version}-setuptools

    pre-configure {
        # py-netcdf4's setup.py uses nc-config for flags and libs but not compiler
        configure.cc    {*}[exec ${prefix}/bin/nc-config --cc]
    }

    pre-test {
        test.env    PYTHONPATH=[glob -nocomplain ${worksrcpath}/build/lib*]
    }

    test.run        yes
    test.dir        ${build.dir}/test
    test.cmd        ${python.bin} run_all.py
    test.target

    post-destroot {
        set docdir ${prefix}/share/doc/${subport}
        xinstall -d ${destroot}${docdir}
        xinstall -m 0644 -W ${worksrcpath} Changelog \
           README.md ${destroot}${docdir}
    }

    livecheck.type  none
}
