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"))
(define cert-file
(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
(string-join
(list #$(file-append elixir-otp28 "/bin")
@@ -68,6 +73,7 @@ SOURCE according to mix.lock."
(setenv "HOME" (string-append work "/home"))
(setenv "MIX_HOME" (string-append work "/mix"))
(setenv "HEX_HOME" (string-append work "/hex"))
(setenv "XDG_CACHE_HOME" (string-append work "/cache"))
(setenv "MIX_DEPS_PATH" deps-dir)
(setenv "MIX_ENV" #$mix-env)
(setenv "MIX_TARGET" #$mix-target)
@@ -83,9 +89,15 @@ SOURCE according to mix.lock."
(setenv "HEX_CACERTS_PATH" cert-file)
(setenv "HEX_HTTP_CONCURRENCY" "1")
(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 "MIX_HOME"))
(mkdir-p (getenv "HEX_HOME"))
(mkdir-p (getenv "XDG_CACHE_HOME"))
(with-directory-excursion app-dir
(invoke "mix" "deps.get" "--only" #$mix-env))