diff --git a/dev-ml/ezjsonm/ezjsonm-1.2.0-r2.ebuild b/dev-ml/ezjsonm/ezjsonm-1.2.0-r2.ebuild
index 2d6b4fa965..6905f75bf7 100644
--- a/dev-ml/ezjsonm/ezjsonm-1.2.0-r2.ebuild
+++ b/dev-ml/ezjsonm/ezjsonm-1.2.0-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit dune
+inherit dune multiprocessing
DESCRIPTION="An easy interface on top of the Jsonm library"
HOMEPAGE="https://github.com/mirage/ezjsonm"
@@ -13,18 +13,38 @@ S="${WORKDIR}/${PN}-v${PV}"
LICENSE="ISC"
SLOT="0/${PV}"
KEYWORDS="~amd64"
-IUSE="ocamlopt"
+IUSE="lwt ocamlopt test"
DEPEND="
dev-ml/hex
>=dev-ml/jsonm-1.0.0
- dev-ml/lwt
dev-ml/sexplib0
dev-ml/uutf
+
+ lwt? ( dev-ml/lwt )
"
-RDEPEND="${DEPEND}"
+RDEPEND="
+ ${DEPEND}
+ test? (
+ dev-ml/alcotest
+ dev-ml/js_of_ocaml
+ net-libs/nodejs[npm]
+ dev-ml/ppx_sexp_conv
+ )
+"
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( lwt )"
+
+src_compile() {
+ local pkgs="ezjsonm"
+ if use lwt ; then
+ pkgs="${pkgs},ezjsonm-lwt"
+ fi
+ dune build --only-packages "${pkgs}" -j $(makeopts_jobs) --profile release || die
+}
src_install() {
dune_src_install ezjsonm
- dune_src_install ezjsonm-lwt
+ use lwt && dune_src_install ezjsonm-lwt
}
diff --git a/dev-ml/ezjsonm/metadata.xml b/dev-ml/ezjsonm/metadata.xml
index c1c741b0dd..a9cdbcbd46 100644
--- a/dev-ml/ezjsonm/metadata.xml
+++ b/dev-ml/ezjsonm/metadata.xml
@@ -9,4 +9,7 @@
mirage/ezjsonm
+