# -*- 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 90820 2012-03-15 03:13:40Z jmr@macports.org $

PortSystem              1.0
PortGroup               python 1.0

name                    py-scipy
version                 0.10.1
categories              python
platforms               darwin
license                 BSD
maintainers             ram openmaintainer
description             An opensource library of scientific tools for Python
long_description        ${description}

homepage                http://www.scipy.org/
master_sites            sourceforge:project/scipy/scipy/${version}/
distname                scipy-${version}

checksums               md5 6ad976549e22e04ca93e70cf55b70a22 \
                        sha1 cff0311dfafcc5bc3cacb47cdda8ed6d7c09d691 \
                        rmd160 1c50fe1ab6004197b0808f0a2760220c6a942f8f

python.versions         24 25 26 27 31 32

if {${subport} != ${name}} {

depends_lib-append      port:py${python.version}-numpy \
                        port:py${python.version}-nose \
                        port:SuiteSparse \
                        port:swig-python

worksrcdir              ${distname}

build.env-append        CCFLAGS="-I${prefix}/include -L${prefix}/lib"

destroot.env-append     CCFLAGS="-I${prefix}/include -L${prefix}/lib"

patchfiles              scipy_complex.patch
post-patch {
  reinplace "s|include <\\(umfpack\.*.h\\)>|include <${prefix}/include/ufsparse/\\1>|g" ${worksrcpath}/scipy/sparse/linalg/dsolve/umfpack/umfpack.i
}

variant atlas description "Use MacPorts ATLAS libraries" {
    depends_lib-append      port:atlas

    build.env-append        ATLAS=${prefix}/lib \
                            LAPACK=${prefix}/lib \
                            BLAS=${prefix}/lib

    destroot.env-append     ATLAS=${prefix}/lib \
                            LAPACK=${prefix}/lib \
                            BLAS=${prefix}/lib
}

variant gcc42 conflicts gcc43 gcc44 gcc45 gcc46 description "Use gcc 4.2 tool chain for building" {
  configure.compiler    macports-gcc-4.2
  depends_lib-append    port:gcc42
  set fc_options        "config_fc --fcompiler gnu95 --f77exec ${prefix}/bin/gfortran-mp-4.2 --f90exec ${prefix}/bin/gfortran-mp-4.2"
  set config_options    "config --cc ${prefix}/bin/gcc-mp-4.2 --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
  build.cmd-append      ${fc_options} ${config_options}
  destroot.cmd-append   ${fc_options} ${config_options}

  destroot.env-append   CC="${prefix}/bin/gcc-mp-4.2" \
                        CXX="${prefix}/bin/g++-mp-4.2"
  build.env-append      CC="${prefix}/bin/gcc-mp-4.2" \
                        CXX="${prefix}/bin/g++-mp-4.2"
}

variant gcc43 conflicts gcc42 gcc44 gcc45 gcc46 description "Use gcc 4.3 tool chain for building" {
  configure.compiler    macports-gcc-4.3
  depends_lib-append    port:gcc43
  set fc_options        "config_fc --fcompiler gnu95 --f77exec ${prefix}/bin/gfortran-mp-4.3 --f90exec ${prefix}/bin/gfortran-mp-4.3"
  set config_options    "config --cc ${prefix}/bin/gcc-mp-4.3 --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
  build.cmd-append      ${fc_options} ${config_options}
  destroot.cmd-append   ${fc_options} ${config_options}

  destroot.env-append   CC="${prefix}/bin/gcc-mp-4.3" \
                        CXX="${prefix}/bin/g++-mp-4.3"
  build.env-append      CC="${prefix}/bin/gcc-mp-4.3" \
                        CXX="${prefix}/bin/g++-mp-4.3"
}

variant gcc44 conflicts gcc42 gcc43 gcc45 gcc46 description "Use gfortran-mp-4.4 as fortran compiler" {
  configure.compiler    macports-gcc-4.4
  depends_lib-append    port:gcc44
  set fc_options        "config_fc --fcompiler gnu95 --f77exec ${prefix}/bin/gfortran-mp-4.4 --f90exec ${prefix}/bin/gfortran-mp-4.4"
  set config_options    "config --cc ${prefix}/bin/gcc-mp-4.4 --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
  build.cmd-append      ${fc_options} ${config_options}
  destroot.cmd-append   ${fc_options} ${config_options}

  destroot.env-append   CC="${prefix}/bin/gcc-mp-4.4" \
                        CXX="${prefix}/bin/g++-mp-4.4"
  build.env-append      CC="${prefix}/bin/gcc-mp-4.4" \
                        CXX="${prefix}/bin/g++-mp-4.4"
}

variant gcc45 conflicts gcc42 gcc43 gcc44 gcc46 description "Use gfortran-mp-4.5 as fortran compiler" {
  configure.compiler    macports-gcc-4.5
  depends_lib-append    port:gcc45
  set fc_options        "config_fc --fcompiler gnu95 --f77exec ${prefix}/bin/gfortran-mp-4.5 --f90exec ${prefix}/bin/gfortran-mp-4.5"
  set config_options    "config --cc ${prefix}/bin/gcc-mp-4.5 --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
  build.cmd-append      ${fc_options} ${config_options}
  destroot.cmd-append   ${fc_options} ${config_options}

  destroot.env-append   CC="${prefix}/bin/gcc-mp-4.5" \
                        CXX="${prefix}/bin/g++-mp-4.5"
  build.env-append      CC="${prefix}/bin/gcc-mp-4.5" \
                        CXX="${prefix}/bin/g++-mp-4.5"
}

variant gcc46 conflicts gcc42 gcc43 gcc44 gcc45 description "Use gfortran-mp-4.6 as fortran compiler" {
  configure.compiler    macports-gcc-4.6
  depends_lib-append    port:gcc46
  set fc_options        "config_fc --fcompiler gnu95 --f77exec ${prefix}/bin/gfortran-mp-4.6 --f90exec ${prefix}/bin/gfortran-mp-4.6"
  set config_options    "config --cc ${prefix}/bin/gcc-mp-4.6 --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
  build.cmd-append      ${fc_options} ${config_options}
  destroot.cmd-append   ${fc_options} ${config_options}

  destroot.env-append   CC="${prefix}/bin/gcc-mp-4.6" \
                        CXX="${prefix}/bin/g++-mp-4.6"
  build.env-append      CC="${prefix}/bin/gcc-mp-4.6" \
                        CXX="${prefix}/bin/g++-mp-4.6"
}


if { ![variant_isset gcc42] && ![variant_isset gcc43] && ![variant_isset gcc44] &![variant_isset gcc46] } {
  default_variants      +gcc45
}

}

python.add_archflags    no
universal_variant       no

if {${name} == ${subport}} {
    livecheck.type          regex
    livecheck.url           http://sourceforge.net/api/file/index/project-name/scipy/rss
    livecheck.regex         "scipy\/(\\d+(?:\\.\\d+)*)\]"
} else {
    livecheck.type          none
}
