# $Id: Portfile 80751 2011-07-16 20:43:34Z jmr@macports.org $

PortSystem              1.0
PortGroup               python24 1.0

name                    py-scipy
version                 0.9.0
categories              python
platforms               darwin
license                 BSD
maintainers             nomaintainer
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 ebfef6e8e82d15c875a4ee6a46d4e1cd \
                        sha1 a586b10d0613cd61dbfcfd42f3d2609062cd10b8 \
                        rmd160 2aef8c3413ba9c7731d078b27eef1e03419de606

depends_lib-append      port:py-numpy \
                        port:py-nose \
                        port:SuiteSparse \
                        port:swig-python \
                        port:atlas

worksrcdir              ${distname}

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

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

python.add_archflags    no
universal_variant       no

#pre-fetch {
#  if {![llength [glob -nocomplain ${prefix}/share/swig/*/python/python.swg]]} {
#    ui_error "The python variant of swig is not installed. Please run"
#    ui_error "the following command:"
#    ui_error "$ sudo port -fn upgrade swig +python"
#    error "python variant of swig required"
#  }
#}

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

variant no_atlas description "Do not use macports atlas libraries" {
    depends_lib-delete      port:atlas

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

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

variant gcc42 conflicts gcc43 gcc44 gcc45 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 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 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 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"
}

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

livecheck.type          regex
livecheck.url           http://sourceforge.net/projects/scipy/files/
livecheck.regex         "files\/scipy\/(\\d+(?:\\.\\d+)*)\/scipy"
