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

PortSystem                  1.0

name                        gmt
version                     4.4.0
revision                    1
categories                  science
maintainers                 takeshi
description                 the generic mapping tools
long_description an open source collection of ~60 tools         \
    for manipulating geographic and Cartesian data sets and     \
    producing Encapsulated PostScript File (EPS) illustrations  \
    ranging from simple x-y plots via contour maps to           \
    artificially illuminated surfaces and 3-D perspective views.
homepage                    http://gmt.soest.hawaii.edu/
platforms                   darwin
master_sites                ftp://ftp.soest.hawaii.edu/gmt          \
                            ftp://ibis.grdl.noaa.gov/pub/gmt        \
                            ftp://ftp.iris.washington.edu/pub/gmt   \
                            ftp://ftp.iag.usp.br/pub/gmt            \
                            ftp://ftp.geologi.uio.no/pub/gmt        \
                            ftp://gd.tuwien.ac.at/pub/gmt           \
                            ftp://ftp.scc.u-tokai.ac.jp/pub/gmt     \
                            ftp://mirror.geosci.usyd.edu.au/pub/gmt \
                            ftp://gmt.mirror.ac.za/pub/gmt
use_bzip2                   yes
set gshhsversion            1.10
set gmtsrc                  GMT${version}_src.tar.bz2
set gmtshare                GMT${version}_share.tar.bz2
set gmtsuppl                GMT${version}_suppl.tar.bz2
set gshhslow                GSHHS${gshhsversion}_coast.tar.bz2
distfiles                   ${gmtsrc} ${gmtshare} ${gmtsuppl} ${gshhslow}
checksums                   ${gmtsrc}   md5    e5aa473a2bb93001942730f3da7c915f         \
                            ${gmtsrc}   sha1   73f4ff9c7c6a42d236caf9937a3e669ab1d0c435 \
                            ${gmtsrc}   rmd160 ff282578854b7619369018b0aeae791c071f6838 \
                            ${gmtshare} md5    e37256c2c0e710a207d3788a84795ad5         \
                            ${gmtshare} sha1   3ccb0400fd3bb4fffdaa3d266d1d3f9a2e9441d9 \
                            ${gmtshare} rmd160 0dbcb231b6435a831116b30405b3b2dfdea48af5 \
                            ${gmtsuppl} md5    ca3c570645c4159a1f6c048ff8c2a7b1         \
                            ${gmtsuppl} sha1   bbe6ed6c35cf4845764444d343e6c8b8003adcc0 \
                            ${gmtsuppl} rmd160 4d96cfdb0ec38bd756041eddf5fcdf20c1c82fd3 \
                            ${gshhslow} md5    d160db8dc5390731bce42d4e2a55d5e1         \
                            ${gshhslow} sha1   4fa3b1130addd9cb357e04f4b1f18b22b87a8405 \
                            ${gshhslow} rmd160 a9dd3b1336f31df7f5d3879cb72b0b095c533ef8
worksrcdir                  GMT${version}
configure.args              --mandir=${prefix}/share/man \
                            --datadir=${prefix}/share/${name} \
                            --enable-netcdf=${prefix} \
                            --enable-shared \
                            --disable-xgrid \
                            --disable-rpath
configure.cflags-append     -std=c99
use_parallel_build          yes
destroot.target             install-all
destroot.destdir            prefix=${destroot}${prefix}
pre-configure {
    reinplace "s|-flat_namespace -undefined suppress||" ${worksrcpath}/configure
}

post-destroot {
    xinstall -m 755 -d ${destroot}${prefix}/share/${name}
    eval xinstall -m 644 [glob ${workpath}/share/coast/*] \
    ${destroot}${prefix}/share/${name}
}

if {[variant_isset universal]} {
    configure.universal_args-delete --disable-dependency-tracking
    patch {
        reinplace "s|\$(AR) cvur \$@ \$?|if \[ -f \$@ \]; then \$(RM) \$@; fi;\$(AR) cvur \$@ \$?|" ${worksrcpath}/src/Makefile
        reinplace "s|-dynamiclib|-dynamiclib ${configure.universal_ldflags}|" ${worksrcpath}/configure
    }
}

variant gshhs description {installs high and full resolution GSHHS coast line data} {
    set gshhshigh GSHHS${gshhsversion}_high.tar.bz2
    set gshhsfull GSHHS${gshhsversion}_full.tar.bz2
    distfiles-append        ${gshhshigh} ${gshhsfull}
    checksums-append        ${gshhshigh} md5    ccf1fe0e5231f3e8e3b64140afb7de8d         \
                            ${gshhshigh} sha1   73893d6210b3c1a52fdf706248e70471b319f688 \
                            ${gshhshigh} rmd160 b4bc1903f3e51959c6dfb320003f9b783b40ed3c \
                            ${gshhsfull} md5    d029e624dfe8d15685779fa9f84ff78e         \
                            ${gshhsfull} sha1   95634a5db7debbc92cc7a1bd7117fe00e385bbf3 \
                            ${gshhsfull} rmd160 c17059e2b8a4632c2422e9694c947836fe86836e
}

variant doc description {installs documentation, examples and tutorial} {
    set gmtdoc GMT${version}_doc.tar.bz2
    distfiles-append        ${gmtdoc}
    checksums-append        ${gmtdoc}   md5    247e62f8468339b12d73f17dd5dbb0ad         \
                            ${gmtdoc}   sha1   7e8696e3763a8eddbc9de98766f26f58ec7bc431 \
                            ${gmtdoc}   rmd160 8362224b1315d82906903a338b1b3e08dd1cf5c5
}

variant octave description {compiles Octave interface} {
    depends_lib-append port:octave
    configure.args-append --enable-octave
    configure.args-delete --disable-mex
}

variant triangle description {use J. Shewchuk's fast, non-GPL triangulation routine} {
    set gmttri GMT${version}_triangle.tar.bz2
    distfiles-append        ${gmttri}
    checksums-append        ${gmttri} md5    1f1789e0f18f90aae20e211b2aa31d20         \
                            ${gmttri} sha1   c0f56347eae91cc0e46dbe072da83e2c038bf88b \
                            ${gmttri} rmd160 69dd1a379fcdeec3446c864d3d0527ba05664662
    configure.args-append   --enable-triangle
}

livecheck.check             regex
livecheck.url               http://gmt.soest.hawaii.edu/gmt/gmt_home.html
livecheck.regex             {Current version is ([0-9]+.[0-9]+.[0-9]+.)}
