# -*- 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 55360 2009-08-09 22:49:08Z takeshi@macports.org $

PortSystem                  1.0

name                        nco
version                     3.9.9
platforms                   darwin
revision                    1
maintainers                 takeshi
categories                  science
description                 The netCDF Operators
master_sites                http://${name}.sourceforge.net/src/
checksums                   md5    0340b2adc2fc189c3766160b1c96ef7c         \
                            sha1   f8e62993423cdf3c444637a8c280a8a62e725651 \
                            rmd160 e1721bf3f9ad1473dc0120651b6130830cd7c77c
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:libdap \
                            port:libiconv \
                            port:libxml2 \
                            port:netcdf \
                            port:openssl \
                            port:udunits \
                            port:zlib \
                            port:antlr \
                            port:gsl
depends_build               port:bison \
                            port:m4
depends_run                 port:wget

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

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
}

variant udunits2 description {compile with udunits2} {
    depends_lib-delete      port:udunits
    depends_lib-append      port:udunits2
    configure.args-delete   --enable-udunits --disable-udunits2
    configure.args-append   --disable-udunits --enable-udunits2
}

variant netcdf4 description {enable netcdf4} {
   depends_lib-append       port:hdf5-18 \
                            port:szip
   configure.env-append     NETCDF4_ROOT=${prefix}
   configure.cppflags-append    -DHAVE_NETCDF4_H
   configure.args-delete    --disable-dap-netcdf           \
                            --enable-dap-opendap         \
                            --disable-netcdf4
   configure.args-append    --enable-dap-netcdf           \
                            --disable-dap-opendap         \
                            --enable-netcdf4
}

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