# -*- 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
# $Id: Portfile 117247 2014-02-20 16:34:06Z eborisch@macports.org $

PortSystem          1.0

name                nco
version             4.4.0
platforms           darwin
maintainers         takeshi
license             GPL-3
categories          science
description         The netCDF Operators
master_sites        sourceforge \
                    http://dust.ess.uci.edu/${name}/src/ \
                    http://nco.sourceforge.net/src/

checksums           md5     157779cdf1fbf75626315c963a48cfce \
                    sha1    19c5bf2fd7b1572ac5382db7f9be26b2034c25a6 \
                    rmd160  6efd3563c06d2259714cc25489e21bb645cc76a6
homepage            http://nco.sourceforge.net/
long_description \
    Each NCO operator (e.g., ncks) takes netCDF or HDF input file(s), \
    performs an operation (e.g., averaging, hyperslabbing, or renaming), \
    and outputs a processed netCDF file. Although most users of netCDF \
    and HDF data are involved in scientific research, these data formats, \
    and thus NCO, are generic and are equally useful in fields like finance. \
    This version is OPeNDAP/DODS enabled, so it can be given \
    URLs to read remote datasets as if they were local netCDF files.

depends_lib         port:curl \
                    port:gettext \
                    port:libiconv \
                    port:libxml2 \
                    port:netcdf \
                    port:openssl \
                    port:udunits2 \
                    port:zlib \
                    port:gsl \
                    port:hdf5-18
depends_build       port:antlr \
                    port:bison \
                    port:m4 \
                    port:texinfo
depends_run         port:wget

configure.env       HAVE_ANTLR=yes ANTLR_ROOT=${prefix} \
                    PATH_TO_NCGEN=${prefix}/bin/ncgen
configure.cppflags-append   -I/usr/include/malloc \
                            -I${prefix}/include/udunits2 \
                            -I${prefix}/include \
                            -DENABLE_NETCDF4
configure.args      --disable-dependency-tracking \
                    --mandir=${prefix}/share/man  \
                    --enable-udunits2 \
                    --enable-dap-netcdf           \
                    --enable-netcdf4

#if {![variant_isset openmpi]&&![variant_isset mpich]} {
#    post-configure {
#        foreach d {nco nco++ nco_c++} {
#            reinplace "s|= -I${prefix}/include|= |" ${worksrcpath}/src/${d}/Makefile
#        }
#        reinplace "s|nco \${GSL_INC_ARG}|nco|" ${worksrcpath}/src/nco++/Makefile
#    }
#}

post-destroot {
    xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
    foreach f {ANNOUNCE ChangeLog LICENSE NEWS README TODO VERSION *.txt *.pdf} {
        eval xinstall -m 644 [glob ${worksrcpath}/doc/${f}] \
            ${destroot}${prefix}/share/doc/${name}
    }
}

variant mpich description {enable MPI with mpich (currently MPI is not supported)} {
#    depends_lib-append      path:bin/mpicc-mp:mpich-default
#    configure.args-append   --enable-mpi
#    post-extract {
#        reinplace -E "s|( ?MPICC := ).*|\\1${prefix}/mpicc-mp|" bld/Makefile
#        reinplace -E "s|( ?MPICXX := ).*|\\1${prefix}/mpicxx-mp|" bld/Makefile
#    }
}

variant openmpi description {enable MPI with openmpi (currently MPI is not supported)} {
#    depends_lib-append      port:openmpi
#    configure.args-append   --enable-mpi
}

livecheck.type      regex
livecheck.url       ${homepage}
livecheck.regex     {Current NCO version is ([0-9]+\.[0-9]+\.[0-9]+)}
