~ruther/guix-local

6de3d1762beba47a7a94de452a48c4b256c12333 — nee 8 years ago 8cbb589
gnu: elixir: Update to 1.5.2 and disable failing tests.

* gnu/packages/elixir.scm (elixir)[origin]: Update to 1.5.2.
[arguments]: Patch the shebang of mix. Disable failing tests.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 24 insertions(+), 10 deletions(-)

M gnu/packages/elixir.scm
M gnu/packages/elixir.scm => gnu/packages/elixir.scm +24 -10
@@ 2,6 2,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 nee <nee.git@cock.li>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 30,7 31,7 @@
(define-public elixir
  (package
    (name "elixir")
    (version "1.4.2")
    (version "1.5.2")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/elixir-lang/elixir"


@@ 38,7 39,7 @@
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0gsmgx4h6rvxilcbsx2z6yirm6g2g5bsxdvr0608ng4bsv22wknb"))
                "0v7z0avs3gir7qdfgysfw88l3z9p5f7p7pjnrnsz5gmmsflvf5vk"))
              ;; FIXME: 27 tests (out of 4K) had to be disabled as
              ;; they fail in the build environment.  Common failures
              ;; are:


@@ 55,14 56,18 @@
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'replace-paths
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* '("lib/elixir/lib/system.ex"
                            "lib/mix/lib/mix/scm/git.ex")
               (("(cmd\\(['\"])git" _ prefix)
                (string-append prefix (which "git"))))
             (substitute* "bin/elixir"
               (("ERL_EXEC=\"erl\"")
                (string-append "ERL_EXEC=" (which "erl"))))
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (substitute* '("lib/elixir/lib/system.ex"
                              "lib/mix/lib/mix/scm/git.ex")
                 (("(cmd\\(['\"])git" _ prefix)
                  (string-append prefix (which "git"))))
               (substitute* "bin/elixir"
                 (("ERL_EXEC=\"erl\"")
                  (string-append "ERL_EXEC=" (which "erl"))))
               (substitute* "bin/mix"
                 (("#!/usr/bin/env elixir")
                  (string-append "#!" out "/bin/elixir"))))
             #t))
         (add-after 'unpack 'fix-or-disable-tests
           (lambda* (#:key inputs #:allow-other-keys)


@@ 75,6 80,15 @@

             ;; FIXME: Mix.Shell.cmd() always fails with error code 130.
             (delete-file "lib/mix/test/mix/shell_test.exs")

             ;; FIXME:
             ;; disabled failing impure tests to make it build again.
             ;; related discussion: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28034#14
             (delete-file "lib/elixir/test/elixir/kernel/cli_test.exs")
             (delete-file "lib/elixir/test/elixir/kernel/dialyzer_test.exs")
             (delete-file "lib/iex/test/iex/helpers_test.exs")
             (delete-file "lib/ex_unit/test/ex_unit/capture_io_test.exs")

             #t))
         (add-before 'build 'make-current
           ;; The Elixir compiler checks whether or not to compile files by