nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 76 lines 2.0 kB view raw
1{ 2 lib, 3 beam, 4 callPackage, 5 stdenv, 6 wxSupport ? true, 7 systemd, 8 systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, 9 __splicedPackages, 10}: 11 12let 13 self = beam; 14 15 pkgs = __splicedPackages; 16 callErlang = 17 drv: args: 18 let 19 genericBuilder = 20 versionArgs: import ../development/interpreters/erlang/generic-builder.nix (versionArgs // args); 21 in 22 pkgs.callPackage (import drv genericBuilder) { }; 23in 24 25{ 26 latestVersion = "erlang_28"; 27 28 # Each 29 interpreters = { 30 31 erlang = self.interpreters.${self.latestVersion}; 32 33 # Standard Erlang versions, using the generic builder. 34 # 35 # Three versions are supported according to https://github.com/erlang/otp/security 36 37 erlang_28 = callErlang ../development/interpreters/erlang/28.nix { 38 inherit wxSupport systemdSupport; 39 }; 40 41 erlang_27 = callErlang ../development/interpreters/erlang/27.nix { 42 inherit wxSupport systemdSupport; 43 }; 44 45 erlang_26 = callErlang ../development/interpreters/erlang/26.nix { 46 inherit wxSupport systemdSupport; 47 }; 48 49 # Other Beam languages. These are built with `beam.interpreters.erlang`. To 50 # access for example elixir built with different version of Erlang, use 51 # `beam.packages.erlang_27.elixir`. 52 inherit (self.packages.erlang) 53 elixir 54 elixir_1_20 55 elixir_1_19 56 elixir_1_18 57 elixir_1_17 58 elixir_1_16 59 elixir_1_15 60 elixir-ls 61 lfe 62 ; 63 }; 64 65 # Helper function to generate package set with a specific Erlang version. 66 packagesWith = erlang: callPackage ../development/beam-modules { inherit erlang; }; 67 68 # Each field in this tuple represents all Beam packages in nixpkgs built with 69 # appropriate Erlang/OTP version. 70 packages = { 71 erlang = self.packages.${self.latestVersion}; 72 erlang_28 = self.packagesWith self.interpreters.erlang_28; 73 erlang_27 = self.packagesWith self.interpreters.erlang_27; 74 erlang_26 = self.packagesWith self.interpreters.erlang_26; 75 }; 76}