From 1750d68309e26293c2da5aad953a061867f2cb14 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 9 Feb 2023 12:29:20 +0200 Subject: gnu: julia: Use SSL_CERT_FILE for SSL certificates. Fixes . * 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. --- gnu/packages/julia.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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")) -- cgit v1.2.3