# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # TODO: vim-plugin, although it's not clear how to make it work here inherit elisp-common dune edo DESCRIPTION="Context sensitive completion for OCaml in Vim and Emacs" HOMEPAGE="https://github.com/ocaml/merlin/" SRC_URI="https://github.com/ocaml/merlin/releases/download/v${PV}-414/${P}-414.tbz" LICENSE="MIT" SLOT="0/${PV}" KEYWORDS="~amd64" IUSE="emacs +ocamlopt test" # Tests fail unexpectedly on Tinderbox. See https://bugs.gentoo.org/933857 # RESTRICT="!test? ( test )" RESTRICT="test" RDEPEND=" =dev-lang/ocaml-4.14.1 >=dev-ml/dune-2.9:= >=dev-ml/yojson-2.0.0:= dev-lang/ocaml:=[ocamlopt?] dev-ml/csexp:= dev-ml/menhir:= emacs? ( >=app-editors/emacs-23.1:* app-emacs/auto-complete app-emacs/company-mode ) " DEPEND=" ${RDEPEND} " # NOTICE: Block dev-ml/seq (which is a back-port of code to ocaml <4.07) # because it breaks merlin builds. # https://github.com/ocaml/merlin/issues/1500 BDEPEND=" !! MenhirLib.StaticVersion.require_20201216 sed -i src/ocaml/preprocess/parser_raw.ml \ -e "s|MenhirLib.StaticVersion.require_.*|()|g" \ || die } src_compile() { dune_src_compile if use emacs ; then # iedit isn't packaged yet rm emacs/merlin-iedit.el || die BYTECOMPFLAGS="-L emacs" elisp-compile emacs/*.el fi } src_install() { dune_src_install if use emacs ; then elisp-install ${PN} emacs/*.el{,c} elisp-site-file-install "${FILESDIR}/${SITEFILE}" fi } pkg_postinst() { use emacs && elisp-site-regen } pkg_postrm() { use emacs && elisp-site-regen }