erlang: normalize version name

authored by superherointj and committed by Yt 441cbfcf e400f935

+51 -42
+4 -4
doc/languages-frameworks/beam.section.md
··· 14 14 15 15 All BEAM-related expressions are available via the top-level `beam` attribute, which includes: 16 16 17 - - `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR22`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`). 17 + - `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlang_22`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`). 18 18 19 19 - `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlang22`. 20 20 ··· 22 22 23 23 To create a package builder built with a custom Erlang version, use the lambda, `beam.packagesWith`, which accepts an Erlang/OTP derivation and produces a package builder similar to `beam.packages.erlang`. 24 24 25 - Many Erlang/OTP distributions available in `beam.interpreters` have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's `beam.interpreters.erlangR22_odbc_javac`, which corresponds to `beam.interpreters.erlangR22` and `beam.interpreters.erlangR22_nox`, which corresponds to `beam.interpreters.erlangR22`. 25 + Many Erlang/OTP distributions available in `beam.interpreters` have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's `beam.interpreters.erlang_22_odbc_javac`, which corresponds to `beam.interpreters.erlang_22` and `beam.interpreters.erlang_22_nox`, which corresponds to `beam.interpreters.erlang_22`. 26 26 27 27 ## Build Tools {#build-tools} 28 28 ··· 154 154 with import <nixpkgs> { }; 155 155 156 156 let 157 - # beam.interpreters.erlangR23 is available if you need a particular version 157 + # beam.interpreters.erlang_23 is available if you need a particular version 158 158 packages = beam.packagesWith beam.interpreters.erlang; 159 159 160 160 pname = "your_project"; ··· 274 274 275 275 with pkgs; 276 276 let 277 - elixir = beam.packages.erlangR24.elixir_1_12; 277 + elixir = beam.packages.erlang_24.elixir_1_12; 278 278 in 279 279 mkShell { 280 280 buildInputs = [ elixir ];
pkgs/development/interpreters/erlang/R21.nix pkgs/development/interpreters/erlang/21.nix
pkgs/development/interpreters/erlang/R22.nix pkgs/development/interpreters/erlang/22.nix
pkgs/development/interpreters/erlang/R23.nix pkgs/development/interpreters/erlang/23.nix
pkgs/development/interpreters/erlang/R24.nix pkgs/development/interpreters/erlang/24.nix
pkgs/development/interpreters/erlang/R25.nix pkgs/development/interpreters/erlang/25.nix
+1 -1
pkgs/development/interpreters/erlang/generic-builder.nix
··· 158 158 latest=$(list-git-tags --url=https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1) 159 159 if [ "$latest" != "${version}" ]; then 160 160 nixpkgs="$(git rev-parse --show-toplevel)" 161 - nix_file="$nixpkgs/pkgs/development/interpreters/erlang/R${major}.nix" 161 + nix_file="$nixpkgs/pkgs/development/interpreters/erlang/${major}.nix" 162 162 update-source-version ${baseName}R${major} "$latest" --version-key=version --print-changes --file="$nix_file" 163 163 else 164 164 echo "${baseName}R${major} is already up-to-date"
+1
pkgs/top-level/aliases.nix
··· 439 439 enyo-doom = enyo-launcher; # Added 2022-09-09 440 440 epoxy = libepoxy; # Added 2021-11-11 441 441 epsxe = throw "epsxe has been removed from nixpkgs, as it was unmaintained."; # added 2021-12-15 442 + inherit (beam.interpreters) erlangR25 erlangR24 erlangR23 erlangR22 erlangR21; # added 2023-03-21 442 443 esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12 443 444 etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22 444 445 eteroj.lv2 = throw "'eteroj.lv2' has been renamed to/replaced by 'open-music-kontrollers.eteroj'"; # Added 2022-03-09
+3 -3
pkgs/top-level/all-packages.nix
··· 16576 16576 }; 16577 16577 16578 16578 inherit (beam.interpreters) 16579 - erlang erlangR25 erlangR24 erlangR23 erlangR22 erlangR21 16579 + erlang erlang_25 erlang_24 erlang_23 erlang_22 erlang_21 16580 16580 erlang_odbc erlang_javac erlang_odbc_javac 16581 16581 elixir elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 16582 16582 elixir-ls; ··· 16588 16588 rebar rebar3 rebar3WithPlugins 16589 16589 fetchHex beamPackages; 16590 16590 16591 - inherit (beam.packages.erlangR21) lfe lfe_1_3; 16591 + inherit (beam.packages.erlang_21) lfe lfe_1_3; 16592 16592 16593 16593 gnudatalanguage = callPackage ../development/interpreters/gnudatalanguage { 16594 16594 inherit (llvmPackages) openmp; ··· 24745 24745 etcd_3_4 = callPackage ../servers/etcd/3.4.nix { }; 24746 24746 etcd_3_5 = callPackage ../servers/etcd/3.5.nix { }; 24747 24747 24748 - ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlangR24; }; 24748 + ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlang_24; }; 24749 24749 24750 24750 exhibitor = callPackage ../servers/exhibitor { }; 24751 24751
+42 -34
pkgs/top-level/beam-packages.nix
··· 12 12 13 13 let 14 14 self = beam; 15 + 16 + # Aliases added 2023-03-21 17 + versionLoop = f: lib.lists.foldr (version: acc: (f version) // acc) { } [ "25" "24" "23" "22" "21" ]; 18 + 19 + interpretersAliases = versionLoop (version: { 20 + "erlangR${version}" = self.interpreters."erlang_${version}"; 21 + "erlangR${version}_odbc" = self.interpreters."erlang_${version}_odbc"; 22 + "erlangR${version}_javac" = self.interpreters."erlang_${version}_javac"; 23 + "erlangR${version}_odbc_javac" = self.interpreters."erlang_${version}_odbc_javac"; 24 + }); 25 + 26 + packagesAliases = versionLoop (version: { "erlangR${version}" = self.packages."erlang_${version}"; }); 27 + 15 28 in 16 29 17 30 { 18 31 beamLib = callPackage ../development/beam-modules/lib.nix { }; 19 32 20 - latestVersion = "erlangR25"; 33 + latestVersion = "erlang_25"; 21 34 22 35 # Each 23 36 interpreters = { ··· 29 42 30 43 # Standard Erlang versions, using the generic builder. 31 44 32 - # R25 33 - erlangR25 = self.beamLib.callErlang ../development/interpreters/erlang/R25.nix { 45 + erlang_25 = self.beamLib.callErlang ../development/interpreters/erlang/25.nix { 34 46 wxGTK = wxGTK32; 35 47 parallelBuild = true; 36 48 autoconf = buildPackages.autoconf269; 37 49 inherit wxSupport systemdSupport; 38 50 }; 39 - erlangR25_odbc = self.interpreters.erlangR25.override { odbcSupport = true; }; 40 - erlangR25_javac = self.interpreters.erlangR25.override { javacSupport = true; }; 41 - erlangR25_odbc_javac = self.interpreters.erlangR25.override { 51 + erlang_25_odbc = self.interpreters.erlang_25.override { odbcSupport = true; }; 52 + erlang_25_javac = self.interpreters.erlang_25.override { javacSupport = true; }; 53 + erlang_25_odbc_javac = self.interpreters.erlang_25.override { 42 54 javacSupport = true; 43 55 odbcSupport = true; 44 56 }; 45 57 46 - # R24 47 - erlangR24 = self.beamLib.callErlang ../development/interpreters/erlang/R24.nix { 58 + erlang_24 = self.beamLib.callErlang ../development/interpreters/erlang/24.nix { 48 59 wxGTK = wxGTK32; 49 60 # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 50 61 parallelBuild = true; 51 62 autoconf = buildPackages.autoconf269; 52 63 inherit wxSupport systemdSupport; 53 64 }; 54 - erlangR24_odbc = self.interpreters.erlangR24.override { odbcSupport = true; }; 55 - erlangR24_javac = self.interpreters.erlangR24.override { javacSupport = true; }; 56 - erlangR24_odbc_javac = self.interpreters.erlangR24.override { 65 + erlang_24_odbc = self.interpreters.erlang_24.override { odbcSupport = true; }; 66 + erlang_24_javac = self.interpreters.erlang_24.override { javacSupport = true; }; 67 + erlang_24_odbc_javac = self.interpreters.erlang_24.override { 57 68 javacSupport = true; 58 69 odbcSupport = true; 59 70 }; 60 71 61 - # R23 62 - erlangR23 = self.beamLib.callErlang ../development/interpreters/erlang/R23.nix { 72 + erlang_23 = self.beamLib.callErlang ../development/interpreters/erlang/23.nix { 63 73 openssl = openssl_1_1; 64 74 wxGTK = wxGTK32; 65 75 # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 ··· 67 77 autoconf = buildPackages.autoconf269; 68 78 inherit wxSupport systemdSupport; 69 79 }; 70 - erlangR23_odbc = self.interpreters.erlangR23.override { odbcSupport = true; }; 71 - erlangR23_javac = self.interpreters.erlangR23.override { javacSupport = true; }; 72 - erlangR23_odbc_javac = self.interpreters.erlangR23.override { 80 + erlang_23_odbc = self.interpreters.erlang_23.override { odbcSupport = true; }; 81 + erlang_23_javac = self.interpreters.erlang_23.override { javacSupport = true; }; 82 + erlang_23_odbc_javac = self.interpreters.erlang_23.override { 73 83 javacSupport = true; 74 84 odbcSupport = true; 75 85 }; 76 86 77 - # R22 78 - erlangR22 = self.beamLib.callErlang ../development/interpreters/erlang/R22.nix { 87 + erlang_22 = self.beamLib.callErlang ../development/interpreters/erlang/22.nix { 79 88 openssl = openssl_1_1; 80 89 wxGTK = wxGTK32; 81 90 # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 ··· 83 92 autoconf = buildPackages.autoconf269; 84 93 inherit wxSupport systemdSupport; 85 94 }; 86 - erlangR22_odbc = self.interpreters.erlangR22.override { odbcSupport = true; }; 87 - erlangR22_javac = self.interpreters.erlangR22.override { javacSupport = true; }; 88 - erlangR22_odbc_javac = self.interpreters.erlangR22.override { 95 + erlang_22_odbc = self.interpreters.erlang_22.override { odbcSupport = true; }; 96 + erlang_22_javac = self.interpreters.erlang_22.override { javacSupport = true; }; 97 + erlang_22_odbc_javac = self.interpreters.erlang_22.override { 89 98 javacSupport = true; 90 99 odbcSupport = true; 91 100 }; 92 101 93 - # R21 94 - erlangR21 = self.beamLib.callErlang ../development/interpreters/erlang/R21.nix { 102 + erlang_21 = self.beamLib.callErlang ../development/interpreters/erlang/21.nix { 95 103 openssl = openssl_1_1; 96 104 wxGTK = wxGTK32; 97 105 autoconf = buildPackages.autoconf269; 98 106 inherit wxSupport systemdSupport; 99 107 }; 100 - erlangR21_odbc = self.interpreters.erlangR21.override { odbcSupport = true; }; 101 - erlangR21_javac = self.interpreters.erlangR21.override { javacSupport = true; }; 102 - erlangR21_odbc_javac = self.interpreters.erlangR21.override { 108 + erlang_21_odbc = self.interpreters.erlang_21.override { odbcSupport = true; }; 109 + erlang_21_javac = self.interpreters.erlang_21.override { javacSupport = true; }; 110 + erlang_21_odbc_javac = self.interpreters.erlang_21.override { 103 111 javacSupport = true; 104 112 odbcSupport = true; 105 113 }; 106 114 107 115 # Other Beam languages. These are built with `beam.interpreters.erlang`. To 108 116 # access for example elixir built with different version of Erlang, use 109 - # `beam.packages.erlangR24.elixir`. 117 + # `beam.packages.erlang_24.elixir`. 110 118 inherit (self.packages.erlang) 111 119 elixir elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir-ls; 112 120 113 121 inherit (self.packages.erlang) lfe lfe_1_3; 114 - }; 122 + } // interpretersAliases; 115 123 116 124 # Helper function to generate package set with a specific Erlang version. 117 125 packagesWith = erlang: ··· 122 130 packages = { 123 131 erlang = self.packages.${self.latestVersion}; 124 132 125 - erlangR25 = self.packagesWith self.interpreters.erlangR25; 126 - erlangR24 = self.packagesWith self.interpreters.erlangR24; 127 - erlangR23 = self.packagesWith self.interpreters.erlangR23; 128 - erlangR22 = self.packagesWith self.interpreters.erlangR22; 129 - erlangR21 = self.packagesWith self.interpreters.erlangR21; 130 - }; 133 + erlang_25 = self.packagesWith self.interpreters.erlang_25; 134 + erlang_24 = self.packagesWith self.interpreters.erlang_24; 135 + erlang_23 = self.packagesWith self.interpreters.erlang_23; 136 + erlang_22 = self.packagesWith self.interpreters.erlang_22; 137 + erlang_21 = self.packagesWith self.interpreters.erlang_21; 138 + } // packagesAliases; 131 139 }