Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / ocamlformat / ocamlformat.nix
blob4c3b6607737d4c1d6dcc0a7239d8dfc5da96623f
1 # Version can be selected with the 'version' argument, see generic.nix.
2 { lib
3 , callPackage
4 , buildDunePackage
5 , ocaml
6 , re
7 , ocamlformat-lib
8 , menhir
9 , ...
10 }@args:
12 let inherit (callPackage ./generic.nix args) src version library_deps;
15 lib.throwIf (lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23")
16   "ocamlformat ${version} is not available for OCaml ${ocaml.version}"
18 buildDunePackage {
19   pname = "ocamlformat";
20   inherit src version;
22   minimalOCamlVersion = "4.08";
24   nativeBuildInputs =
25     if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ];
27   buildInputs = [ re ] ++ library_deps
28     ++ lib.optionals (lib.versionAtLeast version "0.25.1")
29     [ (ocamlformat-lib.override { inherit version; }) ];
31   meta = {
32     homepage = "https://github.com/ocaml-ppx/ocamlformat";
33     description = "Auto-formatter for OCaml code";
34     maintainers = with lib.maintainers; [ Zimmi48 marsam Julow ];
35     license = lib.licenses.mit;
36     mainProgram = "ocamlformat";
37   };