# -*- 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           cmake 1.1
PortGroup           github 1.0
PortGroup           mpi 1.0

github.setup        QcmPlab DMFTtools 2.6.5
revision            0
categories          science fortran
license             LGPL-3
maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
description         A collection of Fortran modules and routines to support quantum many-body calculations, \
                    with a strong focus on Dynamical Mean-Field Theory
long_description    {*}${description}
checksums           rmd160  a5628de8b66b380a9e5b18e070294a3aae82a319 \
                    sha256  737e3ac161579b2d4b936d8df1f0086086739b42157c0491c853bf0055de8ab5 \
                    size    190960
github.tarball_from archive

cmake.generator     Ninja

depends_build-append \
                    port:pkgconfig
depends_lib-append  port:scifor

patchfiles          patch-prefix.diff \
                    patch-dmft_tools.pc.diff

post-patch {
    reinplace "s,@PREFIX@,${prefix}," ${worksrcpath}/cmake/MainConfig.cmake
    reinplace "s,@PREFIX@,${prefix}," ${worksrcpath}/etc/dmft_tools.pc.in
    reinplace "s,@VERSION@,${version}," ${worksrcpath}/etc/dmft_tools.pc.in
}

compilers.choose    fc f90
mpi.setup           require_fortran -g95

if {[variant_isset mpich] || [variant_isset openmpi]} {
    configure.args-append \
                    -DUSE_MPI=ON
} else {
    configure.args-append \
                    -DUSE_MPI=OFF
}

# Provided install scripts are a mess, avoid them.
destroot {
    copy ${build.dir}/libdmft_tools.a ${destroot}/${prefix}/lib/
    xinstall -d ${destroot}${prefix}/lib/pkgconfig
    move ${worksrcpath}/etc/dmft_tools.pc.in ${destroot}${prefix}/lib/pkgconfig/dmft_tools.pc
    xinstall -d ${destroot}${prefix}/include/dmft_tools
    fs-traverse f ${build.dir}/include {
        if {[file isfile ${f}] && [file extension ${f}] == ".mod"} {
            copy ${f} ${destroot}${prefix}/include/dmft_tools/
        }
    }
}
