GNU bug report logs - #73458
Fix mix-build-system bugs (73453 , 73454)

Previous Next

Package: guix-patches;

Reported by: paul <goodoldpaul <at> autistici.org>

Date: Tue, 24 Sep 2024 17:33:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 73458 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [bug#73458] [PATCH v2 1/2] build-system: mix: Allow loading Erlang dependencies in Mix driven builds.
Date: Wed, 25 Sep 2024 23:39:17 +0200
* 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

Change-Id: I2e0ae4908353833d81003b4f750af56ff3f8dbfb
---
 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 <contact <at> phfrohring.com>
 ;;; Copyright © 2024 Igor Goryachev <igor <at> goryachev.org>
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul <at> autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -92,7 +93,15 @@ (define* (set-mix-env #:key inputs mix-path mix-exs #:allow-other-keys)
   (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."

base-commit: a1dc5ac832a106d46450961e78e7db3f83bf2bff
-- 
2.46.0





This bug report was last modified 280 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.