summaryrefslogtreecommitdiff
blob: f2a4897940970f08cc61a609b328fcb87dba4fa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit findlib

DESCRIPTION="Logging infrastructure for OCaml"
HOMEPAGE="https://erratique.ch/software/logs https://github.com/dbuenzli/logs"
SRC_URI="https://erratique.ch/software/logs/releases/${P}.tbz"

LICENSE="ISC"
SLOT="0/${PV}"
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
IUSE="+fmt cli +lwt test"
RESTRICT="!test? ( test )"

RDEPEND="
	dev-ml/result:=[ocamlopt]
	dev-lang/ocaml:=[ocamlopt]
	fmt? ( dev-ml/fmt:= )
	cli? ( dev-ml/cmdliner:=[ocamlopt] )
	lwt? ( dev-ml/lwt:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
	dev-ml/findlib
	dev-ml/ocamlbuild
	dev-ml/opam-installer
	dev-ml/topkg
	test? ( <=dev-ml/mtime-1.4.0 )
"

src_prepare() {
	default
	sed -i \
		-e "/test\/test_fmt/d" \
		-e "/test\/test_formatter/d" \
		-e "/test\/tool/d" \
		-e "/test\/test_lwt/d" \
		pkg/pkg.ml \
		|| die
}

src_compile() {
	ocaml pkg/pkg.ml build \
		--with-js_of_ocaml false \
		--with-fmt $(usex fmt true false) \
		--with-cmdliner $(usex cli true false) \
		--with-lwt $(usex lwt true false) \
		--tests $(usex test true false) \
		--with-base-threads true \
		|| die
}

src_test() {
	ocaml pkg/pkg.ml test || die
}

src_install() {
	opam-installer -i \
		--prefix="${ED}/usr" \
		--libdir="${D}/$(ocamlc -where)" \
		--docdir="${ED}/usr/share/doc/${PF}" \
		${PN}.install || die

	einstalldocs
}