diff --git a/dev-ml/xen-gnt/metadata.xml b/dev-ml/xen-gnt/metadata.xml
index e5f4c8ec96..ad55fc5375 100644
--- a/dev-ml/xen-gnt/metadata.xml
+++ b/dev-ml/xen-gnt/metadata.xml
@@ -8,4 +8,7 @@
mirage/ocaml-gnt
+
diff --git a/dev-ml/xen-gnt/xen-gnt-4.0.0.ebuild b/dev-ml/xen-gnt/xen-gnt-4.0.0.ebuild
index 843fe2e4cf..e7a1adc7f1 100644
--- a/dev-ml/xen-gnt/xen-gnt-4.0.0.ebuild
+++ b/dev-ml/xen-gnt/xen-gnt-4.0.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit dune
+inherit dune multiprocessing
DESCRIPTION="OCaml bindings to the Xen grant tables libraries"
HOMEPAGE="https://github.com/mirage/ocaml-gnt"
@@ -13,19 +13,32 @@ S="${WORKDIR}/${PN}-v${PV}"
LICENSE="ISC"
SLOT="0/${PV}"
KEYWORDS="~amd64"
-IUSE="ocamlopt"
+IUSE="ocamlopt unix"
DEPEND="
dev-ml/cstruct
dev-ml/cmdliner
- <=dev-ml/io-page-2.2.0
+ dev-ml/io-page
dev-ml/lwt
dev-ml/lwt-dllist
dev-ml/mirage-profile
+
+ unix? (
+ app-emulation/xen
+ dev-ml/io-page[unix(-)]
+ )
"
RDEPEND="${DEPEND}"
+src_compile() {
+ local pkgs="xen-gnt"
+ if use unix ; then
+ pkgs="${pkgs},xen-gnt-unix"
+ fi
+ dune build --only-packages "${pkgs}" -j $(makeopts_jobs) --profile release || die
+}
+
src_install() {
dune_src_install xen-gnt
- dune_src_install xen-gnt-unix
+ use unix && dune_src_install xen-gnt-unix
}