~ruther/guix-local

612f8afac10a91b78ad5d134598488d43339c702 — Pierre-Henry Fröhring 2 years ago c2ed5a7
gnu: Add elixir-hex.

* gnu/packages/elixir.scm (elixir-hex): New variable.

Change-Id: I957688ae4e078afd79acd439880c38083fdab83a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
1 files changed, 45 insertions(+), 0 deletions(-)

M gnu/packages/elixir.scm
M gnu/packages/elixir.scm => gnu/packages/elixir.scm +45 -0
@@ 118,3 118,48 @@ scalable and maintainable applications.  Elixir leverages the Erlang VM, known
for running low-latency, distributed and fault-tolerant systems, while also
being successfully used in web development and the embedded software domain.")
    (license license:asl2.0)))

(define-public elixir-hex
  (package
    (name "elixir-hex")
    (version "2.0.5")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/hexpm/hex.git")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "1kvczwvij58kgkhak68004ap81pl26600bczg21mymy2sypkgxmj"))))
    ;; The mix-build-system assumes that Hex exists.
    ;; We build Hex using the gnu-build-system.
    ;; Other Elixir packages use the mix-build-system.
    (build-system gnu-build-system)
    (inputs (list elixir))
    (arguments
     (list
      ;; Hex is needed to build packages used to test Hex.
      ;; To avoid this circularity, we disable tests.
      #:tests? #f
      #:phases
      #~(modify-phases %standard-phases
          (delete 'bootstrap)
          (delete 'configure)
          (replace 'build
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "MIX_ENV" "prod")
              (invoke "mix" "compile")))
          (replace 'install
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (define X.Y #$(version-major+minor (package-version elixir)))
              (define out (string-append (assoc-ref outputs "out") "/lib/elixir/" X.Y "/hex"))
              (mkdir-p out)
              (copy-recursively "_build/prod/lib/hex" out))))))
    (synopsis "Package manager for the Erlang VM")
    (description
     "This project provides tasks that integrate with Mix, Elixir's build
tool.")
    (home-page "https://hexdocs.pm/makeup_elixir/")
    (license license:bsd-2)))