summaryrefslogtreecommitdiff
blob: 265ded51c383687852be6c41b6624b3f69602405 (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
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit edo flag-o-matic toolchain-funcs

DESCRIPTION="Breadth-first version of the UNIX find command"
HOMEPAGE="https://tavianator.com/projects/bfs.html"
SRC_URI="https://github.com/tavianator/bfs/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="0BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc"
IUSE="acl caps debug io-uring selinux unicode"

DEPEND="
	acl? ( virtual/acl )
	caps? ( sys-libs/libcap )
	io-uring? ( sys-libs/liburing:= )
	selinux? ( sys-libs/libselinux )
	unicode? ( dev-libs/oniguruma:= )
"
RDEPEND="${DEPEND}"

QA_CONFIG_IMPL_DECL_SKIP=(
	# Not available on Linux
	acl_is_trivial_np acl_trivial fdclosedir getdents getprogname
	posix_spawn_file_actions_addfchdir getmntinfo posix_getdents strtofflags
)

src_configure() {
	tc-export CC PKG_CONFIG
	use debug || append-cppflags -DNDEBUG

	edo ./configure \
		$(use_with acl libacl) \
		$(use_with caps libcap) \
		$(use_with selinux libselinux) \
		$(use_with io-uring liburing) \
		$(use_with unicode oniguruma) \
		V=1
}

src_compile() {
	emake V=1
}

src_test() {
	# -n check gets confused so need manual src_test definition?
	emake V=1 check
}

src_install() {
	emake V=1 DESTDIR="${D}" install
	einstalldocs
}