blob: d46d085b61bba23c15d803cfb243d5c2b3e9a327 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# Copyright 2013-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit fcaps linux-info python-r1 toolchain-funcs
DESCRIPTION="Linux x86 CPU power tools"
HOMEPAGE="https://www.kernel.org/"
SRC_URI="https://cdn.kernel.org/pub/linux/kernel/v${PV%%.*}.x/linux-${PV}.tar.xz"
S="${WORKDIR}/linux-${PV}"
LICENSE="GPL-2"
SLOT="0/0"
KEYWORDS="~amd64"
IUSE="pstate-tracer"
CDEPEND="dev-libs/libnl:3"
RDEPEND="
pstate-tracer? (
${PYTHON_DEPS}
dev-python/gnuplot-py[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
sci-visualization/gnuplot
)
"
DEPEND="
${CDEPEND}
virtual/os-headers
"
REQUIRED_USE="pstate-tracer? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=( "${FILESDIR}/${P}-cflags.patch" )
FILECAPS=( 'cap_sys_rawio=ep' usr/bin/turbostat )
pkg_setup() {
linux-info_pkg_setup
if linux_config_exists; then
CONFIG_CHECK_MODULES="CONFIG_X86_MSR" || ewarn "msr module is needed at runtime"
fi
}
src_configure() {
export bindir="${EPREFIX}/usr/bin"
export sbindir="${EPREFIX}/usr/sbin"
export mandir="${EPREFIX}/usr/share/man"
export includedir="${EPREFIX}/usr/include"
export libdir="${EPREFIX}/usr/$(get_libdir)"
export localedir="${EPREFIX}/usr/share/locale"
export docdir="${EPREFIX}/usr/share/doc/${PF}"
export confdir="${EPREFIX}/etc"
export bash_completion_dir="${EPREFIX}/usr/share/bash-completion/completions"
export V=1
}
src_compile() {
myemakeargs=(
AR="$(tc-getAR)"
CC="$(tc-getCC)"
LD="$(tc-getCC)"
VERSION=${PV}
)
emake -C tools/power/x86/intel-speed-select "${myemakeargs[@]}"
emake -C tools/power/x86/turbostat "${myemakeargs[@]}"
emake -C tools/power/x86/x86_energy_perf_policy "${myemakeargs[@]}"
}
src_install() {
pushd "${S}/tools/power/x86/intel-speed-select" || die
emake "${myemakeargs[@]}" DESTDIR="${D}" install
popd || die
pushd "${S}/tools/power/x86/turbostat" || die
emake "${myemakeargs[@]}" DESTDIR="${D}" install
popd || die
pushd "${S}/tools/power/x86/x86_energy_perf_policy" || die
emake "${myemakeargs[@]}" DESTDIR="${D}" install
popd || die
if use pstate-tracer; then
python_foreach_impl python_doscript tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
python_foreach_impl python_doscript tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
fi
einstalldocs
}
pkg_postinst() {
fcaps_pkg_postinst
}
|