1 |
|
# Copyright 1999-2023 Gentoo Authors
|
|
1 |
# Copyright 1999-2025 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
4 |
EAPI=8
|
... | ... | |
14 |
14 |
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
|
15 |
15 |
IUSE="+daemon pam static-libs systemd test +tools"
|
16 |
16 |
REQUIRED_USE="daemon? ( tools )"
|
17 |
|
|
18 |
|
# Test failure needs investigation
|
19 |
|
RESTRICT="!test? ( test ) test"
|
|
17 |
RESTRICT="!test? ( test ) "
|
20 |
18 |
|
21 |
19 |
DEPEND="
|
22 |
20 |
elibc_musl? ( sys-libs/fts-standalone )
|
... | ... | |
27 |
25 |
BDEPEND="
|
28 |
26 |
sys-devel/bison
|
29 |
27 |
sys-devel/flex
|
|
28 |
test? ( dev-cpp/gtest )
|
30 |
29 |
"
|
31 |
30 |
|
|
31 |
PATCHES=(
|
|
32 |
"${FILESDIR}"/${PN}-3.2.0-use-system-gtest.patch
|
|
33 |
)
|
|
34 |
|
32 |
35 |
pkg_setup() {
|
33 |
36 |
local CONFIG_CHECK="~CGROUPS"
|
34 |
37 |
if use daemon; then
|
... | ... | |
46 |
49 |
sed -i 's:/etc/cg:/etc/cgroup/cg:' \
|
47 |
50 |
doc/man/cg* samples/config/*.conf README* || die "sed failed"
|
48 |
51 |
|
49 |
|
# Drop native libcgconfig init config
|
50 |
|
sed -i '/^man_MANS/s:cgred.conf.5::' \
|
51 |
|
doc/man/Makefile.am || die "sed failed"
|
52 |
|
|
53 |
|
# If we're not running tests, don't bother building them.
|
54 |
|
if ! use test; then
|
55 |
|
sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
|
56 |
|
fi
|
57 |
|
|
58 |
52 |
eautoreconf
|
59 |
53 |
}
|
60 |
54 |
|
... | ... | |
63 |
57 |
append-ldflags -lfts
|
64 |
58 |
fi
|
65 |
59 |
|
|
60 |
# gtest needs >=C++14, just pick gnu++17
|
|
61 |
append-cxxflags -std=gnu++17
|
|
62 |
|
|
63 |
# Test failures (bug #956346)
|
|
64 |
filter-lto
|
|
65 |
|
66 |
66 |
# Needs flex+bison
|
67 |
67 |
unset LEX YACC
|
68 |
68 |
|
... | ... | |
74 |
74 |
$(use_enable systemd)
|
75 |
75 |
$(use_enable tools)
|
76 |
76 |
$(use_enable test tests)
|
|
77 |
$(use_enable test unittests)
|
77 |
78 |
)
|
78 |
79 |
|
79 |
80 |
if use pam; then
|
... | ... | |
84 |
85 |
}
|
85 |
86 |
|
86 |
87 |
src_test() {
|
|
88 |
# Sandboxes confuse this as it expects specific cgroup layout
|
|
89 |
local -x GTEST_FILTER="-CgroupProcessV1MntTest.AddV1NamedMount"
|
|
90 |
|
87 |
91 |
# Run just the unit tests rather than the full lot as they
|
88 |
92 |
# need fewer permissions, no containers, etc.
|
89 |
93 |
emake -C tests/gunit check
|