Subject: [PATCH] Update elixir to 1.8.1.
From: Robert Smith <[email-masked]>
To: [email-masked]
Date: Mon, 18 Mar 2019 15:54:52 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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
From faca6ce6dc57dbcf4b82d86f5a22bbab748bb1c8 Mon Sep 17 00:00:00 2001
From: Robert Smith <[email-masked]>
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