# -*- 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 107713 2013-07-04 15:32:01Z g5pw@macports.org $

PortSystem          1.0

name                ccpnmr
version             2.3.0
set branch          [join [lrange [split $version .] 0 1] .]
categories          science python
maintainers         bromo.med.uc.edu:howarth
description         CCPNMR
long_description    The CcpNmr software suite is a series of programs \
                    for macromolecular NMR spectroscopy integrated with \
                    the CCP data model. The CCP Data Model for macro- \
                    molecular NMR is intended to cover all data needed \
                    for macromolecular NMR spectroscopy from the initial \
                    experimental data to the final validation.
platforms           darwin
homepage            http://www.ccpn.ac.uk/ccpn/software/ccpnmr-suite
master_sites        http://www2.ccpn.ac.uk/download/ccpnmr/
distname            analysis${version}
checksums           rmd160  1124fa7d38fb6e709bbd078b630f6619bc433bd9 \
                    sha256  b36ed5b773ca6b0d7a09ff705cf98256cbc093f57d51f6945ac021c5d2a380f1
worksrcdir          ${name}
depends_lib         port:py27-scipy port:mesa port:freeglut port:tk port:py27-tkinter
patchfiles          ccpnmr.patch
use_configure       no

set python.branch	2.7
set python.prefix	${frameworks_dir}/Python.framework/Versions/${python.branch}
set python.bin	${python.prefix}/bin/python${python.branch}
set python.pkgd	${python.prefix}/lib/python${python.branch}/site-packages
set python.libdir ${python.prefix}/lib/python${python.branch}
set python.include	${python.prefix}/include/python${python.branch}

set lib ""

post-patch {
    reinplace  "s|@PYTHON_BIN@|${python.bin}|g"   ${worksrcpath}/bin/analysis \
                                                  ${worksrcpath}/bin/formatConverter \
                                                  ${worksrcpath}/bin/pipe2azara \
                                                  ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt \
                                                  ${worksrcpath}/bin/dataShifter \
                                                  ${worksrcpath}/bin/updateAll \
                                                  ${worksrcpath}/bin/updateCheck
    reinplace  "s|@PYTHON_PKGD@|${python.pkgd}|g" ${worksrcpath}/bin/analysis \
                                                  ${worksrcpath}/bin/formatConverter \
                                                  ${worksrcpath}/bin/pipe2azara \
                                                  ${worksrcpath}/bin/dataShifter \
                                                  ${worksrcpath}/bin/updateAll \
                                                  ${worksrcpath}/bin/updateCheck
    reinplace  "s|@PREFIX@|${prefix}|g" ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt
    reinplace  "s|/usr/X11R6|${prefix}|g" ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt
    reinplace  "s|@PYTHON_INCL@|${python.include}|g" ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt
    reinplace  "s|@CC@|${configure.cc}|g" ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt
    reinplace  "s|@GCCLIB@|${lib}|g" ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt
}
pre-build {
    copy ${worksrcpath}/ccpnmr${branch}/c/environment-opengl.txt ${worksrcpath}/ccpnmr${branch}/c/environment.txt
}

build.args      CC=${configure.cc} ARCHFLAGS="${configure.cc_archflags}"
build.dir       ${worksrcpath}/ccpnmr${branch}/c
build.target    all links
destroot {
    foreach f {analysis dataShifter formatConverter pipe2azara updateAll updateCheck} {
        xinstall -m 755 ${worksrcpath}/bin/${f} ${destroot}${prefix}/bin
    }
    file mkdir ${destroot}${python.pkgd}/${name}/${name}${branch}/
    foreach d {c python data model doc} {
        copy ${worksrcpath}/ccpnmr${branch}/${d} ${destroot}${python.pkgd}/${name}/${name}${branch}
    }
    system "echo '${name}/${name}${branch}/python' > ${destroot}${python.pkgd}/${name}.pth"
    copy ${worksrcpath}/doc ${destroot}${python.pkgd}/${name}
}
post-destroot {
    system "${python.bin} -O ${python.libdir}/compileall.py -d ${python.pkgd}/${name}/${name}${branch} ${destroot}${python.pkgd}/${name}/${name}${branch}"
}

variant gcc45 conflicts gcc46 gcc47 description {Build with GCC 4.5} {
    configure.compiler  macports-gcc-4.5
    depends_lib-append  port:gcc45
    set lib ${prefix}/lib/gcc45
}
variant gcc46 conflicts gcc45 gcc47 description {Build with GCC 4.6} {
    configure.compiler  macports-gcc-4.6
    depends_lib-append  port:gcc46
    set lib ${prefix}/lib/gcc46
}
variant gcc47 conflicts gcc45 gcc46 description {Build with GCC 4.7} {
    configure.compiler  macports-gcc-4.7
    depends_lib-append  port:gcc47
    set lib ${prefix}/lib/gcc47
}

if {![variant_isset gcc45] && ![variant_isset gcc46]} {
    default_variants    +gcc47
}
