From cc9e1db81b0484dcd35cf0a2419fbecf1675e20d Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Sun, 16 Feb 2025 19:57:39 -0500 Subject: [PATCH 1/3] ex_doc: add updateScript --- pkgs/development/beam-modules/ex_doc/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/beam-modules/ex_doc/default.nix b/pkgs/development/beam-modules/ex_doc/default.nix index fbc1f8a0da92..4d4897780944 100644 --- a/pkgs/development/beam-modules/ex_doc/default.nix +++ b/pkgs/development/beam-modules/ex_doc/default.nix @@ -1,4 +1,4 @@ -{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease }: +{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease, nix-update-script }: # Based on ../elixir-ls/default.nix let @@ -41,6 +41,8 @@ mixRelease { runHook postInstall ''; + passthru.updateScript = nix-update-script { }; + meta = with lib; { homepage = "https://github.com/elixir-lang/ex_doc"; description = '' From 849604f776f4c7a8c5b25e43f92dff14963e10b3 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 17 Feb 2025 00:58:15 +0000 Subject: [PATCH 2/3] ex_doc: 0.34.1 -> 0.37.1 --- pkgs/development/beam-modules/ex_doc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/beam-modules/ex_doc/default.nix b/pkgs/development/beam-modules/ex_doc/default.nix index 4d4897780944..736be609e9da 100644 --- a/pkgs/development/beam-modules/ex_doc/default.nix +++ b/pkgs/development/beam-modules/ex_doc/default.nix @@ -3,12 +3,12 @@ let pname = "ex_doc"; - version = "0.34.1"; + version = "0.37.1"; src = fetchFromGitHub { owner = "elixir-lang"; repo = "${pname}"; rev = "v${version}"; - hash = "sha256-OXIRippEDYAKD222XzNJkkZdXbUkDUauv5amr4oAU7c="; + hash = "sha256-PF+4bJ1FGr7t8khorlrB7rSSmNsGpyhC4HmWjw6j0JQ="; }; in mixRelease { @@ -19,7 +19,7 @@ mixRelease { mixFodDeps = fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version elixir; - hash = "sha256-fYINsATbw3M3r+IVoYS14aVEsg9OBuH6mNUqzQJuDQo="; + hash = "sha256-s4b6wuBJPdN0FPn76zbLCHzqJNEZ6E4nOyB1whUM2VY="; }; configurePhase = '' From 7ffa9e92b5c6ba0c5fbc8f06daa4f49cfa2628f4 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Sun, 16 Feb 2025 19:56:18 -0500 Subject: [PATCH 3/3] erlang_28: init at 28.0-rc1 --- pkgs/development/beam-modules/default.nix | 14 ++++++++++---- pkgs/development/interpreters/erlang/28.nix | 6 ++++++ .../interpreters/erlang/generic-builder.nix | 7 +++++++ pkgs/top-level/all-packages.nix | 6 +++++- pkgs/top-level/beam-packages.nix | 9 +++++++++ 5 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/interpreters/erlang/28.nix diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index 8bbd6418c4c2..a5a3ae2d3837 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -1,4 +1,8 @@ -{ lib, __splicedPackages, erlang }: +{ + lib, + __splicedPackages, + erlang, +}: let pkgs = __splicedPackages; @@ -7,10 +11,13 @@ let lib' = pkgs.callPackage ./lib.nix { }; # FIXME: add support for overrideScope - callPackageWithScope = scope: drv: args: lib.callPackageWith scope drv args; + callPackageWithScope = + scope: drv: args: + lib.callPackageWith scope drv args; mkScope = scope: pkgs // scope; - packages = self: + packages = + self: let defaultScope = mkScope self; callPackage = drv: args: callPackageWithScope defaultScope drv args; @@ -75,7 +82,6 @@ let ex_doc = callPackage ./ex_doc { inherit fetchMixDeps mixRelease; - elixir = elixir_1_17; }; elixir-ls = callPackage ./elixir-ls { inherit elixir fetchMixDeps mixRelease; }; diff --git a/pkgs/development/interpreters/erlang/28.nix b/pkgs/development/interpreters/erlang/28.nix new file mode 100644 index 000000000000..05fb205543cc --- /dev/null +++ b/pkgs/development/interpreters/erlang/28.nix @@ -0,0 +1,6 @@ +{ mkDerivation }: + +mkDerivation { + version = "28.0-rc1"; + sha256 = "sha256-fjje31F5YW5rzetb2r4fkESwKt9N+WOH3yrqETUjJzg="; +} diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 38c8278b02a0..d1cc86697f86 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -140,6 +140,13 @@ stdenv.mkDerivation ( libxml2 ]; + env = lib.optionalAttrs ((lib.versionAtLeast "28.0-rc1" version) && ex_docSupport) { + # erlang-28.0-rc> warning: jinterface.html redirects to ../lib/jinterface/doc/html/index.html, which does not exist + # erlang-28.0-rc> + # erlang-28.0-rc> warning: odbc.html redirects to ../lib/odbc/doc/html/index.html, which does not exist + EX_DOC_WARNINGS_AS_ERRORS = "false"; + }; + buildInputs = [ ncurses diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84e92b4eab81..7b7b530174c4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6950,7 +6950,7 @@ with pkgs; }; inherit (beam.interpreters) - erlang erlang_27 erlang_26 erlang_25 + erlang erlang_28 erlang_27 erlang_26 erlang_25 elixir elixir_1_18 elixir_1_17 elixir_1_16 elixir_1_15 elixir_1_14 elixir-ls; @@ -6968,10 +6968,14 @@ with pkgs; beam25Packages = recurseIntoAttrs beam.packages.erlang_25; beam26Packages = recurseIntoAttrs beam.packages.erlang_26; beam27Packages = recurseIntoAttrs beam.packages.erlang_27; + # 28 is pre-release + beam28Packages = dontRecurseIntoAttrs beam.packages.erlang_28; beamMinimal25Packages = recurseIntoAttrs beam_minimal.packages.erlang_25; beamMinimal26Packages = recurseIntoAttrs beam_minimal.packages.erlang_26; beamMinimal27Packages = recurseIntoAttrs beam_minimal.packages.erlang_27; + # 28 is pre-release + beamMinimal28Packages = dontRecurseIntoAttrs beam_minimal.packages.erlang_28; erlang_language_platform = callPackage ../by-name/er/erlang-language-platform/package.nix { }; diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 1c039da6b96f..3e2fdd18d0ae 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -31,6 +31,14 @@ in # # Three versions are supported according to https://github.com/erlang/otp/security + erlang_28 = self.beamLib.callErlang ../development/interpreters/erlang/28.nix { + wxGTK = wxGTK32; + parallelBuild = true; + # ex_doc failing to build with erlang 28 + inherit (beam_nodocs.packages.erlang_27) ex_doc; + inherit ex_docSupport wxSupport systemdSupport; + }; + erlang_27 = self.beamLib.callErlang ../development/interpreters/erlang/27.nix { wxGTK = wxGTK32; parallelBuild = true; @@ -76,6 +84,7 @@ in # appropriate Erlang/OTP version. packages = { erlang = self.packages.${self.latestVersion}; + erlang_28 = self.packagesWith self.interpreters.erlang_28; erlang_27 = self.packagesWith self.interpreters.erlang_27; erlang_26 = self.packagesWith self.interpreters.erlang_26; erlang_25 = self.packagesWith self.interpreters.erlang_25;