diff --git a/sys-apps/corefreq/Manifest b/sys-apps/corefreq/Manifest index ca17287157..ab4128f9d3 100644 --- a/sys-apps/corefreq/Manifest +++ b/sys-apps/corefreq/Manifest @@ -1 +1,2 @@ DIST corefreq-2.1.2.tar.gz 5817560 BLAKE2B bae0c0e9337daa0abab714b46e0b5adacba66fdda59a9605377c2a0dbebc8f27a418880f9545a4777a24de5ba0908dfbee446a362b5a69b0a054c2bf3a484a1c SHA512 cb20fe05997df05e99822507f5c4d2597e45377ca09cd20d5e0ade9fa26b12d445ec8adeb965c0cd65b0c60e6cc4857a5c80d3c85e7a0ecff5be03c2ec436dfd +DIST corefreq-2.1.4.tar.gz 5820833 BLAKE2B a378285b9b86c55cde0e66932d41b72c889e5170a441b9e424c82922b795efdd22a2e191ebe474ede77247d15aa3399534fed808ec126d4f78d4429ecf7136c8 SHA512 b083f480e77d3c334d8a72269aab5dbf4400ce441a7f86e24959dc85de63bd64f15023ca3e9318f68c7d8ccc6737a18c9601ecf0b18d5f17e4bbb7ec0e6705eb diff --git a/sys-apps/corefreq/corefreq-2.1.4.ebuild b/sys-apps/corefreq/corefreq-2.1.4.ebuild new file mode 100644 index 0000000000..e93f60de6d --- /dev/null +++ b/sys-apps/corefreq/corefreq-2.1.4.ebuild @@ -0,0 +1,80 @@ +# 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://github.com/cyring" + +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" +}