civodul pushed a commit to branch master
in repository guix.
commit b6ea4f82986af507d787c1271077f61d504730ad
Author: Giacomo Leidi <[email protected]>
AuthorDate: Wed Sep 25 23:39:17 2024 +0200
build-system: mix: Allow loading Erlang dependencies in Mix driven builds.
* guix/build/mix-build-system.scm (set-mix-env): sets ERL_LIBS to allow
Erlang's virtual machine to load Erlang dependencies in Mix builds.
Fixes <https://issues.guix.gnu.org/73453>
Change-Id: Ic1ef5db20680bfd265fbac72bafb760d21135f68
Signed-off-by: Ludovic Courtès <[email protected]>
Change-Id: Idcb6f349194a6cbf7516e9188b888c740fbf501f
---
guix/build/mix-build-system.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/guix/build/mix-build-system.scm b/guix/build/mix-build-system.scm
index 0b021da791..73af575b10 100644
--- a/guix/build/mix-build-system.scm
+++ b/guix/build/mix-build-system.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Pierre-Henry Fröhring <[email protected]>
;;; Copyright © 2024 Igor Goryachev <[email protected]>
+;;; Copyright © 2024 Giacomo Leidi <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -92,7 +93,15 @@ See:
https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables"
(setenv "MIX_EXS" mix-exs)
(setenv "MIX_HOME" (getcwd))
(setenv "MIX_PATH" (or mix-path ""))
- (setenv "MIX_REBAR3" (string-append (assoc-ref inputs "rebar3")
"/bin/rebar3")))
+ (setenv "MIX_REBAR3" (string-append (assoc-ref inputs "rebar3")
"/bin/rebar3"))
+ ;; Add Erlang dependencies in Elixir's load path.
+ (setenv "ERL_LIBS"
+ (string-join (search-path-as-list
+ `("lib/erlang/lib")
+ (map (match-lambda
+ ((label . package) package))
+ inputs))
+ ":")))
(define* (set-elixir-version #:key inputs #:allow-other-keys)
"Store the version number of the Elixir input in a parameter."