# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit multiprocessing elisp-common DESCRIPTION="A composable build system for OCaml" HOMEPAGE="https://github.com/ocaml/dune" SRC_URI="https://github.com/ocaml/dune/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="0/${PV}" KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" IUSE="emacs" RESTRICT="strip test" RDEPEND=" >=dev-lang/ocaml-4.08:= emacs? ( >=app-editors/emacs-23.1:* ) " DEPEND="${RDEPEND}" QA_FLAGS_IGNORED="usr/bin/dune" BYTECOMPFLAGS="-L ${S}/editor-integration/emacs" SITEFILE="50${PN}-gentoo.el" src_prepare() { default # This allows `dune --version` to output the correct version # instead of "n/a" sed -i "/^(name dune)/a (version ${PV})" dune-project || die } src_configure() { ./configure \ --libdir="$(ocamlc -where)" \ --mandir="/usr/share/man" \ || die } src_compile() { ocaml bootstrap.ml -j $(makeopts_jobs) || die ./dune.exe build -p "${PN}" --profile dune-bootstrap -j $(makeopts_jobs) \ --display short || die use emacs && elisp-compile editor-integration/emacs/*.el } src_install() { ./dune.exe install --destdir="${D}" --prefix=/usr/ \ --libdir=$(ocamlc -where) "${PN}" \ || die dodir /usr/share/doc mv "${ED}"/usr/doc/dune "${ED}"/usr/share/doc/${PF} || die rmdir "${ED}"/usr/doc || die if use emacs ; then elisp-install ${PN} editor-integration/emacs/*.el{,c} elisp-site-file-install "${FILESDIR}/${SITEFILE}" fi }