diff --git a/pkgs/development/ocaml-modules/ppx_yojson_conv/default.nix b/pkgs/development/ocaml-modules/ppx_yojson_conv/default.nix new file mode 100644 index 000000000000..3feeaa84ab47 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_yojson_conv/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildDunePackage, + fetchFromGitHub, + ppx_js_style, + ppx_yojson_conv_lib, + ppxlib, +}: +buildDunePackage rec { + pname = "ppx_yojson_conv"; + version = "0.15.1"; + duneVersion = "3"; + minimumOCamlVersion = "4.08.0"; + + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-lSOUSMVgsRiArEhFTKpAj2yFBPbtaIc/SxdPA+24xXs="; + }; + + propagatedBuildInputs = [ + ppx_js_style + ppx_yojson_conv_lib + ppxlib + ]; + + meta = with lib; { + description = "A PPX syntax extension that generates code for converting OCaml types to and from Yojson"; + homepage = "https://github.com/janestreet/ppx_yojson_conv"; + maintainers = with maintainers; [djacu]; + license = with licenses; [mit]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index e929a59cd70f..7276fab86d8a 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1314,6 +1314,8 @@ let ppx_tools_versioned = callPackage ../development/ocaml-modules/ppx_tools_versioned { }; + ppx_yojson_conv = callPackage ../development/ocaml-modules/ppx_yojson_conv {}; + ppx_yojson_conv_lib = callPackage ../development/ocaml-modules/ppx_yojson_conv_lib {}; prettym = callPackage ../development/ocaml-modules/prettym { };