# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit dune DESCRIPTION="A composable build system for OCaml" HOMEPAGE="https://github.com/ocaml/dune" SRC_URI="https://github.com/ocaml/dune/archive/${PV}.tar.gz -> dune-${PV}.tar.gz" S="${WORKDIR}/dune-${PV}" LICENSE="MIT" SLOT="0/${PV}" KEYWORDS="amd64 arm arm64 ~ppc ppc64 x86" IUSE="+ocamlopt test" RESTRICT="!test? ( test )" RDEPEND=" ~dev-ml/dune-private-libs-${PV}:=[ocamlopt?] dev-ml/csexp:=[ocamlopt?] dev-ml/result:=[ocamlopt?] " DEPEND="${RDEPEND} test? ( dev-ml/core_bench dev-ml/menhir dev-ml/opam dev-ml/ppx_expect ) " # TODO for test deps: # Add cram? # Add dev-ml/js_of_ocaml once dev-ml/ocaml-base64 is ported to Dune # Add coq? src_prepare() { default # Keep this list in sync with dev-ml/dune-private-libs local bad_tests=( # List of tests calling git, mercurial, etc test/blackbox-tests/test-cases/dune-project-meta/main.t test/blackbox-tests/test-cases/meta-template-version-bug.t test/blackbox-tests/test-cases/subst/project-name-restriction.t test/blackbox-tests/test-cases/subst/with-opam-file.t test/blackbox-tests/test-cases/subst.t test/blackbox-tests/test-cases/subst/unicode.t test/blackbox-tests/test-cases/subst/from-project-file.t test/blackbox-tests/test-cases/trace-file.t otherlibs/build-info/test/run.t test/expect-tests/vcs_tests.ml # Strange failures, seemingly from newer versions of deps test/blackbox-tests/test-cases/merlin/allow_approximate_merlin_warn.t test/blackbox-tests/test-cases/merlin/merlin-tests.t test/blackbox-tests/test-cases/merlin/github4125.t test/blackbox-tests/test-cases/install-dry-run.t test/blackbox-tests/test-cases/c-flags.t test/blackbox-tests/test-cases/install-libdir.t test/blackbox-tests/test-cases/dune-cache/trim.t # Strange failures about opam not being initialised test/blackbox-tests/test-cases/merlin/merlin-from-subdir.t test/blackbox-tests/test-cases/merlin/symlinks.t test/blackbox-tests/test-cases/merlin/src-dirs-of-deps.t test/blackbox-tests/test-cases/merlin/per-module-pp.t test/blackbox-tests/test-cases/merlin/server.t test/blackbox-tests/test-cases/github1946.t test/blackbox-tests/test-cases/github759.t # Wants nodejs! test/blackbox-tests/test-cases/jsoo/simple.t test/blackbox-tests/test-cases/jsoo/inline-tests.t test/blackbox-tests/test-cases/jsoo/github3622.t # Wants js_of_ocaml (can't include yet b/c of ocaml-base64 porting) test/blackbox-tests/test-cases/jsoo/explicit-js-mode-specified.t # Wants coq which doesn't build for me right now test/blackbox-tests/test-cases/coq/rec-module.t test/blackbox-tests/test-cases/coq/compose-sub-theory.t test/blackbox-tests/test-cases/coq/native-compose.t test/blackbox-tests/test-cases/coq/base-unsound.t test/blackbox-tests/test-cases/coq/base.t test/blackbox-tests/test-cases/coq/native-single.t test/blackbox-tests/test-cases/coq/compose-simple.t test/blackbox-tests/test-cases/coq/ml-lib.t test/blackbox-tests/test-cases/coq/extract.t test/blackbox-tests/test-cases/coq/compose-plugin.t # Unpackaged dependencies (a rabbit hole for now) # utop -> lambda-term, zed test/blackbox-tests/test-cases/utop/github3188.t test/blackbox-tests/test-cases/utop/utop-simple.t test/blackbox-tests/test-cases/utop/utop-default.t test/blackbox-tests/test-cases/utop/utop-default-implementation.t test/blackbox-tests/test-cases/utop/utop-ppx-rewriters.t # ocamlformat test/blackbox-tests/test-cases/formatting.t # mdx test/blackbox-tests/test-cases/mdx-stanza.t # odoc test/blackbox-tests/test-cases/odoc/odoc-simple.t test/blackbox-tests/test-cases/odoc/odoc-package-mld-link.t test/blackbox-tests/test-cases/odoc/multiple-private-libs.t test/blackbox-tests/test-cases/odoc/odoc-unique-mlds.t test/blackbox-tests/test-cases/odoc/github717-odoc-index.t test/blackbox-tests/test-cases/odoc/warnings.t ) rm -r ${bad_tests[@]} || die "Failed to remove broken/inappropriate tests" } src_configure() { : }