diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md
index 2d32dec72053..68e84d2f9904 100644
--- a/doc/languages-frameworks/beam.section.md
+++ b/doc/languages-frameworks/beam.section.md
@@ -14,9 +14,9 @@ nixpkgs follows the [official elixir deprecation schedule](https://hexdocs.pm/el
All BEAM-related expressions are available via the top-level `beam` attribute, which includes:
-- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR19`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`).
+- `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`).
-- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlangR19`.
+- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlang22`.
The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased as `erlang`. The default BEAM package set is defined by `beam.packages.erlang` and aliased at the top level as `beamPackages`.
diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml
index 9ce24700686a..07b28147d696 100644
--- a/nixos/doc/manual/release-notes/rl-2105.xml
+++ b/nixos/doc/manual/release-notes/rl-2105.xml
@@ -1133,6 +1133,14 @@ environment.systemPackages = [
Nixpkgs now contains automatically packaged GNOME Shell extensions from the GNOME Extensions portal. You can find them, filed by their UUID, under gnome38Extensions attribute for GNOME 3.38 and under gnome40Extensions for GNOME 40. Finally, the gnomeExtensions attribute contains extensions for the latest GNOME Shell version in Nixpkgs, listed under a more human-friendly name. The unqualified attribute scope also contains manually packaged extensions. Note that the automatically packaged extensions are provided for convenience and are not checked or guaranteed to work.
+
+
+ Erlang/OTP versions older than R21 got dropped. We also dropped the cuter package, as it was purely an example of how to build a package.
+ We also dropped lfe_1_2 as it could not build with R21+.
+ Moving forward, we expect to only support 3 yearly releases of OTP.
+
+
+
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 8fe7de96b244..203668c3cb87 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -77,7 +77,6 @@ let
elixir_ls = callPackage ./elixir_ls.nix { inherit elixir fetchMixDeps mixRelease; };
lfe = lfe_1_3;
- lfe_1_2 = lib'.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
# Non hex packages. Examples how to build Rebar/Mix packages with and
@@ -85,9 +84,6 @@ let
hex = callPackage ./hex { };
webdriver = callPackage ./webdriver { };
relxExe = callPackage ../tools/erlang/relx-exe { };
-
- # An example of Erlang/C++ package.
- cuter = callPackage ../tools/erlang/cuter { };
};
in
makeExtensible packages
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
deleted file mode 100644
index c99596ea026f..000000000000
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ mkDerivation, fetchpatch }:
-
-let
- rmAndPwdPatch = fetchpatch {
- url = "https://github.com/erlang/otp/commit/98b8650d22e94a5ff839170833f691294f6276d0.patch";
- sha256 = "0zjs7as83prgq4d5gaw2cmnajnsprdk8cjl5kklknx0pc2b3hfg5";
- };
-
- envAndCpPatch = fetchpatch {
- url = "https://github.com/erlang/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch";
- sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
- };
-
- makeOrderingPatch = fetchpatch {
- url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch";
- sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n";
- };
-
- makeParallelInstallPatch = fetchpatch {
- url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch";
- sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c";
- };
-
-in mkDerivation {
- version = "18.3.4.11";
- sha256 = "190xbv77v5x2g8xkzdg9bpwa1ylkc18d03ag2a0frcwcv76x53k1";
-
- patches = [
- rmAndPwdPatch
- envAndCpPatch
- makeOrderingPatch
- makeParallelInstallPatch
- ];
-}
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
deleted file mode 100644
index 65ac57413f60..000000000000
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ mkDerivation, fetchpatch }:
-
-mkDerivation {
- version = "19.3.6.13";
- sha256 = "1zbg54p7pdr8bjyrxvi7vs41vgamqa8lsynnm6ac6845q0xwpwid";
-
- patches = [
- # macOS 10.13 crypto fix from OTP-20.1.2
- (fetchpatch {
- name = "darwin-crypto.patch";
- url = "https://github.com/erlang/otp/commit/882c90f72ba4e298aa5a7796661c28053c540a96.patch";
- sha256 = "1gggzpm8ssamz6975z7px0g8qq5i4jqw81j846ikg49c5cxvi0hi";
- })
- ];
-
- prePatch = ''
- substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
- '';
-}
diff --git a/pkgs/development/interpreters/erlang/R20.nix b/pkgs/development/interpreters/erlang/R20.nix
deleted file mode 100644
index dfa363c0f25c..000000000000
--- a/pkgs/development/interpreters/erlang/R20.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
- version = "20.3.8.26";
- sha256 = "062405s59hkdkmw2dryq0qc1k03jsncj7yqisgj35x9sqpzm4w7a";
-
- prePatch = ''
- substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
- '';
-}
diff --git a/pkgs/development/tools/erlang/cuter/default.nix b/pkgs/development/tools/erlang/cuter/default.nix
deleted file mode 100644
index 44ed61ac1d5f..000000000000
--- a/pkgs/development/tools/erlang/cuter/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, autoreconfHook, which, writeText, makeWrapper, fetchFromGitHub, erlang
-, z3, python }:
-
-stdenv.mkDerivation rec {
- pname = "cuter";
- version = "0.1";
-
- src = fetchFromGitHub {
- owner = "aggelgian";
- repo = "cuter";
- rev = "v${version}";
- sha256 = "1ax1pj6ji4w2mg3p0nh2lzmg3n9mgfxk4cf07pll51yrcfpfrnfv";
- };
-
- setupHook = writeText "setupHook.sh" ''
- addToSearchPath ERL_LIBS "$1/lib/erlang/lib/"
- '';
-
- nativeBuildInputs = [ autoreconfHook makeWrapper which ];
- buildInputs = [ python python.pkgs.setuptools z3.python erlang ];
-
- buildFlags = [ "PWD=$(out)/lib/erlang/lib/cuter-${version}" "cuter_target" ];
- configurePhase = ''
- autoconf
- ./configure --prefix $out
- '';
-
- installPhase = ''
- mkdir -p "$out/lib/erlang/lib/cuter-${version}"
- mkdir -p "$out/bin"
- cp -r * "$out/lib/erlang/lib/cuter-${version}"
- cp cuter "$out/bin/cuter"
- wrapProgram $out/bin/cuter \
- --prefix PATH : "${python}/bin" \
- --suffix PYTHONPATH : "${z3}/${python.sitePackages}" \
- --suffix ERL_LIBS : "$out/lib/erlang/lib"
- '';
-
- meta = {
- description = "A concolic testing tool for the Erlang functional programming language";
- license = lib.licenses.gpl3;
- homepage = "https://github.com/aggelgian/cuter";
- maintainers = with lib.maintainers; [ ericbmerritt ];
- platforms = with lib.platforms; unix;
- };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 04626fa74517..7247a76ec096 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12038,7 +12038,7 @@ in
beam_nox = callPackage ./beam-packages.nix { wxSupport = false; };
inherit (beam.interpreters)
- erlang erlangR24 erlangR23 erlangR22 erlangR21 erlangR20 erlangR19 erlangR18
+ erlang erlangR24 erlangR23 erlangR22 erlangR21
erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02
elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7
elixir_ls;
@@ -12051,8 +12051,6 @@ in
fetchHex beamPackages
relxExe;
- inherit (beam.packages.erlangR19) cuter lfe_1_2;
-
inherit (beam.packages.erlangR21) lfe lfe_1_3;
groovy = callPackage ../development/interpreters/groovy { };
@@ -19877,7 +19875,7 @@ in
xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };
yaws = callPackage ../servers/http/yaws {
- erlang = erlangR18;
+ erlang = erlangR21;
};
youtrack = callPackage ../servers/jetbrains/youtrack.nix { };
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index b6f4418e1115..e4ce5b6d3c84 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -1,4 +1,4 @@
-{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }:
+{ callPackage, wxGTK30, buildPackages, wxSupport ? true }:
rec {
lib = callPackage ../development/beam-modules/lib.nix { };
@@ -72,47 +72,6 @@ rec {
odbcSupport = true;
};
- # R20
- erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix {
- wxGTK = wxGTK30;
- autoconf = buildPackages.autoconf269;
- inherit wxSupport;
- };
- erlangR20_odbc = erlangR20.override { odbcSupport = true; };
- erlangR20_javac = erlangR20.override { javacSupport = true; };
- erlangR20_odbc_javac = erlangR20.override {
- javacSupport = true;
- odbcSupport = true;
- };
-
- # R19
- erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
- wxGTK = wxGTK30;
- openssl = openssl_1_0_2;
- autoconf = buildPackages.autoconf269;
- inherit wxSupport;
- };
- erlangR19_odbc = erlangR19.override { odbcSupport = true; };
- erlangR19_javac = erlangR19.override { javacSupport = true; };
- erlangR19_odbc_javac = erlangR19.override {
- javacSupport = true;
- odbcSupport = true;
- };
-
- # R18
- erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
- wxGTK = wxGTK30;
- openssl = openssl_1_0_2;
- autoconf = buildPackages.autoconf269;
- inherit wxSupport;
- };
- erlangR18_odbc = erlangR18.override { odbcSupport = true; };
- erlangR18_javac = erlangR18.override { javacSupport = true; };
- erlangR18_odbc_javac = erlangR18.override {
- javacSupport = true;
- odbcSupport = true;
- };
-
# Basho fork, using custom builder.
erlang_basho_R16B02 =
lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix {
@@ -128,7 +87,7 @@ rec {
inherit (packages.erlang)
elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7 elixir_ls;
- inherit (packages.erlang) lfe lfe_1_2 lfe_1_3;
+ inherit (packages.erlang) lfe lfe_1_3;
};
# Helper function to generate package set with a specific Erlang version.
@@ -145,8 +104,5 @@ rec {
erlangR23 = packagesWith interpreters.erlangR23;
erlangR22 = packagesWith interpreters.erlangR22;
erlangR21 = packagesWith interpreters.erlangR21;
- erlangR20 = packagesWith interpreters.erlangR20;
- erlangR19 = packagesWith interpreters.erlangR19;
- erlangR18 = packagesWith interpreters.erlangR18;
};
}