# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # shellcheck shell=bash # shellcheck disable=SC2034 EAPI=8 inherit cmake linux-info llvm-utils DESCRIPTION="Ananicy rewritten in C++ for much lower CPU and memory usage" HOMEPAGE="https://gitlab.com/ananicy-cpp/ananicy-cpp" if [[ "${PV}" == *_p* ]]; then COMMIT="" SRC_URI="https://gitlab.com/ananicy-cpp/ananicy-cpp/-/archive/${COMMIT}/${PN}-${COMMIT}.tar.bz2" S="${WORKDIR}/${PN}-${COMMIT}" else SRC_URI="https://gitlab.com/ananicy-cpp/ananicy-cpp/-/archive/v${PV}/${PN}-v${PV}.tar.bz2" S="${WORKDIR}/${PN}-v${PV}" fi LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" IUSE="bpf cachyos-rules 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 ) cachyos-rules? ( app-admin/ananicy-rules-cachyos ) systemd? ( sys-apps/systemd ) " DEPEND="${RDEPEND}" BDEPEND=" clang? ( >=llvm-core/clang-20 ) " PATCHES=( "${FILESDIR}/${PN}-1.1.1-remove-debug-flags.patch" "${FILESDIR}/${PN}-1.1.1-include-unistd.patch" ) pkg_setup() { if use bpf ; then CONFIG_CHECK="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~HAVE_EBPF_JIT" fi linux-info_pkg_setup } 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}" ) # no useless ccache automagic mycmakeargs+=( -DCCACHE=OFF ) if use clang; then CC=${CHOST}-clang CXX=${CHOST}-clang++ llvm_fix_clang_version CC CXX 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 }