app-admin/ananicy-cpp - 1.2.0 (xarblu-overlay)

Search

Install

Install this version:

emerge -a =app-admin/ananicy-cpp-1.2.0

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =app-admin/ananicy-cpp-1.2.0

Or alternatively:

emerge --autounmask-write -a =app-admin/ananicy-cpp-1.2.0

Package Information

Description:
Ananicy rewritten in C++ for much lower CPU and memory usage
Homepage:
https://gitlab.com/ananicy-cpp/ananicy-cpp
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
1.2.0 8 ~amd64 0
View Raw Ebuild
# 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
}

USE Flags

Manage flags for this package: euse -i <flag> -p app-admin/ananicy-cpp | euse -E <flag> -p app-admin/ananicy-cpp | euse -D <flag> -p app-admin/ananicy-cpp

Global/Standard Flags

bpf

Inherited Eclasses

Dependencies

DEPEND

	!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 )

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 )

BDEPEND

	clang? ( >=llvm-core/clang-20 )

Manifest for 1.2.0

Type File Size Source URLs
DIST ananicy-cpp-v1.2.0.tar.bz2 1371310 bytes https://gitlab.com/ananicy-cpp/ananicy-cpp/-/archive/v1.2.0/ananicy-cpp-v1.2.0.tar.bz2