[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