7797e1a1dd
This makes beam.package.erlangR19.abnf to be actually built with R19, instead of the default R18. It means that Elixir and LFE are provided in two versions, one built with R18 and with R19. Please note that Elixir does not build with R16 and R17 - trying to access beam.packages.erlang{R16,R17}.elixir will throw an error.
70 lines
2.6 KiB
Nix
70 lines
2.6 KiB
Nix
{ pkgs, stdenv, callPackage, wxGTK30, darwin }:
|
|
|
|
rec {
|
|
lib = callPackage ../development/beam-modules/lib.nix {};
|
|
|
|
# Each
|
|
interpreters = rec {
|
|
|
|
# R18 is the default version.
|
|
erlang = erlangR18; # The main switch to change default Erlang version.
|
|
erlang_odbc = erlangR18_odbc;
|
|
erlang_javac = erlangR18_javac;
|
|
erlang_odbc_javac = erlangR18_odbc_javac;
|
|
|
|
# These are standard Erlang versions, using the generic builder.
|
|
erlangR16 = lib.callErlang ../development/interpreters/erlang/R16.nix {};
|
|
erlangR16_odbc = erlangR16.override { odbcSupport = true; };
|
|
erlangR17 = lib.callErlang ../development/interpreters/erlang/R17.nix {};
|
|
erlangR17_odbc = erlangR17.override { odbcSupport = true; };
|
|
erlangR17_javac = erlangR17.override { javacSupport = true; };
|
|
erlangR17_odbc_javac = erlangR17.override {
|
|
javacSupport = true; odbcSupport = true;
|
|
};
|
|
erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
|
|
wxGTK = wxGTK30;
|
|
};
|
|
erlangR18_odbc = erlangR18.override { odbcSupport = true; };
|
|
erlangR18_javac = erlangR18.override { javacSupport = true; };
|
|
erlangR18_odbc_javac = erlangR18.override {
|
|
javacSupport = true; odbcSupport = true;
|
|
};
|
|
erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
|
|
wxGTK = wxGTK30;
|
|
};
|
|
erlangR19_odbc = erlangR19.override { odbcSupport = true; };
|
|
erlangR19_javac = erlangR19.override { javacSupport = true; };
|
|
erlangR19_odbc_javac = erlangR19.override {
|
|
javacSupport = true; odbcSupport = true;
|
|
};
|
|
|
|
# Bash fork, using custom builder.
|
|
erlang_basho_R16B02 = lib.callErlang ../development/interpreters/erlang/R16B02-8-basho.nix {
|
|
};
|
|
erlang_basho_R16B02_odbc = erlang_basho_R16B02.override {
|
|
odbcSupport = true;
|
|
};
|
|
|
|
# Other Beam languages. These are built with `beam.interpreters.erlang`. To
|
|
# access for example elixir built with different version of Erlang, use
|
|
# `beam.packages.erlangR19.elixir`.
|
|
elixir = packages.erlang.elixir;
|
|
lfe = packages.erlang.lfe;
|
|
};
|
|
|
|
# Helper function to generate package set with a specific Erlang version.
|
|
packagesWith = erlang: callPackage ../development/beam-modules { inherit erlang; };
|
|
|
|
# Each field in this tuple represents all Beam packages in nixpkgs built with
|
|
# appropriate Erlang/OTP version.
|
|
packages = rec {
|
|
|
|
# Packages built with default Erlang version.
|
|
erlang = packagesWith interpreters.erlang;
|
|
erlangR16 = packagesWith interpreters.erlangR16;
|
|
erlangR17 = packagesWith interpreters.erlangR17;
|
|
erlangR18 = packagesWith interpreters.erlangR18;
|
|
erlangR19 = packagesWith interpreters.erlangR19;
|
|
|
|
};
|
|
}
|