[PATCH] gnu: elixir: Update to 1.16.2.

  • Open
  • quality assurance status badge
Details
One participant
  • Leo Nikkilä
Owner
unassigned
Submitted by
Leo Nikkilä
Severity
normal

Debbugs page

L
L
Leo Nikkilä wrote on 25 Mar 10:05 -0700
(address . guix-patches@gnu.org)(name . Leo Nikkilä)(address . hello@lnikki.la)
20240325170615.11487-1-hello@lnikki.la
* gnu/packages/patches/elixir-1.16-iex-tests.patch: New file.
* gnu/packages/elixir.scm (elixir): Update to 1.16.2. Add patch.
* gnu/local.mk (dist_patch_DATA): Register patch.
---
gnu/local.mk | 1 +
gnu/packages/elixir.scm | 10 ++-
.../patches/elixir-1.16-iex-tests.patch | 88 +++++++++++++++++++
3 files changed, 96 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/elixir-1.16-iex-tests.patch

Toggle diff (143 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 7f1006010b..e7a8298764 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1119,6 +1119,7 @@ dist_patch_DATA = \
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
+ %D%/packages/patches/elixir-1.16-iex-tests.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elm-ghc9.2.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 2885ddbd61..6aace1c01e 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2021 Cees de Groot <cg@evrl.com>
;;; Copyright © 2024 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2024 Ivan Sokolov <ivan-p-sokolov@ya.ru>
+;;; Copyright © 2024 Leo Nikkilä <hello@lnikki.la>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,7 +40,7 @@ (define-module (gnu packages elixir)
(define-public elixir
(package
(name "elixir")
- (version "1.14.0")
+ (version "1.16.2")
(source
(origin
(method git-fetch)
@@ -48,8 +49,11 @@ (define-public elixir
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16rc4qaykddda6ax5f8zw70yhapgwraqbgx5gp3f40dvfax3d51l"))
- (patches (search-patches "elixir-path-length.patch"))))
+ (base32 "145lwbwpyj686rq3xkzg4i07v0z8x2j185aa2lvyj5ppzv2ihiim"))
+ (patches (search-patches "elixir-path-length.patch"
+ ;; This patch has been merged and should
+ ;; be included in the next version.
+ "elixir-1.16-iex-tests.patch"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/patches/elixir-1.16-iex-tests.patch b/gnu/packages/patches/elixir-1.16-iex-tests.patch
new file mode 100644
index 0000000000..d190036764
--- /dev/null
+++ b/gnu/packages/patches/elixir-1.16-iex-tests.patch
@@ -0,0 +1,88 @@
+From d17df054e21795637d5d265e3e37c4791404e6b2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Valim?= <jose.valim@dashbit.co>
+Date: Thu, 8 Feb 2024 08:08:03 +0100
+Subject: [PATCH] Skip tests if Erlang was compiled without docs, closes #13322
+
+---
+ lib/iex/test/iex/helpers_test.exs | 12 +++++++++---
+ lib/iex/test/test_helper.exs | 10 +++++++++-
+ 2 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git a/lib/iex/test/iex/helpers_test.exs b/lib/iex/test/iex/helpers_test.exs
+index 18b19ddce56..56e8c014450 100644
+--- a/lib/iex/test/iex/helpers_test.exs
++++ b/lib/iex/test/iex/helpers_test.exs
+@@ -332,17 +332,20 @@ defmodule IEx.HelpersTest do
+ assert help =~ "Welcome to Interactive Elixir"
+ end
+
++ @tag :erlang_doc
+ test "prints Erlang module documentation" do
+ captured = capture_io(fn -> h(:timer) end)
+ assert captured =~ "This module provides useful functions related to time."
+ end
+
++ @tag :erlang_doc
+ test "prints Erlang module function specs" do
+ captured = capture_io(fn -> h(:timer.sleep() / 1) end)
+ assert captured =~ ":timer.sleep/1"
+ assert captured =~ "-spec sleep(Time) -> ok when Time :: timeout()."
+ end
+
++ @tag :erlang_doc
+ test "handles non-existing Erlang module function" do
+ captured = capture_io(fn -> h(:timer.baz() / 1) end)
+ assert captured =~ "No documentation for :timer.baz was found"
+@@ -1008,13 +1011,15 @@ defmodule IEx.HelpersTest do
+ cleanup_modules([TypeSample])
+ end
+
+- test "prints all types in erlang module" do
++ @tag :erlang_doc
++ test "prints all types in Erlang module" do
+ captured = capture_io(fn -> t(:queue) end)
+ assert captured =~ "-type queue() :: queue(_)"
+ assert captured =~ "-opaque queue(Item)"
+ end
+
+- test "prints single type from erlang module" do
++ @tag :erlang_doc
++ test "prints single type from Erlang module" do
+ captured = capture_io(fn -> t(:erlang.iovec()) end)
+ assert captured =~ "-type iovec() :: [binary()]"
+ assert captured =~ "A list of binaries."
+@@ -1024,7 +1029,8 @@ defmodule IEx.HelpersTest do
+ assert captured =~ "A list of binaries."
+ end
+
+- test "handles non-existing types from erlang module" do
++ @tag :erlang_doc
++ test "handles non-existing types from Erlang module" do
+ captured = capture_io(fn -> t(:erlang.foo()) end)
+ assert captured =~ "No type information for :erlang.foo was found or :erlang.foo is private"
+
+diff --git a/lib/iex/test/test_helper.exs b/lib/iex/test/test_helper.exs
+index f5a55f0aa80..b32c8be4e91 100644
+--- a/lib/iex/test/test_helper.exs
++++ b/lib/iex/test/test_helper.exs
+@@ -7,11 +7,19 @@ IEx.configure(colors: [enabled: false])
+ {line_exclude, line_include} =
+ if line = System.get_env("LINE"), do: {[:test], [line: line]}, else: {[], []}
+
++erlang_doc_exclude =
++ if match?({:docs_v1, _, _, _, _, _, _}, Code.fetch_docs(:array)) do
++ []
++ else
++ IO.puts("Erlang/OTP compiled without docs, some tests are excluded...")
++ [:erlang_doc]
++ end
++
+ ExUnit.start(
+ assert_receive_timeout: assert_timeout,
+ trace: !!System.get_env("TRACE"),
+ include: line_include,
+- exclude: line_exclude
++ exclude: line_exclude ++ erlang_doc_exclude
+ )
+
+ defmodule IEx.Case do
--
2.41.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 69999@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 69999
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch