summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-power/powernowd')
-rw-r--r--sys-power/powernowd/Manifest1
-rw-r--r--sys-power/powernowd/files/powernowd-1.00-buf.patch11
-rw-r--r--sys-power/powernowd/files/powernowd.confd24
-rw-r--r--sys-power/powernowd/files/powernowd.initd21
-rw-r--r--sys-power/powernowd/files/powernowd.service8
-rw-r--r--sys-power/powernowd/metadata.xml10
-rw-r--r--sys-power/powernowd/powernowd-1.00-r3.ebuild39
7 files changed, 114 insertions, 0 deletions
diff --git a/sys-power/powernowd/Manifest b/sys-power/powernowd/Manifest
new file mode 100644
index 000000000000..8e1e58717436
--- /dev/null
+++ b/sys-power/powernowd/Manifest
@@ -0,0 +1 @@
+DIST powernowd-1.00.tar.gz 19651 SHA256 af7381d2def69aaf7a07e883bebc37141d1b5ca1bb959bfd4bf7015767b6c46d SHA512 b4285de6b330927568ac44789ae4fda0cb431fc5f15abc5d275c03b5bfaec8627f453abbe78561971cce1eba895f73ed6f382be8a034fc2cf5d1a55010d30cf3 WHIRLPOOL 038597f30b63adaa1a28cb10cb0e9c9dc2fdceca0f6392a1b14314aecb4271eb32de4dba0cbbe40d9acea5d5feb8a62fb70c4d596dc26d76fcfbc0c3fec089f5
diff --git a/sys-power/powernowd/files/powernowd-1.00-buf.patch b/sys-power/powernowd/files/powernowd-1.00-buf.patch
new file mode 100644
index 000000000000..56f048296ec7
--- /dev/null
+++ b/sys-power/powernowd/files/powernowd-1.00-buf.patch
@@ -0,0 +1,11 @@
+--- a/powernowd.c
++++ b/powernowd.c
+@@ -107,7 +107,7 @@ typedef struct cpuinfo {
+ cpuinfo_t **all_cpus;
+
+ /* idea stolen from procps */
+-static char buf[1024];
++static char buf[2048];
+
+ enum function {
+ SINE,
diff --git a/sys-power/powernowd/files/powernowd.confd b/sys-power/powernowd/files/powernowd.confd
new file mode 100644
index 000000000000..e374a59777bc
--- /dev/null
+++ b/sys-power/powernowd/files/powernowd.confd
@@ -0,0 +1,24 @@
+#PowerNow Daemon v0.97, (c) 2003-2005 John Clemens
+#Daemon to control the speed and voltage of cpus.
+#
+#This is a simple client to the CPUFreq driver, and uses
+#linux kernel v2.5 sysfs interface. You need a supported
+#cpu, and a kernel that supports sysfs to run this daemon.
+#
+#Available Options:
+# -h Print this help message
+# -d Don't detach from terminal (default is to
+# detach and run in the background)
+# -v Increase output verbosity, can be used more than once.
+# -q Quiet mode, only emergency output.
+# -n Include 'nice'd processes in calculations
+# -m # Modes of operation, can be 0, 1, 2, or 3:
+# 0 = SINE, 1 = AGGRESSIVE (default),
+# 2 = PASSIVE, 3 = LEAPS
+# -s # Frequency step in kHz (default = 100000)
+# -p # Polling frequency in msecs (default = 1000)
+# -c # Specify number of threads per power-managed core
+# -u # CPU usage upper limit percentage [0 .. 100, default 80]
+# -l # CPU usage lower limit percentage [0 .. 100, default 20]
+
+POWERNOWD_OPTS=""
diff --git a/sys-power/powernowd/files/powernowd.initd b/sys-power/powernowd/files/powernowd.initd
new file mode 100644
index 000000000000..8792a8c5bda9
--- /dev/null
+++ b/sys-power/powernowd/files/powernowd.initd
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+ use logger
+}
+
+start() {
+ ebegin "Starting powernowd"
+ start-stop-daemon --start --exec /usr/sbin/powernowd -- ${POWERNOWD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping powernowd"
+ start-stop-daemon --stop --exec /usr/sbin/powernowd
+ eend $?
+}
diff --git a/sys-power/powernowd/files/powernowd.service b/sys-power/powernowd/files/powernowd.service
new file mode 100644
index 000000000000..326e6fd28581
--- /dev/null
+++ b/sys-power/powernowd/files/powernowd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=PowerNow! Daemon
+
+[Service]
+ExecStart=/usr/sbin/powernowd -d -q
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-power/powernowd/metadata.xml b/sys-power/powernowd/metadata.xml
new file mode 100644
index 000000000000..e4832978b544
--- /dev/null
+++ b/sys-power/powernowd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jer@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">clemej/powernowd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-power/powernowd/powernowd-1.00-r3.ebuild b/sys-power/powernowd/powernowd-1.00-r3.ebuild
new file mode 100644
index 000000000000..23d091914b60
--- /dev/null
+++ b/sys-power/powernowd/powernowd-1.00-r3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info systemd toolchain-funcs
+
+DESCRIPTION="Daemon to control the speed and voltage of CPUs"
+HOMEPAGE="http://www.deater.net/john/powernowd.html https://github.com/clemej/powernowd"
+SRC_URI="http://www.deater.net/john/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+
+pkg_setup() {
+ CONFIG_CHECK="~CPU_FREQ"
+ WARNING_CPU_FREQ="Powernowd needs CPU_FREQ turned on!"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-buf.patch
+ rm -f Makefile
+ tc-export CC
+}
+
+src_compile() {
+ emake powernowd
+}
+
+src_install() {
+ dosbin powernowd
+ dodoc README
+
+ newconfd "${FILESDIR}"/powernowd.confd powernowd
+ newinitd "${FILESDIR}"/powernowd.initd powernowd
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}