vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / top-level / beam-packages.nix
blob6da5b2218d5e2245dd0effcf94a3dac1e02f1902
1 { lib
2 , beam
3 , beam_nodocs
4 , callPackage
5 , wxGTK32
6 , buildPackages
7 , stdenv
8 , ex_docSupport ? true
9 , wxSupport ? true
10 , systemd
11 , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
14 let
15   self = beam;
20   beamLib = callPackage ../development/beam-modules/lib.nix { };
22   latestVersion = "erlang_25";
24   # Each
25   interpreters = {
27     erlang = self.interpreters.${self.latestVersion};
29     # Standard Erlang versions, using the generic builder.
31     erlang_27 = self.beamLib.callErlang ../development/interpreters/erlang/27.nix {
32       wxGTK = wxGTK32;
33       parallelBuild = true;
34       autoconf = buildPackages.autoconf269;
35       inherit (beam_nodocs.packages.erlang_27) ex_doc;
36       inherit ex_docSupport wxSupport systemdSupport;
37     };
39     erlang_26 = self.beamLib.callErlang ../development/interpreters/erlang/26.nix {
40       wxGTK = wxGTK32;
41       parallelBuild = true;
42       autoconf = buildPackages.autoconf269;
43       inherit wxSupport systemdSupport;
44     };
46     erlang_25 = self.beamLib.callErlang ../development/interpreters/erlang/25.nix {
47       wxGTK = wxGTK32;
48       parallelBuild = true;
49       autoconf = buildPackages.autoconf269;
50       inherit wxSupport systemdSupport;
51     };
53     erlang_24 = self.beamLib.callErlang ../development/interpreters/erlang/24.nix {
54       wxGTK = wxGTK32;
55       # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
56       parallelBuild = true;
57       autoconf = buildPackages.autoconf269;
58       inherit wxSupport systemdSupport;
59     };
61     # Other Beam languages. These are built with `beam.interpreters.erlang`. To
62     # access for example elixir built with different version of Erlang, use
63     # `beam.packages.erlang_24.elixir`.
64     inherit (self.packages.erlang)
65       elixir elixir_1_17 elixir_1_16 elixir_1_15 elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir-ls lfe lfe_2_1;
66   };
68   # Helper function to generate package set with a specific Erlang version.
69   packagesWith = erlang:
70     callPackage ../development/beam-modules { inherit erlang; };
72   # Each field in this tuple represents all Beam packages in nixpkgs built with
73   # appropriate Erlang/OTP version.
74   packages = {
75     erlang = self.packages.${self.latestVersion};
76     erlang_27 = self.packagesWith self.interpreters.erlang_27;
77     erlang_26 = self.packagesWith self.interpreters.erlang_26;
78     erlang_25 = self.packagesWith self.interpreters.erlang_25;
79     erlang_24 = self.packagesWith self.interpreters.erlang_24;
80   };
82   __attrsFailEvaluation = true;