Files
guru/sys-apps/corefreq/corefreq-2.1.0.ebuild
Paul Zander d0b51ff750 sys-apps/corefreq: add 2.1.0
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
2026-03-09 14:24:21 +01:00

81 lines
1.7 KiB
Bash

# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-mod-r1 systemd toolchain-funcs
DESCRIPTION="CPU monitoring and tuning software designed for 64-bit processors"
HOMEPAGE="https://www.cyring.fr/"
if [[ "${PV}" = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/cyring/CoreFreq.git"
else
SRC_URI="https://github.com/cyring/CoreFreq/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/CoreFreq-${PV}"
KEYWORDS="-* ~amd64"
fi
LICENSE="GPL-2"
SLOT="0"
DOCS=( README.md )
pkg_setup() {
# see README.md
# required
local CONFIG_CHECK="SMP X86_MSR"
# optional
local optional_checks=(
HOTPLUG_CPU
CPU_IDLE
CPU_FREQ
PM_SLEEP
DMI
HAVE_NMI
XEN
AMD_NB
HAVE_PERF_EVENTS
SCHED_MUQSS
SCHED_BMQ
SCHED_PDS
)
CONFIG_CHECK+="$(printf " ~%s" "${optional_checks[@]}")"
local check
for check in "${optional_checks[@]}"; do
eval "WARNING_${check}"="\"CONFIG_${check} is optional and not enabled\""
done
linux-mod-r1_pkg_setup
}
src_compile() {
local modlist=( corefreqk=misc::build )
local modargs=( KERNELDIR="${KV_OUT_DIR}" )
linux-mod-r1_src_compile
emake V=1 CC="$(tc-getCC)" OPTIM_FLG="${CFLAGS} ${LDFLAGS}" corefreqd corefreq-cli
}
src_install() {
linux-mod-r1_src_install
dobin build/{corefreqd,corefreq-cli}
newconfd "${FILESDIR}/${PN}.conf" "${PN}"
doinitd "${FILESDIR}/${PN}"
systemd_dounit "${PN}d.service"
}
pkg_postinst() {
linux-mod-r1_pkg_postinst
einfo "To be able to use corefreq, you need to load kernel module:"
einfo "modprobe corefreqk"
einfo "After that - start daemon with corefreqd"
einfo "or by 'rc-service corefreq start'"
einfo "And only after that you can start corefreq-cli"
}