Reported by Cayetano Santos <csantosb@inventati.org>.
* gnu/packages/julia.scm (julia)[arguments]<#:phases>: Conditionally use
OpenBLAS with ILP64 support for x86-64 target.
<#:make-flags>: Likewise.
[inputs]: Conditionally replace openblas by openblas-ilp64 for x86-64 target.
Co-authored-by: Simon Tournier <zimon.toutoune@gmail.com>
---
gnu/packages/julia.scm | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
Toggle diff (49 lines)
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index ba541758223e..8ba2b480ce55 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -269,7 +269,10 @@ (define-public julia
(substitute* (jlpath "nghttp2")
(((from "libnghttp2")) (to "libnghttp2" "libnghttp2")))
(substitute* (jlpath "OpenBLAS")
- (((from "libopenblas")) (to "openblas" "libopenblas")))
+ (((from "libopenblas"))
+ ,@(if (target-x86-64?)
+ `((to "openblas" "libopenblas64_" "libopenblas"))
+ `((to "openblas" "libopenblas")))))
(substitute* (jlpath "OpenLibm")
(((from "libopenlibm")) (to "openlibm" "libopenlibm")))
(substitute* (jlpath "PCRE2")
@@ -479,12 +482,13 @@ (define-public julia
"NO_GIT=1" ; build from release tarball.
"USE_GPL_LIBS=1" ; proudly
- ,@(if (target-aarch64?)
- `("USE_BLAS64=0")
- '())
-
- "LIBBLAS=-lopenblas"
- "LIBBLASNAME=libopenblas"
+ ,@(if (target-x86-64?)
+ `("USE_BLAS64=1"
+ "LIBBLAS=-lopenblas64_"
+ "LIBBLASNAME=libopenblas64_")
+ `("USE_BLAS64=0"
+ "LIBBLAS=-lopenblas"
+ "LIBBLASNAME=libopenblas"))
(string-append "UTF8PROC_INC="
(assoc-ref %build-inputs "utf8proc")
@@ -513,7 +517,9 @@ (define-public julia
("llvm" ,llvm-julia)
("mbedtls-apache" ,mbedtls-apache)
("mpfr" ,mpfr)
- ("openblas" ,openblas)
+ ,@(if (target-x86-64?)
+ `(("openblas" ,openblas-ilp64))
+ `(("openblas" ,openblas)))
("openlibm" ,openlibm)
("p7zip" ,p7zip)
("pcre2" ,pcre2)
--
2.38.1