Merge pull request #811 from the-kenny/erlang-elixir
Update erlang to R16B1, add elixir and rebar
This commit is contained in:
commit
2d056f9307
4 changed files with 126 additions and 1 deletions
37
pkgs/development/interpreters/elixir/default.nix
Normal file
37
pkgs/development/interpreters/elixir/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
47
pkgs/development/interpreters/erlang/R16B01.nix
Normal file
47
pkgs/development/interpreters/erlang/R16B01.nix
Normal 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 ];
|
||||
};
|
||||
}
|
36
pkgs/development/tools/build-managers/rebar/default.nix
Normal file
36
pkgs/development/tools/build-managers/rebar/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ stdenv, fetchurl, erlang }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "rebar-2.1.0-pre";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/basho/rebar/archive/2.1.0-pre.tar.gz";
|
||||
sha256 = "0dsbk9ssvk1hx9275900dg4bz79kpwcid4gsz09ziiwzv0jjbrjn";
|
||||
};
|
||||
|
||||
buildInputs = [ erlang ];
|
||||
|
||||
buildPhase = "escript bootstrap";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp rebar $out/bin/rebar
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/rebar/rebar";
|
||||
description = "Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases.";
|
||||
|
||||
longDescription = ''
|
||||
rebar is a self-contained Erlang script, so it's easy to
|
||||
distribute or even embed directly in a project. Where possible,
|
||||
rebar uses standard Erlang/OTP conventions for project
|
||||
structures, thus minimizing the amount of build configuration
|
||||
work. rebar also provides dependency management, enabling
|
||||
application writers to easily re-use common libraries from a
|
||||
variety of locations (git, hg, etc).
|
||||
'';
|
||||
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.the-kenny ];
|
||||
};
|
||||
}
|
|
@ -3042,7 +3042,12 @@ let
|
|||
|
||||
erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { };
|
||||
erlangR15B03 = callPackage ../development/interpreters/erlang/R15B03.nix { };
|
||||
erlang = erlangR15B03;
|
||||
erlangR16B01 = callPackage ../development/interpreters/erlang/R16B01.nix { };
|
||||
erlang = erlangR16B01;
|
||||
|
||||
rebar = callPackage ../development/tools/build-managers/rebar { };
|
||||
|
||||
elixir = callPackage ../development/interpreters/elixir { };
|
||||
|
||||
groovy = callPackage ../development/interpreters/groovy { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue