summary refs log tree commit diff
path: root/pkgs/development/interpreters/erlang
diff options
context:
space:
mode:
authorMatthew Daiter <mdaiter8121@gmail.com>2016-11-17 12:25:04 +0100
committerMoritz U <moritz@tarn-vedra.de>2016-11-17 12:25:04 +0100
commit8f765490e4e22d29165e0538f7081827ffa18345 (patch)
tree309a102ad8193d92cd6db3835eb0696e5a46a23d /pkgs/development/interpreters/erlang
parentba73dbbda61b14ec8e2ca0ab526d3b35ba1db74c (diff)
downloadnixlib-8f765490e4e22d29165e0538f7081827ffa18345.tar
nixlib-8f765490e4e22d29165e0538f7081827ffa18345.tar.gz
nixlib-8f765490e4e22d29165e0538f7081827ffa18345.tar.bz2
nixlib-8f765490e4e22d29165e0538f7081827ffa18345.tar.lz
nixlib-8f765490e4e22d29165e0538f7081827ffa18345.tar.xz
nixlib-8f765490e4e22d29165e0538f7081827ffa18345.tar.zst
nixlib-8f765490e4e22d29165e0538f7081827ffa18345.zip
erlang_basho: Init at R16B03
erlang_basho_R16B03: added package file

erlang_basho_R16B03: added to top-level/all-packages.nix file

erlang_basho_R16B03_odbc: added to top-level/all-packages.nix file

erlang_basho_R16B03: Added the Carbon and Cocoa fields

erlang_basho_R16B03: Removed faulty maintainer

erlang_basho_R16B03: Added license as APL20

erlang_basho_R16B03: Made long and short description more informative

erlang_basho: added myself as a maintainer

erlang_basho: made configureFlags into an array

erlang_basho: added gcc as a dependency

erlang_basho: added escript replacement

erlang_basho: removed debugging cat statement

erlang_basho: changed subsitituteInPlace command to sed command

erlang_basho: added package

erlang_basho: Init at <R16B03
Diffstat (limited to 'pkgs/development/interpreters/erlang')
-rw-r--r--pkgs/development/interpreters/erlang/R16B03-1-basho.nix98
1 files changed, 98 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/erlang/R16B03-1-basho.nix b/pkgs/development/interpreters/erlang/R16B03-1-basho.nix
new file mode 100644
index 000000000000..9a0e3d6bc10d
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/R16B03-1-basho.nix
@@ -0,0 +1,98 @@
+{ stdenv, fetchurl, fetchgit, perl, gnum4, ncurses, openssl, autoconf264, gcc, erlang
+, gnused, gawk, makeWrapper
+, odbcSupport ? false, unixODBC ? null
+, wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null
+, enableDebugInfo ? false 
+, Carbon ? null, Cocoa ? null }:
+
+assert wxSupport -> mesa != null && wxGTK != null && xorg != null;
+assert odbcSupport -> unixODBC != null;
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "erlang-basho-" + version + "${optionalString odbcSupport "-odbc"}";
+  version = "16B03-1";
+
+  src = fetchgit {
+    url = "https://github.com/basho/otp";
+    rev = "cb3a485894e493ad172db2749129e613fe52713a";
+    sha256 = "0xn28cxlq0ya1aww9q14rg8jf3x2flwxrz6wdnpb0l2h2dasr655";
+  };
+
+  debugInfo = enableDebugInfo;
+
+  buildInputs =
+    [ perl gnum4 ncurses openssl makeWrapper autoconf264 gcc 
+    ] ++ optional wxSupport [ mesa wxGTK xorg.libX11 ]
+      ++ optional odbcSupport [ unixODBC ];
+
+  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure.in erts/configure.in '';
+
+  preConfigure = ''
+    export HOME=$PWD/../
+    export LANG=C
+    export ERL_TOP=$(pwd)
+    sed -e s@/bin/pwd@pwd@g -i otp_build
+    sed -e s@"/usr/bin/env escript"@${erlang}/bin/escript@g -i lib/diameter/bin/diameterc 
+  '';
+
+  configureFlags= [
+    "--with-ssl=${openssl.dev}"
+    "--enable-smp-support" 
+    "--enable-threads" 
+    "--enable-kernel-poll" 
+    "--disable-hipe" 
+    "${optionalString odbcSupport "--with-odbc=${unixODBC}"}" 
+    "${optionalString stdenv.isDarwin "--enable-darwin-64bit"}" 
+    "${optionalString stdenv.isLinux "--enable-m64-build"}"
+  ];
+
+  buildPhase = ''
+    ./otp_build autoconf 
+    ./otp_build setup -a --prefix=$out $configureFlags
+  '';
+
+  postInstall = let
+    manpages = fetchurl {
+      url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
+      sha256 = "17f3k5j17rdsah18gywjngip6cbfgp6nb9di6il4pahmf9yvqc8g";
+    };
+  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"
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    homepage = "https://github.com/basho/otp/";
+    description = "Programming language used for massively scalable soft real-time systems, Basho fork";
+
+    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.
+      This version of Erlang is Basho's version, forked from Ericsson's 
+      repository.
+    '';
+
+    platforms = platforms.unix;
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with maintainers; [ mdaiter ];
+  };
+}