Merge pull request #811 from the-kenny/erlang-elixir

Update erlang to R16B1, add elixir and rebar
This commit is contained in:
Evgeny Egorochkin
2013-08-13 21:56:04 -07:00
4 changed files with 126 additions and 1 deletions

View File

@@ -0,0 +1,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 ];
};
}

View File

@@ -0,0 +1,47 @@
{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
let version = "16B01"; in
stdenv.mkDerivation {
name = "erlang-" + version;
src = fetchurl {
url = "http://www.erlang.org/download/otp_src_R16B01.tar.gz";
sha256 = "1h5b2mil79z307mc7ammi38qnd8f50n3sv5vyl4d1gcfgg08nf6s";
};
buildInputs =
[ perl gnum4 ncurses openssl
] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
preConfigure = ''
export HOME=$PWD/../
sed -e s@/bin/pwd@pwd@g -i otp_build
'';
configureFlags = "--with-ssl=${openssl}";
meta = {
homepage = "http://www.erlang.org/";
description = "Programming language used for massively scalable soft real-time systems";
longDescription = ''
Erlang is a programming language used to build massively scalable
soft real-time systems with requirements on high availability.
Some of its uses are in telecoms, banking, e-commerce, computer
telephony and instant messaging. Erlang's runtime system has
built-in support for concurrency, distribution and fault
tolerance.
'';
platforms = stdenv.lib.platforms.linux;
# Note: Maintainer of prev. erlang version was simons. If he wants
# to continue maintaining erlang I'm totally ok with that.
maintainers = [ stdenv.lib.maintainers.the-kenny ];
};
}