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 68f1f5d18199..fb0bb3f55d4a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17389,7 +17389,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;