Files
guru/sys-apps/corefreq/corefreq-2.0.9.ebuild
Paul Zander ef8fad4c68 sys-apps/corefreq: add 2.0.9
Rework `CONFIG_CHECK` to make it clear some options are indeed optional.

Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
2025-12-18 22:57:45 +01:00

75 lines
1.6 KiB
Bash

# Copyright 1999-2025 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/"
SRC_URI="https://github.com/cyring/CoreFreq/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/CoreFreq-${PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
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"
}