summaryrefslogtreecommitdiff
path: root/eclass/dune.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-27 20:10:49 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-27 20:10:49 +0000
commite44b9cf3e5b67eaf723e4a335faf39c87167abd3 (patch)
tree3e6660b30910e7eb33586a99c4e892b52380bad6 /eclass/dune.eclass
parent4429be000a778f363162554d59d903a725283d7d (diff)
gentoo auto-resync : 27:12:2022 - 20:10:49
Diffstat (limited to 'eclass/dune.eclass')
-rw-r--r--eclass/dune.eclass54
1 files changed, 29 insertions, 25 deletions
diff --git a/eclass/dune.eclass b/eclass/dune.eclass
index 1061461b6991..4bc73eda852c 100644
--- a/eclass/dune.eclass
+++ b/eclass/dune.eclass
@@ -8,12 +8,20 @@
# ML <ml@gentoo.org>
# @AUTHOR:
# Rafael Kitover <rkitover@gmail.com>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Provides functions for installing Dune packages.
# @DESCRIPTION:
# Provides dependencies on Dune and OCaml and default src_compile, src_test and
# src_install for Dune-based packages.
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ! ${_DUNE_ECLASS} ]]; then
+_DUNE_ECLASS=1
+
# @ECLASS_VARIABLE: DUNE_PKG_NAME
# @PRE_INHERIT
# @DESCRIPTION:
@@ -21,28 +29,20 @@
# Set before inheriting the eclass.
: ${DUNE_PKG_NAME:=${PN}}
-case ${EAPI:-0} in
- 6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
-esac
-
inherit multiprocessing
# Do not complain about CFLAGS etc since ml projects do not use them.
QA_FLAGS_IGNORED='.*'
-EXPORT_FUNCTIONS src_compile src_test src_install
-
-RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:="
-case ${EAPI:-0} in
- 6)
- DEPEND="${RDEPEND} dev-ml/dune"
- ;;
- *)
- BDEPEND="dev-ml/dune dev-lang/ocaml"
- DEPEND="${RDEPEND}"
- ;;
-esac
+RDEPEND="
+ >=dev-lang/ocaml-4:=[ocamlopt?]
+ dev-ml/dune:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/ocaml
+ dev-ml/dune
+"
dune_src_compile() {
ebegin "Building"
@@ -72,9 +72,9 @@ dune-install() {
[[ ${#pkgs[@]} -eq 0 ]] && pkgs=( "${DUNE_PKG_NAME}" )
local -a myduneopts=(
- --prefix="${ED%/}/usr"
- --libdir="${D%/}$(ocamlc -where)"
- --mandir="${ED%/}/usr/share/man"
+ --prefix="${ED}/usr"
+ --libdir="${D}$(ocamlc -where)"
+ --mandir="${ED}/usr/share/man"
)
local pkg
@@ -84,10 +84,10 @@ dune-install() {
eend $? || die
# Move docs to the appropriate place.
- if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then
- mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die
- mv "${ED%/}/usr/doc/${pkg}" "${ED%/}/usr/share/doc/${PF}/" || die
- rm -rf "${ED%/}/usr/doc" || die
+ if [[ -d "${ED}/usr/doc/${pkg}" ]] ; then
+ mkdir -p "${ED}/usr/share/doc/${PF}/" || die
+ mv "${ED}/usr/doc/${pkg}" "${ED}/usr/share/doc/${PF}/" || die
+ rm -rf "${ED}/usr/doc" || die
fi
done
}
@@ -95,3 +95,7 @@ dune-install() {
dune_src_install() {
dune-install ${1:-${DUNE_PKG_NAME}}
}
+
+fi
+
+EXPORT_FUNCTIONS src_compile src_test src_install