gnu: julia: Use SSL_CERT_FILE for SSL certificates.

Fixes <https://issues.guix.gnu.org/61121>.

* gnu/packages/julia.scm (julia)[arguments]: Add a phase to have Julia
use the SSL_CERT_FILE search path.
[native-search-paths]: Add SSL_CERT_FILE.
This commit is contained in:
Efraim Flashner 2023-02-09 12:29:20 +02:00
parent 06e3f239b9
commit 1750d68309
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -31,6 +31,7 @@ (define-module (gnu packages julia)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module ((guix search-paths) #:select ($SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
@ -292,6 +293,15 @@ (define-public julia
(substitute* (jlpath "libblastrampoline")
(("libblastrampoline\\.so")
(search-input-file inputs "/lib/libblastrampoline.so"))))))
(add-before 'build 'use-ssl-cert-file
(lambda _
;; We must adapt MozillaCACerts to use SSL_CERT_FILE.
(substitute* "stdlib/MozillaCACerts_jll/src/MozillaCACerts_jll.jl"
(("global cacert = .*")
(string-append
"global cacert = get(ENV, \"SSL_CERT_FILE\","
;; our fallback location.
"\"/etc/ssl/certs/ca-certificates.crt\")\n")))))
(add-after 'unpack 'enable-parallel-tests
(lambda* (#:key parallel-tests? #:allow-other-keys)
(when parallel-tests?
@ -525,7 +535,8 @@ (define-public julia
(files (list "share/julia/loadpath/")))
(search-path-specification
(variable "JULIA_DEPOT_PATH")
(files (list "share/julia/")))))
(files (list "share/julia/")))
$SSL_CERT_FILE))
;; Julia only officially supports some of our platforms:
;; https://julialang.org/downloads/#supported_platforms
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))