···1+{ stdenv, type_conv, buildOcamlJane }:
2+3+buildOcamlJane rec {
4+ name = "fieldslib";
5+ version = "113.33.03";
6+7+ minimumSupportedOcamlVersion = "4.02";
8+9+ hash = "0mkbix32f8sq32q81hb10z2q31bw5f431jxv0jafbdrif0vr6xqd";
10+11+ propagatedBuildInputs = [ type_conv ];
12+13+ meta = with stdenv.lib; {
14+ homepage = https://ocaml.janestreet.com/;
15+ description = "OCaml syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
16+ license = licenses.asl20;
17+ maintainers = [ maintainers.maurer maintainers.vbgl ];
18+ };
19+}
···1+{stdenv, buildOcamlJane,
2+ ppx_core, ppx_optcomp}:
3+4+buildOcamlJane rec {
5+ name = "ppx_driver";
6+ hash = "19cpfdn1n36vl5l9d6h7c61ffn0wmiipprn5by0354i5aywj8gpn";
7+ propagatedBuildInputs =
8+ [ ppx_core ppx_optcomp ];
9+10+ meta = with stdenv.lib; {
11+ description = "A driver is an executable created from a set of OCaml AST transformers linked together with a command line frontend";
12+ maintainers = [ maintainers.maurer ];
13+ license = licenses.asl20;
14+ };
15+}
···1+{stdenv, buildOcamlJane,
2+ ppx_core, ppx_tools}:
3+4+buildOcamlJane rec {
5+ name = "ppx_optcomp";
6+ hash = "09m2x2a5ics4bz1j29n5slhh1rlyhcwdfmf44v1jfxcby3f0riwd";
7+ propagatedBuildInputs =
8+ [ ppx_core ppx_tools ];
9+10+ meta = with stdenv.lib; {
11+ description = "ppx_optcomp stands for Optional Compilation. It is a tool used to handle optional compilations of pieces of code depending of the word size, the version of the compiler, etc.";
12+ maintainers = [ maintainers.maurer ];
13+ license = licenses.asl20;
14+ };
15+}