# -*- 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 107816 2013-07-06 07:06:51Z takeshi@macports.org $

PortSystem          1.0

name                nco
version             4.3.2
platforms           darwin
maintainers         takeshi
license             GPL-3
categories          science
description         The netCDF Operators
master_sites        http://dust.ess.uci.edu/${name}/src/ \
                    http://nco.sourceforge.net/src/
checksums           md5     0dadd2378d8ab5019e6a0bfc11da6bad \
                    sha1    fe52d58285bb50f82bcd01142a4b26322c6bbe51 \
                    rmd160  5570dc60b58e99ae565568ad61c845e4e2a9165a
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:antlr \
                    port:gsl \
                    port:hdf5-18
depends_build       port:bison \
                    port:m4
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} {
    depends_lib-append      path:bin/mpicc:mpich
    configure.args-append   --enable-mpi
}

variant openmpi description {enable MPI with openmpi} {
    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]+)}
variant mpich2 requires mpich description {Legacy compatibility variant} {}
