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>
This commit is contained in:
Igor Goryachev 2024-07-02 15:46:15 +03:00 committed by Andrew Tropin
parent 4b3a553ca5
commit 972c06dc79
No known key found for this signature in database
GPG key ID: 2208D20958C1DEB0

View file

@ -792,6 +792,13 @@ (define-public erlang-lfe
#: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)