diff --git a/pkgs/development/coq-modules/autosubst-ocaml/default.nix b/pkgs/development/coq-modules/autosubst-ocaml/default.nix new file mode 100644 index 000000000000..85b440c12168 --- /dev/null +++ b/pkgs/development/coq-modules/autosubst-ocaml/default.nix @@ -0,0 +1,47 @@ +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: + +mkCoqDerivation { + pname = "autosubst-ocaml"; + owner = "uds-psl"; + + release."1.1+8.19".sha256 = "sha256-AGbhw/6lg4GpDE6hZBhau9DLW7HVXa0UzGvJfSV8oHE="; + + inherit version; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = isEq "8.19"; + out = "1.1+8.19"; + } + ] null; + + buildInputs = with coq.ocamlPackages; [ + angstrom + ocamlgraph + ppx_deriving + ppxlib + ]; + useDune = true; + + buildPhase = '' + dune build + ''; + + installPhase = '' + dune install --prefix $out --libdir $OCAMLFIND_DESTDIR + ''; + + meta = with lib; { + description = "An OCaml reimplementation of the Autosubst 2 code generator"; + homepage = "https://github.com/uds-psl/autosubst-ocaml"; + mainProgram = "autosubst"; + maintainers = with maintainers; [ chen ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index 0caf0c98a51f..dbee4637a848 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -22,6 +22,7 @@ let async-test = callPackage ../development/coq-modules/async-test {}; atbr = callPackage ../development/coq-modules/atbr {}; autosubst = callPackage ../development/coq-modules/autosubst {}; + autosubst-ocaml = callPackage ../development/coq-modules/autosubst-ocaml {}; bbv = callPackage ../development/coq-modules/bbv {}; bignums = if lib.versionAtLeast coq.coq-version "8.6" then callPackage ../development/coq-modules/bignums {}