summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-power/powertop/Manifest1
-rw-r--r--sys-power/powertop/files/powertop-2.9-libc++.patch44
-rw-r--r--sys-power/powertop/powertop-2.9.ebuild115
-rw-r--r--sys-power/powertop/powertop-9999.ebuild6
4 files changed, 164 insertions, 2 deletions
diff --git a/sys-power/powertop/Manifest b/sys-power/powertop/Manifest
index 25ec6b5378fb..c0cd2b6155f9 100644
--- a/sys-power/powertop/Manifest
+++ b/sys-power/powertop/Manifest
@@ -1 +1,2 @@
DIST powertop-2.8.tar.gz 670000 BLAKE2B 4259f462d36fe0cbb157859d6e1d3e1face67f7232fe8d4112d77f844b545f49e9cf486e21bcbc34f64ffb0c891c1864141784dde14e3a96647d6535641a840a SHA512 253d0e15f0972cf8639735c510f4884d49a0da76c31dd2f39603e2297e6c6f0b9fa283c7b3cb04a431c91f8296275c0adaecc4c3e9ea132c0c31064f7f432c80
+DIST powertop-v2.9.tar.gz 718763 BLAKE2B bb6ce789614397b02f0e9f1cb71585cb456c1428cc43e9fe1c4b3bc9f96171fede4c587410e78e58ad8d0b0f772549a93f454bcd1b521e6dd3c809a85dc3cf30 SHA512 783af538c44e3fae7215a5b4247eb32a72e02150b3f297e6b9777a450823dd30aca014601892c0e80937a366eed95b42b622c68161d53e905ad4fbcb574b26f5
diff --git a/sys-power/powertop/files/powertop-2.9-libc++.patch b/sys-power/powertop/files/powertop-2.9-libc++.patch
new file mode 100644
index 000000000000..d378280f3c68
--- /dev/null
+++ b/sys-power/powertop/files/powertop-2.9-libc++.patch
@@ -0,0 +1,44 @@
+https://github.com/fenrus75/powertop/commit/b9c431aad6cc5383c9571007469eee8e64ec85a6
+
+From b9c431aad6cc5383c9571007469eee8e64ec85a6 Mon Sep 17 00:00:00 2001
+From: Manoj Gupta <manojgupta@chromium.org>
+Date: Sat, 4 Nov 2017 13:44:04 -0700
+Subject: [PATCH] Fix powertop build with libc++.
+
+<ctime> header is not automatically included with libc++.
+Add it explicitly to make powertop build with libc++.
+
+This fixes the following errors:
+devices/gpu_rapl_device.cpp:35:14: error: use of undeclared identifier
+'time'; did you mean 'tie'?
+last_time = time(NULL);
+ ^~~~
+devices/gpu_rapl_device.cpp:45:14: error:use of undeclared identifier
+'time'; did you mean 'tie'?
+last_time = time(NULL);
+ ^~~~
+
+parameters/learn.cpp:161:10: error: use of undeclared identifier
+'time'; did you mean 'tie'?
+start = time(NULL);
+ ^~~~
+---
+ src/lib.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lib.h b/src/lib.h
+index b64bb0f5433f..6d85eb6e4b40 100644
+--- a/src/lib.h
++++ b/src/lib.h
+@@ -54,7 +54,7 @@ extern const char *kernel_function(uint64_t address);
+
+
+
+-
++#include <ctime>
+ #include <string>
+ using namespace std;
+
+--
+2.15.1
+
diff --git a/sys-power/powertop/powertop-2.9.ebuild b/sys-power/powertop/powertop-2.9.ebuild
new file mode 100644
index 000000000000..a46c1a302cbc
--- /dev/null
+++ b/sys-power/powertop/powertop-2.9.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils linux-info
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/fenrus75/powertop.git"
+ inherit git-r3 autotools
+ SRC_URI=""
+else
+ MY_P="${PN}-v${PV}"
+ SRC_URI="https://01.org/sites/default/files/downloads/${PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="tool that helps you find what software is using the most power"
+HOMEPAGE="https://01.org/powertop/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="nls unicode X"
+
+COMMON_DEPEND="
+ dev-libs/libnl:3
+ sys-apps/pciutils
+ sys-libs/ncurses:=[unicode?]
+"
+
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ sys-devel/gettext
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ X? ( x11-apps/xset )
+ virtual/libintl
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libc++.patch
+)
+
+pkg_setup() {
+ CONFIG_CHECK="
+ ~X86_MSR
+ ~DEBUG_FS
+ ~PERF_EVENTS
+ ~TRACEPOINTS
+ ~NO_HZ_IDLE
+ ~HIGH_RES_TIMERS
+ ~HPET_TIMER
+ ~CPU_FREQ_STAT
+ ~CPU_FREQ_GOV_ONDEMAND
+ ~FTRACE
+ ~BLK_DEV_IO_TRACE
+ ~TRACING
+ "
+ ERROR_KERNEL_X86_MSR="X86_MSR is not enabled in the kernel, you almost certainly need it"
+ ERROR_KERNEL_DEBUG_FS="DEBUG_FS is not enabled in the kernel, you almost certainly need it"
+ ERROR_KERNEL_PERF_EVENTS="PERF_EVENTS should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_TRACEPOINTS="TRACEPOINTS should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_NO_HZ_IDLE="NO_HZ_IDLE should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_HIGH_RES_TIMERS="HIGH_RES_TIMERS should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_HPET_TIMER="HPET_TIMER should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_CPU_FREQ_STAT="CPU_FREQ_STAT should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_CPU_FREQ_GOV_ONDEMAND="CPU_FREQ_GOV_ONDEMAND should be enabled in the kernel for full powertop function"
+ ERROR_KERNEL_FTRACE="FTRACE needs to be turned on to enable BLK_DEV_IO_TRACE"
+ ERROR_KERNEL_BLK_DEV_IO_TRACE="BLK_DEV_IO_TRACE needs to be turned on to enable other config options"
+ ERROR_KERNEL_TRACING="TRACING should be enabled in the kernel for full powertop function"
+ linux-info_pkg_setup
+ if linux_config_exists; then
+ if kernel_is -lt 3 7 0; then
+ if linux_chkconfig_present SND_HDA_INTEL; then
+ CONFIG_CHECK="~SND_HDA_POWER_SAVE"
+ ERROR_KERNEL_SND_HDA_POWER_SAVE="SND_HDA_POWER_SAVE should be enabled in the kernel for full powertop function"
+ check_extra_config
+ fi
+ fi
+ if kernel_is -lt 3 9 0; then
+ CONFIG_CHECK="~EVENT_POWER_TRACING_DEPRECATED"
+ ERROR_KERNEL_EVENT_POWER_TRACING_DEPRECATED="EVENT_POWER_TRACING_DEPRECATED should be enabled in the kernel for full powertop function"
+ check_extra_config
+ fi
+ if kernel_is -lt 3 19; then
+ CONFIG_CHECK="~PM_RUNTIME"
+ ERROR_KERNEL_PM_RUNTIME="PM_RUNTIME should be enabled in the kernel for full powertop function"
+ check_extra_config
+ else
+ CONFIG_CHECK="~PM"
+ ERROR_KERNEL_PM="PM should be enabled in the kernel for full powertop function"
+ check_extra_config
+ fi
+ if kernel_is -lt 4 11; then
+ CONFIG_CHECK="~TIMER_STATS"
+ ERROR_KERNEL_TIMER_STATS="TIMER_STATS should be enabled in the kernel for full powertop function"
+ check_extra_config
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ if [[ ${PV} == "9999" ]] ; then
+ chmod +x scripts/version || die "Failed to make 'scripts/version' executable"
+ scripts/version || die "Failed to extract version information"
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ export ac_cv_search_delwin=$(usex unicode -lncursesw -lncurses)
+ econf $(use_enable nls)
+}
diff --git a/sys-power/powertop/powertop-9999.ebuild b/sys-power/powertop/powertop-9999.ebuild
index 923a90555439..62872e31be8e 100644
--- a/sys-power/powertop/powertop-9999.ebuild
+++ b/sys-power/powertop/powertop-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -9,8 +9,10 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-r3 autotools
SRC_URI=""
else
- SRC_URI="https://01.org/sites/default/files/downloads/${PN}/${P}.tar.gz"
+ MY_P="${PN}-v${PV}"
+ SRC_URI="https://01.org/sites/default/files/downloads/${PN}/${MY_P}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${MY_P}"
fi
DESCRIPTION="tool that helps you find what software is using the most power"