mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 15:33:13 +00:00
40 lines
1.1 KiB
Nix
40 lines
1.1 KiB
Nix
# Version can be selected with the 'version' argument, see generic.nix.
|
|
{ lib
|
|
, callPackage
|
|
, buildDunePackage
|
|
, ocaml
|
|
, re
|
|
, ocamlformat-lib
|
|
, menhir
|
|
, ...
|
|
}@args:
|
|
|
|
let inherit (callPackage ./generic.nix args) src version library_deps;
|
|
in
|
|
|
|
lib.throwIf (lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23"
|
|
|| lib.versionAtLeast ocaml.version "5.2" && !lib.versionAtLeast version "0.26.2")
|
|
"ocamlformat ${version} is not available for OCaml ${ocaml.version}"
|
|
|
|
buildDunePackage {
|
|
pname = "ocamlformat";
|
|
inherit src version;
|
|
|
|
minimalOCamlVersion = "4.08";
|
|
|
|
nativeBuildInputs =
|
|
if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ];
|
|
|
|
buildInputs = [ re ] ++ library_deps
|
|
++ lib.optionals (lib.versionAtLeast version "0.25.1")
|
|
[ (ocamlformat-lib.override { inherit version; }) ];
|
|
|
|
meta = {
|
|
homepage = "https://github.com/ocaml-ppx/ocamlformat";
|
|
description = "Auto-formatter for OCaml code";
|
|
maintainers = with lib.maintainers; [ Zimmi48 Julow ];
|
|
license = lib.licenses.mit;
|
|
mainProgram = "ocamlformat";
|
|
};
|
|
}
|