summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-05-22 16:48:05 +0200
committerMark H Weaver <mhw@netris.org>2015-06-07 17:30:40 -0400
commitdbdfe515989d18785164e647790a0da48c4017ea (patch)
treed0ea092237b015498e4d0e21c163b9525623ffe1
parenta647e0b8eef9931a46aded4c4d71e0413cc84340 (diff)
downloadguix-dbdfe515989d18785164e647790a0da48c4017ea.tar.gz
gnu: python-numpy: Build against OpenBLAS.
* gnu/packages/python.scm (python-numpy)[inputs]: Use "openblas" instead of
  "atlas".
* gnu/packages/python.scm (python-numpy)[arguments]: Configure build against
  OpenBLAS.

Modified-By: Mark H Weaver <mhw@netris.org>
-rw-r--r--gnu/packages/python.scm24
1 files changed, 13 insertions, 11 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5dd1165746..914c2dc23c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2283,7 +2283,7 @@ writing C extensions for Python as easy as Python itself.")
     (build-system python-build-system)
     (inputs
      `(("python-nose" ,python-nose)
-       ("atlas" ,atlas)))
+       ("openblas" ,openblas)))
     (native-inputs
      `(("gfortran" ,gfortran-4.8)))
     (arguments
@@ -2291,16 +2291,18 @@ writing C extensions for Python as easy as Python itself.")
        (alist-cons-before
         'build 'set-environment-variables
         (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 "[openblas]
+libraries = openblas
+library_dirs = ~a/lib
+include_dirs = ~a/include
+" (assoc-ref inputs "openblas") (assoc-ref inputs "openblas"))))
+          ;; Use "gcc" executable, not "cc".
+          (substitute* "numpy/distutils/system_info.py"
+            (("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
+             "c = distutils.ccompiler.new_compiler(); c.set_executables(compiler='gcc',compiler_so='gcc',linker_exe='gcc',linker_so='gcc -shared')"))
+          #t)
         ;; Tests can only be run after the library has been installed and not
         ;; within the source directory.
         (alist-cons-after