* Fix process memory calculation

* Add FreeBSD battery support
* Add SHEBANG_LANG & SHEBANG_FILES

PR:		207133
Submitted by:	Hung-Yi Chen <gaod@hychen.org> (maintainer)
This commit is contained in:
Cy Schubert 2016-02-12 20:39:57 +00:00
parent 82485a94f2
commit 326c5be53e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=408755
3 changed files with 43 additions and 0 deletions

View file

@ -3,6 +3,7 @@
PORTNAME= htop
PORTVERSION= 2.0.0
PORTREVISION= 1
CATEGORIES= sysutils
MAINTAINER= gaod@hychen.org
@ -18,6 +19,8 @@ LIBS+= -L${LOCALBASE}/lib -lexecinfo
CONFIGURE_ARGS= --enable-unicode
USES= autoreconf execinfo libtool ncurses python:2,build shebangfix
SHEBANG_LANG= python2
SHEBANG_FILES= scripts/MakeHeader.py
USE_GITHUB= yes
GH_ACCOUNT= hishamhm

View file

@ -0,0 +1,27 @@
--- freebsd/Battery.c.orig 2016-02-13 00:30:03.804015000 +0800
+++ freebsd/Battery.c 2016-02-13 00:31:05.662396000 +0800
@@ -6,10 +6,21 @@
*/
#include "BatteryMeter.h"
+#include <sys/sysctl.h>
void Battery_getData(double* level, ACPresence* isOnAC) {
- // TODO
- *level = -1;
- *isOnAC = AC_ERROR;
+ int life;
+ size_t life_len = sizeof(life);
+ if (sysctlbyname("hw.acpi.battery.life", &life, &life_len, NULL, 0) == -1)
+ *level = -1;
+ else
+ *level = life;
+
+ int acline;
+ size_t acline_len = sizeof(acline);
+ if (sysctlbyname("hw.acpi.acline", &acline, &acline_len, NULL, 0) == -1)
+ *isOnAC = AC_ERROR;
+ else
+ *isOnAC = acline == 0 ? AC_ABSENT : AC_PRESENT;
}

View file

@ -0,0 +1,13 @@
--- freebsd/FreeBSDProcessList.c.orig 2016-02-13 00:37:56.160832000 +0800
+++ freebsd/FreeBSDProcessList.c 2016-02-13 00:38:19.671290000 +0800
@@ -477,8 +477,8 @@
}
// from FreeBSD source /src/usr.bin/top/machine.c
- proc->m_size = kproc->ki_size / 1024;
- proc->m_resident = kproc->ki_rssize * pageSizeKb;
+ proc->m_size = kproc->ki_size / 1024 / pageSizeKb;
+ proc->m_resident = kproc->ki_rssize;
proc->nlwp = kproc->ki_numthreads;
proc->time = (kproc->ki_runtime + 5000) / 10000;