aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-02-09 12:29:20 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-02-09 16:48:41 +0200
commit1750d68309e26293c2da5aad953a061867f2cb14 (patch)
tree31b373cb7c5a40fdfd65bb202ab2b1861153c756
parent06e3f239b9a2baba655ff04153de4bee486fde33 (diff)
downloadguix-1750d68309e26293c2da5aad953a061867f2cb14.tar
guix-1750d68309e26293c2da5aad953a061867f2cb14.tar.gz
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.
-rw-r--r--gnu/packages/julia.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index d35901eadb..12ff63905b 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -31,6 +31,7 @@
#: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 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(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 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
(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"))