about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeder Bergebakken Sundt <pbsds@hotmail.com>2024-04-06 01:07:59 +0200
committerGitHub <noreply@github.com>2024-04-06 01:07:59 +0200
commit31f6d202bf1b5bf63c8875cf4aaa51748d5ce825 (patch)
tree43dffeb3863db3c38e666004b35ebcafbd9172e6
parente6298356da856118f49fb40aa250f83282d1ad7c (diff)
parent41e52bde8b47d2c097d9f6bf82ece6b7b9405aef (diff)
Merge pull request #301005 from chiroptical/add-ex_doc
ex_doc: init at 0.31.2
-rw-r--r--pkgs/development/beam-modules/default.nix2
-rw-r--r--pkgs/development/beam-modules/ex_doc/default.nix55
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 58 insertions, 1 deletions
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 9e30ec4ef7b1b..d94bdf2b2d8ea 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 0000000000000..2eb92f1ac4c08
--- /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 68f1f5d181995..fb0bb3f55d4af 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;