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

PortSystem                  1.0

name                        cdo
version                     1.6.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/5824
checksums           md5     e658a9478dc9cb6b583b45c32261b48e \
                    sha1    b88d11f8de455b78273cdcde507a85546fc3bc19 \
                    rmd160  07eb366f27e4adff90c374725f48ec3a053c0319
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 +mpich2
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 {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 {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]*)}
