Skip to content

Commit

Permalink
erlang_28: init at 28.0-rc1 (#382722)
Browse files Browse the repository at this point in the history
  • Loading branch information
happysalada authored Feb 17, 2025
2 parents a2de575 + 7ffa9e9 commit 54d9bb9
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 9 deletions.
14 changes: 10 additions & 4 deletions pkgs/development/beam-modules/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
{ lib, __splicedPackages, erlang }:
{
lib,
__splicedPackages,
erlang,
}:

let
pkgs = __splicedPackages;
Expand All @@ -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;
Expand Down Expand Up @@ -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; };
Expand Down
10 changes: 6 additions & 4 deletions pkgs/development/beam-modules/ex_doc/default.nix
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease }:
{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease, nix-update-script }:
# Based on ../elixir-ls/default.nix

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 {
Expand All @@ -19,7 +19,7 @@ mixRelease {
mixFodDeps = fetchMixDeps {
pname = "mix-deps-${pname}";
inherit src version elixir;
hash = "sha256-fYINsATbw3M3r+IVoYS14aVEsg9OBuH6mNUqzQJuDQo=";
hash = "sha256-s4b6wuBJPdN0FPn76zbLCHzqJNEZ6E4nOyB1whUM2VY=";
};

configurePhase = ''
Expand All @@ -41,6 +41,8 @@ mixRelease {
runHook postInstall
'';

passthru.updateScript = nix-update-script { };

meta = with lib; {
homepage = "https://github.com/elixir-lang/ex_doc";
description = ''
Expand Down
6 changes: 6 additions & 0 deletions pkgs/development/interpreters/erlang/28.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ mkDerivation }:

mkDerivation {
version = "28.0-rc1";
sha256 = "sha256-fjje31F5YW5rzetb2r4fkESwKt9N+WOH3yrqETUjJzg=";
}
7 changes: 7 additions & 0 deletions pkgs/development/interpreters/erlang/generic-builder.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 5 additions & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6948,7 +6948,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;

Expand All @@ -6966,10 +6966,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 { };

Expand Down
9 changes: 9 additions & 0 deletions pkgs/top-level/beam-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 54d9bb9

Please sign in to comment.