# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # @ECLASS: opam.eclass # @MAINTAINER: # Gentoo ML Project # @AUTHOR: # Alexis Ballier # @BLURB: Provides functions for installing opam packages. # @DESCRIPTION: # Provides dependencies on opam and ocaml, opam-install and a default # src_install for opam-based packages. case ${EAPI:-0} in 0|1|2|3|4) die "You need at least EAPI-5 to use opam.eclass";; *) ;; esac RDEPEND=">=dev-lang/ocaml-4:=" DEPEND="${RDEPEND} dev-ml/opam" # @FUNCTION: opam-install # @USAGE: # @DESCRIPTION: # Installs the opam packages given as arguments. For each "${pkg}" element in # that list, "${pkg}.install" must be readable from current working directory. opam-install() { for pkg ; do opam-installer -i \ --prefix="${ED}/usr" \ --libdir="${D}/$(ocamlc -where)" \ --docdir="${ED}/usr/share/doc/${PF}" \ --mandir="${ED}/usr/share/man" \ "${pkg}.install" || die done } opam_src_install() { opam-install "${PN}" # Handle opam putting doc in a subdir if [ -d "${ED}/usr/share/doc/${PF}/${PN}" ] ; then mv "${ED}/usr/share/doc/${PF}/${PN}/"* "${ED}/usr/share/doc/${PF}/" || die rmdir "${ED}/usr/share/doc/${PF}/${PN}" || die fi } EXPORT_FUNCTIONS src_install