~ruther/guix-local

719b01c1575b8599b0dca9f245a9d759032f3168 — Ricardo Wurmus 10 years ago cba256f
gnu: python-scipy: Build with OpenBLAS and lapack.

* gnu/packages/python.scm (python-scipy)[inputs]: Remove "atlas", add "lapack"
  and "openblas".
* gnu/packages/python.scm (python-scipy)[arguments]: Replace phase
  "set-environment-variables" with "configure-openblas".
1 files changed, 18 insertions(+), 12 deletions(-)

M gnu/packages/python.scm
M gnu/packages/python.scm => gnu/packages/python.scm +18 -12
@@ 2630,7 2630,8 @@ toolkits.")
       ("python-pyparsing" ,python-pyparsing)
       ("python-nose" ,python-nose)
       ("python-sphinx" ,python-sphinx)
       ("atlas" ,atlas)))
       ("lapack" ,lapack)
       ("openblas" ,openblas)))
    (native-inputs
     `(("gfortran" ,gfortran-4.8)
       ("texlive" ,texlive)


@@ 2639,18 2640,23 @@ toolkits.")
    (arguments
     `(#:phases
       (alist-cons-before
        'build 'set-environment-variables
        'build 'configure-openblas
        (lambda* (#:key inputs #:allow-other-keys)
          (let* ((atlas-threaded
                  (string-append (assoc-ref inputs "atlas")
                                 "/lib/libtatlas.so"))
                 ;; On single core CPUs only the serial library is created.
                 (atlas-lib
                  (if (file-exists? atlas-threaded)
                      atlas-threaded
                      (string-append (assoc-ref inputs "atlas")
                                     "/lib/libsatlas.so"))))
            (setenv "ATLAS" atlas-lib)))
          (call-with-output-file "site.cfg"
            (lambda (port)
              (format port
                      "[blas]
libraries = openblas
library_dirs = ~a/lib
include_dirs = ~a/include
[atlas]
library_dirs = ~a/lib
atlas_libs = openblas
"
                      (assoc-ref inputs "openblas")
                      (assoc-ref inputs "openblas")
                      (assoc-ref inputs "openblas"))))
          #t)
        (alist-cons-after
         'install 'install-doc
         (lambda* (#:key outputs #:allow-other-keys)