mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-20 00:08:58 -04:00
86 lines
1.7 KiB
Bash
86 lines
1.7 KiB
Bash
# Copyright 1999-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit cmake
|
|
|
|
DESCRIPTION="Ananicy rewritten in C++ for much lower CPU and memory usage"
|
|
HOMEPAGE="https://gitlab.com/ananicy-cpp/ananicy-cpp"
|
|
SRC_URI="https://gitlab.com/ananicy-cpp/ananicy-cpp/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
|
|
|
|
S="${WORKDIR}/${PN}-v${PV}"
|
|
|
|
LICENSE="GPL-3"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64"
|
|
|
|
IUSE="bpf clang systemd"
|
|
REQUIRED_USE="
|
|
bpf? ( clang )
|
|
"
|
|
|
|
RDEPEND="
|
|
!app-admin/ananicy
|
|
>=dev-cpp/nlohmann_json-3.9
|
|
>=dev-libs/libfmt-8
|
|
>=dev-libs/spdlog-1.9
|
|
bpf? (
|
|
dev-libs/elfutils
|
|
dev-libs/libbpf
|
|
dev-util/bpftool
|
|
)
|
|
systemd? ( sys-apps/systemd )
|
|
"
|
|
|
|
DEPEND="
|
|
>=dev-build/cmake-3.17
|
|
clang? ( >=llvm-core/clang-10 )
|
|
${RDEPEND}
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}/${P}-remove-debug-flags.patch"
|
|
)
|
|
|
|
pkg_setup() {
|
|
if use bpf ; then
|
|
CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~HAVE_EBPF_JIT"
|
|
fi
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DENABLE_SYSTEMD=$(usex systemd)
|
|
-DUSE_BPF_PROC_IMPL=$(usex bpf)
|
|
-DUSE_EXTERNAL_FMTLIB=ON
|
|
-DUSE_EXTERNAL_JSON=ON
|
|
-DUSE_EXTERNAL_SPDLOG=ON
|
|
-DVERSION=${PV}
|
|
)
|
|
|
|
if use clang; then
|
|
local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
|
|
[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
|
|
[[ -z ${version_clang} ]] && die "Failed to read clang version!"
|
|
CC=${CHOST}-clang-${version_clang}
|
|
CXX=${CHOST}-clang++-${version_clang}
|
|
|
|
if use bpf ; then
|
|
mycmakeargs+=( -DBPF_BUILD_LIBBPF=OFF )
|
|
fi
|
|
fi
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
src_install() {
|
|
cmake_src_install
|
|
|
|
if ! use systemd ; then
|
|
doinitd "${FILESDIR}/${PN}.initd"
|
|
fi
|
|
|
|
keepdir /etc/ananicy.d
|
|
}
|