1{
2 coq,
3 coq-lsp,
4 ocamlPackages,
5 lib,
6 mkCoqDerivation,
7 version ? null,
8 makeWrapper,
9}:
10
11mkCoqDerivation rec {
12 pname = "coqfmt";
13 owner = "toku-sa-n";
14
15 inherit version;
16 displayVersion.coqfmt = v: "master-${v}";
17
18 release."master" = {
19 rev = "c26ce64d6ad1a1c3cafee38ab4889ad3b68a5c33";
20 sha256 = "sha256-4Q0z/KUHrJZKeKJDqa9mkxfy9LrGh2xPt561muUFYAY=";
21 };
22 namePrefix = [ ];
23
24 useDune = true;
25
26 defaultVersion =
27 with lib.versions;
28 lib.switch coq.version [
29 {
30 case = isEq "8.20";
31 out = "master";
32 }
33 ] null;
34
35 installPhase = ''
36 runHook preInstall
37 dune install -p ${pname} --prefix=$out --libdir $OCAMLFIND_DESTDIR
38 wrapProgram $out/bin/coqfmt --prefix OCAMLPATH : $OCAMLPATH
39 runHook postInstall
40 '';
41
42 nativeBuildInputs = [ makeWrapper ];
43
44 buildInputs = with ocamlPackages; [
45 dune-build-info
46 coq-lsp
47 ];
48
49 meta = {
50 description = "CLI tool to format your Coq source code";
51 license = lib.licenses.agpl3Only;
52 maintainers = with lib.maintainers; [ DieracDelta ];
53 };
54
55}