Preload packaged Hex in fetch-mix-deps

This commit is contained in:
2026-04-01 03:10:43 +02:00
parent 7e63eb9c2f
commit eca4bc8b35

View File

@@ -38,6 +38,11 @@ SOURCE according to mix.lock."
#$(file-append nss-certs "/etc/ssl/certs")) #$(file-append nss-certs "/etc/ssl/certs"))
(define cert-file (define cert-file
(string-append work "/ca-certificates.crt")) (string-append work "/ca-certificates.crt"))
(define hex-lib-dir
#$(file-append elixir-hex-otp28
"/lib/elixir/"
(version-major+minor
(package-version elixir-otp28))))
(define path (define path
(string-join (string-join
(list #$(file-append elixir-otp28 "/bin") (list #$(file-append elixir-otp28 "/bin")
@@ -68,6 +73,7 @@ SOURCE according to mix.lock."
(setenv "HOME" (string-append work "/home")) (setenv "HOME" (string-append work "/home"))
(setenv "MIX_HOME" (string-append work "/mix")) (setenv "MIX_HOME" (string-append work "/mix"))
(setenv "HEX_HOME" (string-append work "/hex")) (setenv "HEX_HOME" (string-append work "/hex"))
(setenv "XDG_CACHE_HOME" (string-append work "/cache"))
(setenv "MIX_DEPS_PATH" deps-dir) (setenv "MIX_DEPS_PATH" deps-dir)
(setenv "MIX_ENV" #$mix-env) (setenv "MIX_ENV" #$mix-env)
(setenv "MIX_TARGET" #$mix-target) (setenv "MIX_TARGET" #$mix-target)
@@ -83,9 +89,15 @@ SOURCE according to mix.lock."
(setenv "HEX_CACERTS_PATH" cert-file) (setenv "HEX_CACERTS_PATH" cert-file)
(setenv "HEX_HTTP_CONCURRENCY" "1") (setenv "HEX_HTTP_CONCURRENCY" "1")
(setenv "HEX_HTTP_TIMEOUT" "120") (setenv "HEX_HTTP_TIMEOUT" "120")
(let ((existing-elixir-libs (getenv "GUIX_ELIXIR_LIBS")))
(setenv "GUIX_ELIXIR_LIBS"
(if existing-elixir-libs
(string-append hex-lib-dir ":" existing-elixir-libs)
hex-lib-dir)))
(mkdir-p (getenv "HOME")) (mkdir-p (getenv "HOME"))
(mkdir-p (getenv "MIX_HOME")) (mkdir-p (getenv "MIX_HOME"))
(mkdir-p (getenv "HEX_HOME")) (mkdir-p (getenv "HEX_HOME"))
(mkdir-p (getenv "XDG_CACHE_HOME"))
(with-directory-excursion app-dir (with-directory-excursion app-dir
(invoke "mix" "deps.get" "--only" #$mix-env)) (invoke "mix" "deps.get" "--only" #$mix-env))