diff --git a/dev-ml/angstrom/angstrom-0.15.0-r2.ebuild b/dev-ml/angstrom/angstrom-0.15.0-r2.ebuild
index 6ba769617e..efc19ad31a 100644
--- a/dev-ml/angstrom/angstrom-0.15.0-r2.ebuild
+++ b/dev-ml/angstrom/angstrom-0.15.0-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit dune
+inherit dune multiprocessing
DESCRIPTION="Parser combinators built for speed and memory efficiency"
HOMEPAGE="https://github.com/inhabitedtype/angstrom"
@@ -12,19 +12,31 @@ SRC_URI="https://github.com/inhabitedtype/angstrom/archive/${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
-IUSE="ocamlopt"
+IUSE="async lwt-unix ocamlopt unix"
RDEPEND="
- dev-ml/async
- dev-ml/base
+ async? ( dev-ml/async )
+ lwt-unix? (
+ dev-ml/base
+ dev-ml/lwt
+ )
+ unix? ( dev-ml/base )
+
dev-ml/bigstringaf
- dev-ml/lwt
"
DEPEND="${RDEPEND}"
-src_install() {
- dune_src_install angstrom-async
- dune_src_install angstrom-lwt-unix
- dune_src_install angstrom-unix
- dune_src_install angstrom
+src_compile() {
+ local pkgs="angstrom"
+ use async && pkgs="${pkgs},angstrom-async"
+ use unix && pkgs="${pkgs},angstrom-unix"
+ use lwt-unix && pkgs="${pkgs},angstrom-lwt-unix"
+ dune build --only-packages "${pkgs}" -j $(makeopts_jobs) --profile release || die
+}
+
+src_install() {
+ dune_src_install angstrom
+ use async && dune_src_install angstrom-async
+ use lwt-unix && dune_src_install angstrom-lwt-unix
+ use unix && dune_src_install angstrom-unix
}
diff --git a/dev-ml/angstrom/metadata.xml b/dev-ml/angstrom/metadata.xml
index 4ea80d8393..8afdb71fe6 100644
--- a/dev-ml/angstrom/metadata.xml
+++ b/dev-ml/angstrom/metadata.xml
@@ -9,4 +9,9 @@
inhabitedtype/angstrom
+