[bug#34904] Update elixir to 1.8.1.

Message ID e357782862cf96e2eeeb064e9ceea279@posteo.net
State Accepted
Headers show
Series [bug#34904] Update elixir to 1.8.1. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Robert Smith March 18, 2019, 2:54 p.m. UTC
Hello,

Excited to be submitting my first patch to guix!
The following patch updates elixir from 1.6.6 to 1.8.1.
This was almost a trivial patch, however the full path of the git 
executable
was causing a line to go over 80 chars, which caused a syntax check in 
the
elixir Makefile to fail. I added a quick workaround to use elixir's own 
syntax
checker to fix the affected file (by putting each argument to the fn on 
its own line)
before the test is run.

Best,

Robert

Comments

Marius Bakke March 21, 2019, 7:54 p.m. UTC | #1
Hi Robert,

Robert Smith <robertsmith@posteo.net> writes:

> Hello,
>
> Excited to be submitting my first patch to guix!

It's a thrill, right? :-)

> The following patch updates elixir from 1.6.6 to 1.8.1.
> This was almost a trivial patch, however the full path of the git 
> executable
> was causing a line to go over 80 chars, which caused a syntax check in 
> the
> elixir Makefile to fail. I added a quick workaround to use elixir's own 
> syntax
> checker to fix the affected file (by putting each argument to the fn on 
> its own line)
> before the test is run.

Heh.  Nice workaround!  I added a commit message that follows our
convention, added the patch to "gnu/local.mk", and pushed the patch
in commit 2f87048dbe14097b9fe19ec470e2628cfca7fdbf.

Thank you, and welcome!

Patch

From faca6ce6dc57dbcf4b82d86f5a22bbab748bb1c8 Mon Sep 17 00:00:00 2001
From: Robert Smith <robertsmith@posteo.net>
Date: Mon, 18 Mar 2019 15:05:18 +0100
Subject: [PATCH 1/1] Update elixir to 1.8.1

---
 gnu/packages/elixir.scm                       |  7 ++++---
 gnu/packages/patches/elixir-path-length.patch | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/elixir-path-length.patch

diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index e154a2b2c1..28cc3f5083 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -33,7 +33,7 @@ 
 (define-public elixir
   (package
     (name "elixir")
-    (version "1.6.6")
+    (version "1.8.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/elixir-lang/elixir"
@@ -41,7 +41,8 @@ 
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0c9qz5hasa59a9x1iwpcqpqj6wdbzpijfxqfmzimwj5z8q37nl3l"))))
+                "08lq5p82pnicd49gsj6r2zsbg35wrk6098nrrjb28fcrm5p6736y"))
+			  (patches (search-patches "elixir-path-length.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -84,7 +85,7 @@ 
     (inputs
      `(("erlang" ,erlang)
        ("git" ,git)))
-    (home-page "http://elixir-lang.org/")
+    (home-page "https://elixir-lang.org/")
     (synopsis "Elixir programming language")
     (description "Elixir is a dynamic, functional language used to build
 scalable and maintainable applications.  Elixir leverages the Erlang VM, known
diff --git a/gnu/packages/patches/elixir-path-length.patch b/gnu/packages/patches/elixir-path-length.patch
new file mode 100644
index 0000000000..9cf4e534e9
--- /dev/null
+++ b/gnu/packages/patches/elixir-path-length.patch
@@ -0,0 +1,15 @@ 
+In the package definition the call to the command 'git' is substituted with 
+the full path to the git executable. This change causes the mix formatting tool
+to complain that the line is too long. This workaround reformats the file
+after the substitution is made.
+
+--- a/Makefile
++++ b/Makefile
+@@ -213,6 +213,7 @@
+ TEST_ERLS = $(addprefix $(TEST_EBIN)/, $(addsuffix .beam, $(basename $(notdir $(wildcard $(TEST_ERL)/*.erl)))))
+ 
+ test_formatted: compile
++	bin/elixir bin/mix format lib/mix/lib/mix/scm/git.ex
+ 	bin/elixir bin/mix format --check-formatted
+ 
+ test_erlang: compile $(TEST_ERLS)
-- 
2.19.2