# -*- 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

PortSystem          1.0
PortGroup           compilers 1.0

name                ccpnmr
version             2.4.2
revision            2
set branch          [join [lrange [split $version .] 0 1] .]
categories          science python
maintainers         {gmail.com:howarth.at.macports @jwhowarth}
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  d87e6bfee8ab3f64790f925eee8fcf6e1efad257 \
                    sha256  14941131033cbd4b0b13d6d4fe3f9253360a7c2ace8ece9194be00c1fe4b2903
worksrcdir          ${name}
depends_lib         port:py27-scipy port:mesa port:libGLU port:freeglut port:tk port:py27-tkinter
patchfiles          ccpnmr.patch
use_configure       no

compilers.choose    cc cxx
compilers.setup     -clang -g95 -gfortran
compiler.blacklist  cc clang {macports-clang-3.[0-7]}

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}

post-patch {
    set lib ""
    if {[gcc_variant_isset]} {
        set lib "${prefix}/lib/[gcc_variant_name]"
    }
    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}"
}

if {![gcc_variant_isset]} {
    default_variants-append +${compilers.gcc_default}
}
