# -*- 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$
PortSystem          1.0
PortGroup           python26 1.0
name                apbs
version             1.1.0
categories          science
maintainers         howarth@bromo.med.uc.edu
description         APBS
long_description    APBS is a software package for the numerical solution \
                    of the Poisson-Boltzmann equation, a popular continuum \
                    model for describing electrostatic interactions between \
                    molecular solutes over a wide range of length scales.
homepage            http://apbs.sourceforge.net/
platforms           darwin
master_sites        http://voxel.dl.sourceforge.net/project/apbs/apbs/apbs-${version}/
distfiles           apbs-${version}-source.tar.gz
checksums           md5 ca31ba09714e4fc9acce91e7961569cd \
                    sha1 7274a3a896da551f2bb689bb32ea5c852cbd32bb \
                    rmd160 f03c5617067cc33cb43e425acc74a5df3374744f
depends_lib         port:gcc44 \
                    port:readline \
                    port:py26-zsi
patchfiles          apbs.diff
worksrcdir          ${name}-${version}-source
use_parallel_build  no
use_configure       yes
build.cmd           make
build.target        all
configure.env       py_path=${python.bin} F77=gfortran-mp-4.4
configure.args      --enable-python --with-python=${python.bin} --with-blas="-L/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A -lblas -Wl,-framework -Wl,vecLib -Wl,-undefined -Wl,dynamic_lookup" FFLAGS="-O3"

post-patch {
    reinplace  "s|@PYTHON_PKGD@|${python.pkgd}|g" ${worksrcpath}/configure
    reinplace  "s|@INSTALL_DIR@|${destroot}|g" ${worksrcpath}/contrib/opal/ZSI/Makefile.in
    reinplace  "s|@PYTHON_PREFIX@|${python.prefix}|g" ${worksrcpath}/contrib/opal/ZSI/Makefile.in
}

destroot {
      reinplace "s|always_built_SUBDIRS =  maloc |always_built_SUBDIRS =  |g" ${worksrcpath}/contrib/Makefile
      reinplace "s|pmgZ aqua opal|pmgZ aqua|g" ${worksrcpath}/contrib/Makefile
      file mkdir ${destroot}${python.pkgd}/apbs
      
      system "cd ${worksrcpath}; make install DESTDIR=${destroot} INSTALL='install -p' CPPROG='cp -p'"

      eval xinstall [glob ${worksrcpath}/contrib/opal/opal-py-1.9.3/wsdl/*.py] \
                   ${destroot}${python.pkgd}/apbs
      eval xinstall -m 644 [glob ${worksrcpath}/src/aaa_inc/apbs/*.h] ${destroot}${prefix}/include/apbs

      foreach {bin} {psize.py coulomb born} {
         xinstall -m 755 ${worksrcpath}/tools/manip/${bin} ${destroot}${prefix}/bin/apbs-${bin}
      }
      foreach {bin} {mgmesh dxmath mergedx2 mergedx value uhbd_asc2bin smooth dx2mol dx2uhbd similarity \
                      multivalue benchmark analysis} {
         xinstall -m 755 ${worksrcpath}/tools/mesh/${bin} ${destroot}${prefix}/bin/apbs-${bin}
      }

     xinstall -m 755 ${worksrcpath}/bin/ApbsClient.py ${destroot}${prefix}/bin

}

post-destroot {
    system "${python.bin} -O ${python.libdir}/compileall.py -d ${python.pkgd}/apbs ${destroot}${python.pkgd}/apbs"
}
