blob: 0bbb71dcd6f5c72d94ec6b6bf7b8b12bce08dc08 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease, nix-update-script }:
# Based on ../elixir-ls/default.nix
let
pname = "ex_doc";
version = "0.32.0";
src = fetchFromGitHub {
owner = "elixir-lang";
repo = "${pname}";
rev = "v${version}";
hash = "sha256-JLtMoPuXFKcjXaeVv1PdMzb6rZItTkXDAs4hXqTY/vw=";
};
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 { };
}
|