summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Nikkilä <hello@lnikki.la>2024-03-25 19:05:51 +0200
committerGuix Patches Tester <>2024-04-17 13:52:17 +0200
commitbf98b918b9bb22f8906cd98c85e567d865871cff (patch)
tree2b60e6eb91567ea1f5f58da5511838236d096313
parentb47ae1ecc43baaf726701ab2d2f810ecfaa75428 (diff)
downloadguix-patches-issue-69999.tar
guix-patches-issue-69999.tar.gz
gnu: elixir: Update to 1.16.2.issue-69999
* 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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/elixir.scm10
-rw-r--r--gnu/packages/patches/elixir-1.16-iex-tests.patch88
3 files changed, 96 insertions, 3 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ccff8648be..54ea736aa8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1129,6 +1129,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-public elixir
(package
(name "elixir")
- (version "1.14.0")
+ (version "1.16.2")
(source
(origin
(method git-fetch)
@@ -48,8 +49,11 @@
(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