# -*- 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 115019 2013-12-22 09:29:46Z ryandesign@macports.org $

PortSystem          1.0
PortGroup           python 1.0
PortGroup           active_variants 1.1

name                pymol
version             1.6.0
revision            1
categories          science chemistry
license             GPL
maintainers         bromo.med.uc.edu:howarth
description         Molecular graphics system
long_description    PyMOL is a molecular graphics system with an embedded Python interpreter \
                    designed for real-time visualization and rapid generation of high-quality \
                    molecular graphics images and animations.

platforms           darwin

homepage            http://www.pymol.org/

master_sites        sourceforge
fetch.type          svn
svn.url             https://svn.code.sf.net/p/pymol/code/trunk/pymol
svn.revision        4039
worksrcdir          pymol

python.default_version 27

depends_lib-append  port:freeglut \
                    port:freetype \
                    port:glew \
                    port:libpng \
                    port:mesa \
                    port:py${python.version}-numpy \
                    port:py${python.version}-pmw \
                    port:py${python.version}-scipy \
                    port:py${python.version}-tkinter
depends_run         port:xdpyinfo

# py-scipy is not universal
universal_variant   no

patchfiles          setup_py.diff \
                    pymol_shell.diff \
                    pmg_tk_platform.patch \
                    apbs-psize.patch \
                    apbs_tkinter.patch \
                    pymol-clang.diff 

require_active_variants tcl "" corefoundation
require_active_variants tk "" quartz

post-patch {
    reinplace  "s|@PREFIX@|${prefix}|g" ${worksrcpath}/setup.py
    reinplace  "s|@@PYTHON_PKGDIR@@|${python.pkgd}|g" ${worksrcpath}/setup/pymol_macports
    reinplace  "s|@@PYTHON_BINARY@@|${python.bin}|g" ${worksrcpath}/setup/pymol_macports
}

use_parallel_build yes

variant gcc43 description conflicts gcc44 gcc45 gcc46 gcc47 gcc48 gcc49 description {build using macports-gcc-4.3} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.3
}

variant gcc44 description conflicts gcc43 gcc45 gcc46 gcc47 gcc48 gcc49 description {build using macports-gcc-4.4} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.4
}

variant gcc45 description conflicts gcc43 gcc44 gcc46 gcc47 gcc48 gcc49 description {build using macports-gcc-4.5} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.5
}

variant gcc46 description conflicts gcc43 gcc44 gcc45 gcc47 gcc48 gcc49 description {build using macports-gcc-4.6} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.6
}

variant gcc47 description conflicts gcc43 gcc44 gcc45 gcc46 gcc48 gcc49 description {build using macports-gcc-4.7} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.7
}

variant gcc48 description conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc49 description {build using macports-gcc-4.8} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.8
}

variant gcc49 description conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 description {build using macports-gcc-4.9} {
    python.add_archflags    no
    configure.compiler      macports-gcc-4.9
}

build {}

pre-destroot {
    destroot.env CC="${configure.cc}" CXX="${configure.cxx}"
}

post-destroot {
     file copy ${worksrcpath}/setup/pymol_macports ${destroot}${prefix}/bin/pymol
     file attributes ${destroot}${prefix}/bin/pymol -permissions a+x
     foreach d {data modules examples test scripts} {
        copy ${worksrcpath}/${d} ${destroot}${python.pkgd}/pymol
    }
}
