summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/elixir.scm27
1 files changed, 16 insertions, 11 deletions
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 2a1d99452f..88ada71aea 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -24,7 +24,7 @@
(define-module (gnu packages elixir)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
- #:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages erlang)
@@ -34,15 +34,16 @@
(package
(name "elixir")
(version "1.8.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/elixir-lang/elixir"
- "/archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0ddqxw24zdqlg7glzk22m7qjal8f18divzp364a6gi1bv6rg16yg"))
- (patches (search-patches "elixir-path-length.patch"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elixir-lang/elixir.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n77cpcl2b773gmj3m9s24akvj9gph9byqbmj2pvlsmby4aqwckq"))
+ (patches (search-patches "elixir-path-length.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -51,7 +52,11 @@
(assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'replace-paths
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))
+ #t))
+ (add-after 'make-git-checkout-writable 'replace-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* '("lib/elixir/lib/system.ex"