* [bug#75008] [PATCH] gnu: elixir: Update to 1.18.0.
@ 2024-12-21 16:12 Igor Goryachev via Guix-patches via
0 siblings, 0 replies; only message in thread
From: Igor Goryachev via Guix-patches via @ 2024-12-21 16:12 UTC (permalink / raw)
To: 75008; +Cc: Igor Goryachev, Zheng Junjie
* 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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-12-21 16:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-21 16:12 [bug#75008] [PATCH] gnu: elixir: Update to 1.18.0 Igor Goryachev via Guix-patches via
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).