GNU bug report logs - #71899
[PATCH v2] gnu: erlang-lfe: Make LFE compiler deterministic.

Previous Next

Package: guix-patches;

Reported by: Igor Goryachev <igor <at> goryachev.org>

Date: Tue, 2 Jul 2024 12:47:01 UTC

Severity: normal

Tags: patch

Done: Andrew Tropin <andrew <at> trop.in>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Igor Goryachev <igor <at> goryachev.org>
To: guix-patches <at> gnu.org
Cc: Igor Goryachev <igor <at> goryachev.org>, Andrew Tropin <andrew <at> trop.in>
Subject: [PATCH v2] gnu: erlang-lfe: Make LFE compiler deterministic.
Date: Tue,  2 Jul 2024 15:46:15 +0300
* gnu/packages/erlang.scm (erlang-lfe): Make LFE compiler deterministic.

Change-Id: I0cf00eeda8502384b746795802f1b2291d0e8a3b
---
 gnu/packages/erlang.scm | 7 +++++++
 1 file changed, 7 insertions(+)

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 @@ (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)

base-commit: 4b3a553ca5ba5ac190739309eb5f7aa8170cf2a8
-- 
2.45.2





This bug report was last modified 1 year and 16 days ago.

Previous Next


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