# -*- 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 110168 2013-08-27 19:41:46Z jeremyhu@macports.org $

PortSystem          1.0

name                jags
version             3.3.0
revision            1
set major           [lindex [split ${version} .] 0]
categories          science
platforms           darwin
maintainers         uchicago.edu:dmeliza
description         Just Another Gibbs Sampler
long_description    JAGS is a program for analysis of Bayesian hierarchical \
                    models using Markov Chain Monte Carlo (MCMC) simulation \
                    not wholly unlike BUGS.
homepage            http://mcmc-jags.sourceforge.net/
master_sites        sourceforge:project/mcmc-jags/JAGS/${major}.x/Source
distname            JAGS-${version}

checksums           rmd160  7ddefa48dd9b3c837a69e7f0c17da7a5724da87f \
                    sha256  8a3755c8e8cd5a2d68a465d56f054f1380fa7e2b602bfe65d360eb23e5b6101a

depends_build       port:bison \
                    port:libtool

universal_variant   no

configure.args      --with-blas='-framework vecLib' \
                    --with-lapack='-framework vecLib'

set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9}
set default_fortran_variant +gcc48

foreach ver ${gcc_versions} {
    set ver_no_dot [join [split ${ver} "."] ""]

    set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}"}

    foreach over ${gcc_versions} {
        if {${ver} == ${over}} {
            continue
        }

        set over_no_dot [join [split ${over} "."] ""]
        append variant_line " conflicts gcc${over_no_dot}"
    }
    append variant_line { {}}

    eval $variant_line

    if {[variant_isset gcc${ver_no_dot}]} {
        if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
            set default_fortran_variant ""
        }
    }
}

if {${default_fortran_variant} != ""} {
    default_variants-append "${default_fortran_variant}"
}

foreach ver ${gcc_versions} {
    set ver_no_dot [join [split ${ver} "."] ""]

    if {[variant_isset gcc${ver_no_dot}]} {
        depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
        depends_build-append port:gcc${ver_no_dot}

        configure.fc  ${prefix}/bin/gfortran-mp-${ver}
        configure.f77 ${prefix}/bin/gfortran-mp-${ver}
        configure.f90 ${prefix}/bin/gfortran-mp-${ver}
    }
}

build.env-append    CC="${configure.cc}" \
                    CXX="${configure.cxx}" \
                    F77="${configure.f77}"

destroot.env-append CC="${configure.cc}" \
                    CXX="${configure.cxx}" \
                    F77="${configure.f77}"

livecheck.type          sourceforge
livecheck.name          mcmc-jags
livecheck.regex         /JAGS-(\[0-9.\]+)${extract.suffix}
