# -*- 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 66647 2010-04-19 05:37:18Z takeshi@macports.org $

PortSystem                  1.0

name                        gmt
version                     4.5.2
revision                    1
categories                  science
maintainers                 takeshi
license                     GPLv2
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            2.0.2
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     1cecd3588a117e19f82a3fbf46ed094d \
                            ${gmtsrc}   sha1    85b39caf655f22327839ce10c4d03c1b87c7fe15 \
                            ${gmtsrc}   rmd160  71d6e4538dd855916fadeb02cfb944b1d1e6e6c0 \
                            ${gmtshare} md5     101ec440d66fe9cee4689272cf29d1ec \
                            ${gmtshare} sha1    346495f5ff006a318a39099573b0a5e408995d63 \
                            ${gmtshare} rmd160  62ee2946ed3e24cdf5580835d4f786ae06754ee1 \
                            ${gmtsuppl} md5     f61a1109a7a6119524e70efb6047b614 \
                            ${gmtsuppl} sha1    0ba932f93f27c7dc27a06305ead8dba36b619004 \
                            ${gmtsuppl} rmd160  9f226e2e4b45e9f69889ec5819a5aa187d5fb5f9 \
                            ${gshhslow} md5     5edeabc967ea6c25b4d56c309c1e0676 \
                            ${gshhslow} sha1    d2d3aa32d3acb4b5365c1959f06dedbf574038c2 \
                            ${gshhslow} rmd160  95fb1acefadac39448714508aaedf91aca1c55c8
worksrcdir                  GMT${version}

depends_lib                 port:netcdf

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          no
destroot.target             install-all
destroot.destdir            prefix=${destroot}${prefix}
configure.ldflags-delete    -L${prefix}/lib
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
    }
} else {
    patch {
        reinplace "s|-dynamiclib|-dynamiclib ${configure.cc_archflags}|" ${worksrcpath}/configure
    }
    configure.ldflags-append    ${configure.cc_archflags}
}

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     f3602576cdad97f513b5baf3ec476f51 \
                            ${gshhshigh} sha1    7b147470c2909d3b8ffb5cb87c467724ac0d1634 \
                            ${gshhshigh} rmd160  a30f09aa4d6d4cfeec15fa5d625572c79f55fb38 \
                            ${gshhsfull} md5     d15b8727b38741ca2a7d777ff72a42d0 \
                            ${gshhsfull} sha1    9c41ddcb5853f163544b48fe0204bbbdd4e20ff3 \
                            ${gshhsfull} rmd160  9988a695d1f45b5b4d8242d28199f8ff772a2595
}

variant doc description {installs documentation, examples and tutorial} {
    set gmtdoc GMT${version}_doc.tar.bz2
    distfiles-append        ${gmtdoc}
    checksums-append        ${gmtdoc}   md5     ee97a570d6d18459ed5eb8eb1c4bcfe0 \
                            ${gmtdoc}   sha1    2f030349bafe376526359336dfcb459e8ab60fe6 \
                            ${gmtdoc}   rmd160  f18689a2d879e7cde16985e4e4c7f0274d09657c
}

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     c346c207e5d2c80bfaf8a957a9756cb0 \
                            ${gmttri} sha1    0363101d0f1ce79f90dd0517e8d227cfa5d2b537 \
                            ${gmttri} rmd160  1b29be1183ad8b0f7c8650b550bfb66b171c6a6b
    configure.args-append   --enable-triangle
}

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