summary refs log tree commit diff
path: root/gnu
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 /gnu
parent06e3f239b9a2baba655ff04153de4bee486fde33 (diff)
downloadguix-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.
Diffstat (limited to 'gnu')
-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"))