# -*- 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                        cdo
version                     1.6.2
revision                    1
platforms                   darwin
maintainers                 takeshi
license                     GPL-2
categories                  science
description                 Climate Data Operators
homepage                    https://code.zmaw.de/projects/cdo
master_sites                https://code.zmaw.de/attachments/download/6764
checksums           md5     a17b23e09a2cae95504bfb2a4338e632 \
                    sha1    8558ea71396ae7f6ca5afc607d29e659f9574fdc \
                    rmd160  94c16852d00f3bfcde91f9b4aafd2ccf74c77ba6
long_description \
    CDO is a collection of command line Operators               \
    to manipulate and analyse Climate Data files.               \
    Supported data formats are GRIB, netCDF, SERVICE, EXTRA and IEG. \
    There are more than 600 operators available.

fetch.ignore_sslcert        yes

depends_lib                 port:netcdf \
                            port:udunits2 \
                            port:proj47

configure.args              --with-netcdf=${prefix} \
                            --disable-dependency-tracking \
                            --with-proj=${prefix}/lib/proj47 \
                            --with-hdf5=${prefix} \
                            --with-udunits2=${prefix} \
                            --with-zlib=${prefix}
configure.cppflags-append   -I/usr/include/malloc \
                            -I${prefix}/include/udunits2

# Test if hdf5-18 is installed with +openmpi or +mpich
if {[file exists ${prefix}/bin/h5pcc]} {
    default_variants +mpi
}

post-destroot {
    xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}/doc
    eval xinstall -m 644 [glob ${worksrcpath}/doc/*.pdf] ${destroot}${prefix}/share/doc/${name}/doc
    foreach f {AUTHORS  ChangeLog NEWS OPERATORS README} {
        eval xinstall -m 644 [glob ${worksrcpath}/${f}] ${destroot}${prefix}/share/doc/${name}
    }
}

if {[variant_isset magicspp]} {
    default_variants    +grib_api
}

variant grib2 description {obsoleted by grib_api varint} {
    default_variants +grib_api
}

variant grib_api description {enable grib2 support} {
    depends_lib-append      port:grib_api
    configure.args-append   --with-jasper=${prefix} \
                            --with-grib_api=${prefix}
    configure.ldflags-append    -lpng -lopenjpeg
}

variant mpi description conflicts cdi {compile with h5pcc} {
    configure.cc            ${prefix}/bin/h5pcc
}

variant szip description {compile with szip support} {
    depends_lib-append      port:szip
    configure.args-append   --with-szlib=${prefix}
}

variant magicspp description {compile with ECMWF magics support} {
    depends_lib-append      port:libxml2 \
                            port:magicspp
    configure.args-append   --with-libxml2=${prefix} \
                            --with-magics=${prefix}
}

variant cdi description conflicts mpi {build, install and link to a CDI library} {
    configure.args-append   --enable-cdi-lib
}

livecheck.type              regex
livecheck.url               ${homepage}
livecheck.regex             {Version ([0-9]+\.[0-9]+\.[0-9]+\.*[0-9]*)}
