summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Goryachev <igor@goryachev.org>2024-07-02 15:46:15 +0300
committerAndrew Tropin <andrew@trop.in>2024-07-03 07:28:06 +0400
commit972c06dc79641864b05590b2cd905cc8b810062b (patch)
tree23c2098f6fe0f03173c7ce0a3ed8da6f029c3a58
parent4b3a553ca5ba5ac190739309eb5f7aa8170cf2a8 (diff)
gnu: erlang-lfe: Make LFE compiler deterministic.
* gnu/packages/erlang.scm (erlang-lfe): Make LFE compiler deterministic. Change-Id: I0cf00eeda8502384b746795802f1b2291d0e8a3b Signed-off-by: Andrew Tropin <andrew@trop.in>
-rw-r--r--gnu/packages/erlang.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm
index dd07c1a617..a236722474 100644
--- a/gnu/packages/erlang.scm
+++ b/gnu/packages/erlang.scm
@@ -792,6 +792,13 @@ rebar3.")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
+ ;; By default LFE compiler itself is not deterministic. We fix it
+ ;; here. For more details see: https://github.com/lfe/lfe/issues/492.
+ (add-after 'unpack 'make-deterministic
+ (lambda _
+ (substitute* "src/lfe_env.erl"
+ (("maps:fold\\(F, A, D\\)")
+ "lists:sort(maps:fold(F, A, D))"))))
;; The following is inspired by rebar-build-system.scm
(add-before 'check 'erlang-depends
(lambda* (#:key inputs #:allow-other-keys)