···11+{ stdenv, type_conv, buildOcamlJane }:
22+33+buildOcamlJane rec {
44+ name = "fieldslib";
55+ version = "113.33.03";
66+77+ minimumSupportedOcamlVersion = "4.02";
88+99+ hash = "0mkbix32f8sq32q81hb10z2q31bw5f431jxv0jafbdrif0vr6xqd";
1010+1111+ propagatedBuildInputs = [ type_conv ];
1212+1313+ meta = with stdenv.lib; {
1414+ homepage = https://ocaml.janestreet.com/;
1515+ 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";
1616+ license = licenses.asl20;
1717+ maintainers = [ maintainers.maurer maintainers.vbgl ];
1818+ };
1919+}
···11+{stdenv, buildOcamlJane,
22+ ppx_core, ppx_optcomp}:
33+44+buildOcamlJane rec {
55+ name = "ppx_driver";
66+ hash = "19cpfdn1n36vl5l9d6h7c61ffn0wmiipprn5by0354i5aywj8gpn";
77+ propagatedBuildInputs =
88+ [ ppx_core ppx_optcomp ];
99+1010+ meta = with stdenv.lib; {
1111+ description = "A driver is an executable created from a set of OCaml AST transformers linked together with a command line frontend";
1212+ maintainers = [ maintainers.maurer ];
1313+ license = licenses.asl20;
1414+ };
1515+}
···11+{stdenv, buildOcamlJane,
22+ ppx_core, ppx_tools}:
33+44+buildOcamlJane rec {
55+ name = "ppx_optcomp";
66+ hash = "09m2x2a5ics4bz1j29n5slhh1rlyhcwdfmf44v1jfxcby3f0riwd";
77+ propagatedBuildInputs =
88+ [ ppx_core ppx_tools ];
99+1010+ meta = with stdenv.lib; {
1111+ 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.";
1212+ maintainers = [ maintainers.maurer ];
1313+ license = licenses.asl20;
1414+ };
1515+}