[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: Re: [gentoo-dev] New eclass: opam.eclass
From: Michał_Górny <mgorny () gentoo ! org>
Date: 2017-07-25 14:18:10
Message-ID: 1500992290.795.19.camel () gentoo ! org
[Download RAW message or body]
On pon, 2017-07-24 at 17:20 +0200, Alexis Ballier wrote:
> # Copyright 1999-2017 Gentoo Foundation
> # Distributed under the terms of the GNU General Public License v2
>
> # @ECLASS: opam.eclass
> # @MAINTAINER:
> # Gentoo ML Project <ml@gentoo.org>
> # @AUTHOR:
> # Alexis Ballier <aballier@gentoo.org>
> # @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";;
Why not start straight with EAPI 6? You will have less to clean up
later.
> *) ;;
> esac
>
> RDEPEND=">=dev-lang/ocaml-4:="
> DEPEND="${RDEPEND}
> dev-ml/opam"
>
> # @FUNCTION: opam-install
> # @USAGE: <list of packages>
> # @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() {
local pkg
> for pkg ; do
> opam-installer -i \
> --prefix="${ED}/usr" \
> --libdir="${D}/$(ocamlc -where)" \
> --docdir="${ED}/usr/share/doc/${PF}" \
> --mandir="${ED}/usr/share/man" \
Both ED and D include the trailing slash, so either remove the extra
slash or use ${ED%/}.
> "${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
Is PN always the correct subdirectory here?
> 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
--
Best regards,
Michał Górny
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic