unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Igor Goryachev via Guix-patches via <guix-patches@gnu.org>
To: 75008@debbugs.gnu.org
Cc: Igor Goryachev <igor@goryachev.org>,
	Zheng Junjie <zhengjunjie@iscas.ac.cn>
Subject: [bug#75008] [PATCH] gnu: elixir: Update to 1.18.0.
Date: Sat, 21 Dec 2024 18:12:23 +0200	[thread overview]
Message-ID: <4bb69681f5bcbd6b055f89d6f4a9776cdd5b1d8c.1734797543.git.igor@goryachev.org> (raw)

* gnu/packages/elixir.scm (elixir): Update to 1.18.0.
[arguments]: Remove obsolete code, reindent comments, make more deterministic.

Change-Id: I6cf8886339cbc4627fb5d89751462b492e7c62f3
---
 gnu/packages/elixir.scm | 37 +++++++++++++++++--------------------
 1 file changed, 17 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 459e160830..eb6146cb11 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -41,7 +41,7 @@ (define-module (gnu packages elixir)
 (define-public elixir
   (package
     (name "elixir")
-    (version "1.17.3")
+    (version "1.18.0")
     (source
      (origin
        (method git-fetch)
@@ -50,7 +50,7 @@ (define-public elixir
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "171l6g304044yk6i0827hgl64vp122ygn1wa1xqdjhw08b5kl2pd"))
+        (base32 "1ki5wfkdidgkvcm3r6b547gkdpchah4r6z0y96frzf5f3prcjgbx"))
        (patches (search-patches "elixir-path-length.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -95,9 +95,9 @@ (define-public elixir
                 (copy-recursively
                  "lib"
                  (string-append (assoc-ref outputs "src") "/source/lib"))))
-            ;; Temporarily patch the compiler to place correct source
-            ;; locations into module info instead of build directory.
             (add-after 'pre-install-source 'patch-elixir-compiler
+              ;; Temporarily patch the compiler to place correct source
+              ;; locations into module info instead of build directory.
               (lambda* (#:key outputs #:allow-other-keys)
                 (copy-recursively compiler-path compiler-path-orig)
                 (let ((source (string-append "/tmp/guix-build-" #$name "-"
@@ -107,7 +107,18 @@ (define-public elixir
                     (("source, Source")
                      (string-append "source, string:replace(Source, \""
                                     source "\", \"" destination "\")"))))))
-            (add-before 'build 'make-current
+            (add-before 'build 'set-deterministic
+              (lambda _
+                ;; Set deterministic compiler option.
+                (setenv "ERL_COMPILER_OPTIONS" "deterministic")))
+            (add-after 'build 'restore-and-recompile
+              ;; Unpatch the compiler and recompile it.
+              (lambda _
+                (copy-recursively compiler-path-orig compiler-path)
+                (delete-file compiler-path-orig)
+                (invoke "erlc" "-I" "lib/elixir/include"
+                        "-o" "lib/elixir/ebin" compiler-path)))
+            (add-after 'restore-and-recompile 'make-current
               ;; The Elixir compiler checks whether or not to compile files
               ;; by inspecting their timestamps.  When the timestamp is
               ;; equal to the epoch no compilation will be performed.  Some
@@ -117,24 +128,10 @@ (define-public elixir
                             (let ((recent 1400000000))
                               (utime file recent recent 0 0)))
                           (find-files "." ".*"))))
-            ;; Unpatch the compiler and recompile it.
-            (add-after 'build 'restore-and-recompile
-              (lambda _
-                (copy-recursively compiler-path-orig compiler-path)
-                (delete-file compiler-path-orig)
-                (invoke "make")))
             (add-before 'check 'set-home
-              (lambda* (#:key inputs #:allow-other-keys)
+              (lambda _
                 ;; Some tests require access to a home directory.
                 (setenv "HOME" "/tmp")))
-            ;; Temporarily skip several tests related to logger to pass
-            ;; under Erlang 27.1. For more info see:
-            ;; https://elixirforum.com/t/elixir-v1-17-3-released/66156/2
-            (add-before 'check 'disable-some-logger-tests-for-erlang-27.1+
-              (lambda _
-                (substitute* "lib/logger/test/logger/translator_test.exs"
-                  (("test \"translates Supervisor progress")
-                   "@tag :skip\n  test \"translates Supervisor progress"))))
             (delete 'configure)
             (add-after 'install 'wrap-programs
               (lambda* (#:key inputs outputs #:allow-other-keys)

base-commit: 11855e1c2863c56d9a3364cdac614a529a1c7cc2
-- 
2.46.0





                 reply	other threads:[~2024-12-21 16:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4bb69681f5bcbd6b055f89d6f4a9776cdd5b1d8c.1734797543.git.igor@goryachev.org \
    --to=guix-patches@gnu.org \
    --cc=75008@debbugs.gnu.org \
    --cc=igor@goryachev.org \
    --cc=zhengjunjie@iscas.ac.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).