about summary refs log tree commit diff
path: root/pkgs/development/interpreters/elixir/default.nix
blob: ffa4402a72a7bbf5bb882eac3152123ede785da6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{ stdenv, fetchurl, erlang, rebar }:

stdenv.mkDerivation {
  name = "elixir-0.10.1";

  src = fetchurl {
    url = "https://github.com/elixir-lang/elixir/archive/v0.10.1.tar.gz";
    sha256 = "0gfr2bz3mw7ag9z2wb2g22n2vlyrp8dwy78fj9zi52kzl5w3vc3w";
  };

  buildInputs = [ erlang rebar ];

  preBuild = ''
    substituteInPlace rebar \
      --replace "/usr/bin/env escript" ${erlang}/bin/escript
    substituteInPlace Makefile \
      --replace '$(shell echo `pwd`/rebar)' ${rebar}/bin/rebar \
      --replace "/usr/local" $out
  '';

  meta = {
    homepage = "http://elixir-lang.org/";
    description = "Elixir is a functional, meta-programming aware language built on top of the Erlang VM.";

    longDescription = ''
      Elixir is a functional, meta-programming
      aware language built on top of the Erlang VM. It is a dynamic
      language with flexible syntax and macro support that leverages
      Erlang's abilities to build concurrent, distributed and
      fault-tolerant applications with hot code upgrades.p
    '';

    platforms = stdenv.lib.platforms.linux;

    maintainers = [ stdenv.lib.maintainers.the-kenny ];
  };
}