# -*- 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 87971 2011-12-14 21:20:34Z takeshi@macports.org $

PortSystem          1.0

name                grib_api
version             1.9.9
revision            2
platforms           darwin
maintainers         takeshi
license             LGPL
categories          science
description         GRIB decoder
homepage            http://www.ecmwf.int/products/data/software/grib_api.html
master_sites        http://www.ecmwf.int/products/data/software/download/software_files/
checksums           md5     fe6c684e4a41477f3a6e97ab8892f35d \
                    sha1    f16333363f35cbcab496118afe1fe21ae743b756 \
                    rmd160  fb2fa217edf7c07b432af91337da3cf04039fd9c
long_description \
    The ECMWF GRIB API is an application program interface accessible \
    from C and FORTRAN programs developed for encoding and decoding   \
    WMO FM-92 GRIB edition 1 and edition 2 messages. A useful set of  \
    command line tools is also provided to give quick access to grib messages.

depends_lib         port:jasper \
                    port:openjpeg \
                    port:libpng

post-patch {
    if {${os.major} == 8} {
        reinplace "s| -Wl,-rpath \$fortranlibdir||" ${worksrcpath}/configure
    }
    reinplace "s|share\/samples|share/$name/samples|" ${worksrcpath}/configure
    reinplace "s|share\/samples|share/$name/samples|" ${worksrcpath}/configure
    reinplace "s|share\/definitions|share/$name/definitions|" ${worksrcpath}/configure
    reinplace "s|'none'|''|" ${worksrcpath}/configure
}

# grib_api does not build with clang
if {${configure.compiler}=="clang"} {
    configure.compiler  llvm-gcc-4.2
}

configure.args      --disable-dependency-tracking \
                    --disable-fortran \
                    --with-ifs-samples=${prefix}/share/${name}/ifs_samples \
                    --with-jasper=${prefix} \
                    --with-openjpeg=${prefix} \
                    --with-png-support=${prefix}

test.run            yes
test.target         check

post-destroot {
    xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
    eval xinstall -m 644 [glob ${worksrcpath}/html/*.html] \
        ${destroot}${prefix}/share/doc/${name}
    foreach b {parser points} {
        file rename ${destroot}${prefix}/bin/${b} ${destroot}${prefix}/bin/grib_${b}
    }
}

variant emos description {deprecated to remove dependency to emos} {
}

variant gcc43 conflicts g95 gcc44 gcc45 description {builds fortran interface with gfortran 4.3} {
    depends_build-append    port:gcc43
    configure.args-delete   --disable-fortran
    configure.compiler      macports-gcc-4.3
    configure.args-append   --with-fortranlibdir=${prefix}/lib/gcc43 \
                            --with-fortranlibs=-lgfortran
}

variant gcc44 conflicts g95 gcc43 gcc45 description {builds fortran interface with gfortran 4.4} {
    depends_build-append    port:gcc44
    configure.args-delete   --disable-fortran
    configure.compiler      macports-gcc-4.4
    configure.args-append   --with-fortranlibdir=${prefix}/lib/gcc44 \
                            --with-fortranlibs=-lgfortran
}

variant gcc45 conflicts g95 gcc43 gcc44 description {builds fortran interface with gfortran 4.5} {
    depends_build-append    port:gcc45
    configure.args-delete   --disable-fortran
    configure.compiler      macports-gcc-4.5
    configure.args-append   --with-fortranlibdir=${prefix}/lib/gcc45 \
                            --with-fortranlibs=-lgfortran
}

variant g95 conflicts gcc43 gcc44 gcc45 emos universal description {builds fortran interface with g95} {
    depends_build-append    port:g95
    configure.args-delete   --disable-fortran
    configure.fc            ${prefix}/bin/g95
    configure.f77           ${configure.fc}
    configure.args-append   --with-fortranlibdir=${prefix}/lib \
                            --with-fortranlibs=-lf95
}
