diff options
-rw-r--r-- | pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix | 32 | ||||
-rw-r--r-- | pkgs/top-level/ocaml-packages.nix | 2 |
2 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix new file mode 100644 index 000000000000..69276fb5a7d6 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg, cppo +, ppx_import, ppx_deriving, yojson, ounit +}: + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-ppx_deriving_yojson-${version}"; + version = "3.0"; + + src = fetchFromGitHub { + owner = "whitequark"; + repo = "ppx_deriving_yojson"; + rev = "v${version}"; + sha256 = "1id1a29qq0ax9qp98b5hv6p2q2r0vp4fbkkwzm1bxdhnasw97msk"; + }; + + buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ]; + + propagatedBuildInputs = [ ppx_deriving yojson ]; + + inherit (topkg) installPhase; + + doCheck = true; + checkTarget = "test"; + + meta = { + description = "A Yojson codec generator for OCaml >= 4.02."; + inherit (src.meta) homepage; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 03afec1870fe..f46aa3a251c7 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -483,6 +483,8 @@ let then callPackage ../development/ocaml-modules/ppx_deriving {} else null; + ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {}; + ppx_import = callPackage ../development/ocaml-modules/ppx_import {}; ppx_tools = |