# -*- 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 91450 2012-04-02 07:42:25Z takeshi@macports.org $

PortSystem                  1.0

name                        nco
version                     4.1.0
platforms                   darwin
maintainers                 takeshi
categories                  science
description                 The netCDF Operators
master_sites                http://${name}.sourceforge.net/src/
checksums           md5     0e0af2226177d0b6981cf6f8208c2b6e \
                    sha1    7b02065536a0f6d4b28ce4fb305344c2ef55e9c3 \
                    rmd160  329e8a3296e5d4518fbdc8ae621e24660857e185
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 \
                            port:szip
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           \
                            --disable-dap-opendap         \
                            --enable-netcdf4

if {![variant_isset openmpi]&&![variant_isset mpich2]} {
    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 mpich2 description {enable MPI with mpich2} {
    depends_lib-append      port:mpich2
    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]+)}
