# $Id: Portfile 64025 2010-02-20 10:41:31Z ryandesign@macports.org $

PortSystem         1.0
PortGroup          python24 1.0

categories-append  graphics math
name               py-matplotlib
version            0.99.0
maintainers        nomaintainer
platforms          darwin

description        matlab-like syntax for creating plots in python
long_description   Matplotlib is a pure python plotting library with the \
                   goal of making publication quality plots using a syntax \
                   familiar to matlab users. The library uses numpy for \
                   handling large data sets and supports a variety of \
                   output backends. This port provides variants for the \
                   different GUIs (gtk2, tkinter, wxpython).

homepage           http://matplotlib.sourceforge.net
master_sites       sourceforge:matplotlib
distname           matplotlib-${version}

checksums          md5 8e019e17396e816cc2ef52843532e727 \
                   sha1 5c267e96ecebe0654683b6325f423c53ae5ccd39 \
                   rmd160 e69f3d6c877e2854becf71a25e4ba56f2ced8735

depends_lib-append port:freetype \
                   port:libpng \
                   port:py-dateutil \
                   port:py-tz \
                   port:py-numpy \
                   port:py-configobj \
                   port:py-pyobjc2 \
                   port:py-pyobjc2-cocoa

patchfiles         patch-setupext.py.diff \
                   patch-setup.cfg.diff \
                   patch-disable_optional_deps.diff

build.env          MPLIB_BASE="${prefix}"

post-patch {
  reinplace "s|@@MPORTS_PREFIX@@|${prefix}|" ${worksrcpath}/setupext.py
}

post-destroot {
  xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name} \
    ${destroot}${prefix}/share/${name}
  xinstall -m 644 -W ${worksrcpath} CHANGELOG INSTALL \
    INTERACTIVE KNOWN_BUGS README.txt TODO \
    ${destroot}${prefix}/share/doc/${name}
  file copy ${worksrcpath}/license \
    ${destroot}${prefix}/share/doc/${name}
  file copy ${worksrcpath}/examples \
    ${destroot}${prefix}/share/${name}
}

post-activate {
  ui_msg "\nThe default backend is now the non-interactive Agg backend, different
backends can be specified using the ~/.matplotlib/matplotlibrc file.
More details, regarding backends, can be found in the matplotlib FAQ:
\nhttp://matplotlib.sourceforge.net/faq/installing_faq.html#what-is-a-backend\n"
}

platform darwin 8 {
  depends_lib-append port:py-pyobjc
  depends_lib-delete port:py-pyobjc2 port:py-pyobjc2-cocoa
}

variant cairo description "Enable Cairo backends" {
  depends_lib-append port:py-cairo
  post-patch {
    reinplace "s|MP_Cairo=False|MP_Cairo=True|" ${worksrcpath}/setupext.py
  }
}

variant gtk2 description "Enable GTKAgg backend" {
  depends_lib-append port:py-gtk2
  post-patch {
    reinplace "s|^gtk=False|gtk=True|" ${worksrcpath}/setup.cfg
    reinplace "s|^gtkagg=False|gtkagg=True|" ${worksrcpath}/setup.cfg
  }
}

variant tkinter description "Enable tkAgg backend" {
  depends_lib-append port:py-tkinter
  post-patch {
    reinplace "s|^tkagg=False|tkagg=True|" ${worksrcpath}/setup.cfg
  }
}

variant wxpython description "Enable wxAgg backend" {
  depends_lib-append port:py-wxpython
  post-patch {
    reinplace "s|^wxagg=False|wxagg=True|" ${worksrcpath}/setup.cfg
  }
}

variant qt4 description "Enable QT4Agg backend" {
  depends_lib-append port:py-pyqt4
  post-patch {
    reinplace "s|MP_QT4=False|MP_QT4=True|" ${worksrcpath}/setupext.py
  }
}

variant latex description "Enable LaTeX support" {
  depends_lib-append bin:latex:texlive
  post-patch {
    reinplace "s|MP_LaTeX=False|MP_LaTeX=True|" ${worksrcpath}/setupext.py
  }
}

variant ghostscript description "Enable GhostScript support" {
  depends_lib-append port:ghostscript
  post-patch {
    reinplace "s|MP_GhostScript=False|MP_GhostScript=True|" ${worksrcpath}/setupext.py
  }
}

if { ![variant_isset gtk2] && ![variant_isset tkinter] && ![variant_isset wxpython] && ![variant_isset qt4] } {
  default_variants   +tkinter
}

livecheck.type     none
