From 41e52bde8b47d2c097d9f6bf82ece6b7b9405aef Mon Sep 17 00:00:00 2001 From: Barry Moore Date: Tue, 2 Apr 2024 13:29:40 -0400 Subject: [PATCH] ex_doc: init at 0.31.2 --- pkgs/development/beam-modules/default.nix | 2 + .../beam-modules/ex_doc/default.nix | 55 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/beam-modules/ex_doc/default.nix diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index 9e30ec4ef7b1..d94bdf2b2d8e 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -83,6 +83,8 @@ let # Remove old versions of elixir, when the supports fades out: # https://hexdocs.pm/elixir/compatibility-and-deprecations.html + ex_doc = callPackage ./ex_doc { inherit elixir fetchMixDeps mixRelease; }; + elixir-ls = callPackage ./elixir-ls { inherit elixir fetchMixDeps mixRelease; }; lfe = lfe_2_1; diff --git a/pkgs/development/beam-modules/ex_doc/default.nix b/pkgs/development/beam-modules/ex_doc/default.nix new file mode 100644 index 000000000000..2eb92f1ac4c0 --- /dev/null +++ b/pkgs/development/beam-modules/ex_doc/default.nix @@ -0,0 +1,55 @@ +{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease, nix-update-script }: +# Based on ../elixir-ls/default.nix + +let + pname = "ex_doc"; + version = "0.31.2"; + src = fetchFromGitHub { + owner = "elixir-lang"; + repo = "${pname}"; + rev = "v${version}"; + hash = "sha256-qUiXZ1KHD9sS1xG7QNYyrZVzPqerwCRdkN8URrlQ45g="; + }; +in +mixRelease { + inherit pname version src elixir; + + stripDebug = true; + + mixFodDeps = fetchMixDeps { + pname = "mix-deps-${pname}"; + inherit src version elixir; + hash = "sha256-ZNHhWCZ3n2Y/XCsXVjbu4wbx/J95JdFP/2raACciAUU="; + }; + + configurePhase = '' + runHook preConfigure + mix deps.compile --no-deps-check + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + mix do escript.build + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp -v ex_doc $out/bin + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/elixir-lang/ex_doc"; + description = '' + ExDoc produces HTML and EPUB documentation for Elixir projects + ''; + license = licenses.asl20; + platforms = platforms.unix; + mainProgram = "ex_doc"; + maintainers = with maintainers; [chiroptical]; + }; + passthru.updateScript = nix-update-script { }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be0057733ef2..28aca9b71393 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17397,7 +17397,7 @@ with pkgs; erlang_nox = beam_nox.interpreters.erlang; inherit (beam.packages.erlang) - erlang-ls erlfmt elvis-erlang + ex_doc erlang-ls erlfmt elvis-erlang rebar rebar3 rebar3WithPlugins fetchHex lfe lfe_2_1;