gnu: julia: Conditionally use openblas with ILP64 support.

Fixes <https://bugs.gnu.org/63986>.
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>
This commit is contained in:
Efraim Flashner 2023-09-17 21:12:36 +02:00
parent a473d562ff
commit 16bc2f3609
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -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)