mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
Rework `CONFIG_CHECK` to make it clear some options are indeed optional. Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
75 lines
1.6 KiB
Bash
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"
|
|
}
|