diff options
author | Andrey Pavlov <couchemar@yandex.ru> | 2015-06-26 09:59:11 +0300 |
---|---|---|
committer | Rok Garbas <rok@garbas.si> | 2015-06-26 16:15:14 +0200 |
commit | 550663247375914d43179dbd605beffdb0c79ee4 (patch) | |
tree | 3050e5a868c425057f38ce8e53f4f4063655aced /pkgs/development | |
parent | 449c14d20b838ffac64ab7d71d126d2a5d317e49 (diff) | |
download | nixlib-550663247375914d43179dbd605beffdb0c79ee4.tar nixlib-550663247375914d43179dbd605beffdb0c79ee4.tar.gz nixlib-550663247375914d43179dbd605beffdb0c79ee4.tar.bz2 nixlib-550663247375914d43179dbd605beffdb0c79ee4.tar.lz nixlib-550663247375914d43179dbd605beffdb0c79ee4.tar.xz nixlib-550663247375914d43179dbd605beffdb0c79ee4.tar.zst nixlib-550663247375914d43179dbd605beffdb0c79ee4.zip |
erlang: add Erlang R18, closes #8515
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/interpreters/erlang/R18.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix new file mode 100644 index 000000000000..9bc36ee47dec --- /dev/null +++ b/pkgs/development/interpreters/erlang/R18.nix @@ -0,0 +1,87 @@ +{ stdenv, fetchurl, perl, gnum4, ncurses, openssl +, gnused, gawk, makeWrapper +, odbcSupport ? false, unixODBC ? null +, wxSupport ? true, mesa ? null, wxGTK ? null, xlibs ? null, wxmac ? null +, javacSupport ? false, openjdk ? null +, enableHipe ? true +}: + +assert wxSupport -> (if stdenv.isDarwin + then wxmac != null + else mesa != null && wxGTK != null && xlibs != null); + +assert odbcSupport -> unixODBC != null; +assert javacSupport -> openjdk != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}" + + "${optionalString javacSupport "-javac"}"; + version = "18.0"; + + src = fetchurl { + url = "http://www.erlang.org/download/otp_src_${version}.tar.gz"; + sha256 = "1ahi865ii3iqzd00yyn3nrxjb9qa2by9d7ixssvqw8ag9firvdm0"; + }; + + buildInputs = + [ perl gnum4 ncurses openssl makeWrapper + ] ++ optional wxSupport (if stdenv.isDarwin then [ wxmac ] else [ mesa wxGTK xlibs.libX11 ]) + ++ optional odbcSupport [ unixODBC ] + ++ optional javacSupport [ openjdk ]; + + 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}" + ] ++ optional enableHipe "--enable-hipe" + ++ optional wxSupport "--enable-wx" + ++ optional odbcSupport "--with-odbc=${unixODBC}" + ++ optional javacSupport "--with-javac" + ++ optional stdenv.isDarwin "--enable-darwin-64bit"; + + postInstall = let + manpages = fetchurl { + url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz"; + sha256 = "0wsnp7sp21ydinwkg3rkazyrs382pdzwra9apikkhs70dv1hwkz4"; + }; + in '' + ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call + tar xf "${manpages}" -C "$out/lib/erlang" + for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do + prefix="''${i%/*}" + ensureDir "$out/share/man/''${prefix##*/}" + ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl" + done + ''; + + # Some erlang bin/ scripts run sed and awk + postFixup = '' + wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" + wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin" + ''; + + 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 = platforms.unix; + maintainers = with maintainers; [ the-kenny sjmackenzie couchemar ]; + license = licenses.asl20; + }; +} |