Integrate patch written by Andreas Wiese <bzimage (at) gmx.net> from
BSD Crew Dresden, which ports the previously linux-only CPU plugin to FreeBSD. PR: ports/97575 Submitted by: Tobias Roth <ports (at) fsck.ch> (maintainer)
This commit is contained in:
parent
80b19c3e85
commit
1dc45df688
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=163476
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= fbpanel
|
||||
PORTVERSION= 4.3
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= x11
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
||||
MASTER_SITE_SUBDIR= ${PORTNAME}
|
||||
@ -19,7 +19,7 @@ COMMENT= A desktop panel that includes a taskbar, pager, launchbar and more
|
||||
USE_X_PREFIX= yes
|
||||
USE_GNOME= gtk20
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --prefix=${PREFIX} --cpu=off
|
||||
CONFIGURE_ARGS= --prefix=${PREFIX}
|
||||
CFLAGS+= -I${WRKSRC}
|
||||
USE_GMAKE= yes
|
||||
|
||||
@ -29,9 +29,4 @@ MANCOMPRESSED= yes
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|share/man|man|g' ${WRKSRC}/man/Makefile
|
||||
|
||||
post-install:
|
||||
@${ECHO_MSG} ""
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
@${ECHO_MSG} ""
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
13
x11/fbpanel/files/patch-Makefile
Normal file
13
x11/fbpanel/files/patch-Makefile
Normal file
@ -0,0 +1,13 @@
|
||||
--- Makefile~ Tue May 16 19:28:38 2006
|
||||
+++ Makefile Tue May 16 19:14:24 2006
|
||||
@@ -24,6 +24,10 @@
|
||||
-include $(DEP)
|
||||
endif
|
||||
|
||||
+ifeq ($(PLUGIN_CPU),on)
|
||||
+override CFLAGS += -DPLUGIN_CPU
|
||||
+endif
|
||||
+
|
||||
TARGET := fbpanel
|
||||
|
||||
EXTRAOBJ :=
|
92
x11/fbpanel/files/patch-cpu.c
Normal file
92
x11/fbpanel/files/patch-cpu.c
Normal file
@ -0,0 +1,92 @@
|
||||
--- plugins/cpu.c~ Tue May 16 19:23:18 2006
|
||||
+++ plugins/cpu.c Tue May 16 19:00:07 2006
|
||||
@@ -18,14 +18,24 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
-/*A little bug fixed by Mykola <mykola@2ka.mipt.ru>:) */
|
||||
+/*
|
||||
+ * A little bug fixed by Mykola <mykola@2ka.mipt.ru> :)
|
||||
+ * FreeBSD support added by Andreas Wiese <aw@instandbesetzt.net>
|
||||
+ */
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
-#include <sys/sysinfo.h>
|
||||
+#ifdef __FreeBSD__
|
||||
+# include <sys/types.h>
|
||||
+# include <sys/resource.h>
|
||||
+# include <sys/sysctl.h>
|
||||
+#else
|
||||
+# include <sys/sysinfo.h>
|
||||
+#endif
|
||||
#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
|
||||
#include "plugin.h"
|
||||
#include "panel.h"
|
||||
@@ -60,6 +70,37 @@
|
||||
struct cpu_stat cpu_anterior;
|
||||
} cpu_t;
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+static void
|
||||
+get_procstat(unsigned long *u, unsigned long *n, unsigned long *s,
|
||||
+ unsigned long *i)
|
||||
+{
|
||||
+ static int mib[2] = { -1, -1 }, init = 0, j, realhz;
|
||||
+ long ct[CPUSTATES];
|
||||
+
|
||||
+
|
||||
+ if(init == 0) {
|
||||
+ struct clockinfo ci;
|
||||
+ j = sizeof(ci);
|
||||
+ sysctlbyname("kern.clockrate", &ci, &j, NULL, 0);
|
||||
+ realhz = ci.stathz ? ci.stathz : ci.hz;
|
||||
+
|
||||
+ j = 2;
|
||||
+ sysctlnametomib("kern.cp_time", mib, &j);
|
||||
+
|
||||
+ init = 1;
|
||||
+ j = sizeof(ct);
|
||||
+ }
|
||||
+
|
||||
+ sysctl(mib, 2, ct, &j, NULL, 0);
|
||||
+ *u = ct[CP_USER] / realhz;
|
||||
+ *n = ct[CP_NICE] / realhz;
|
||||
+ *s = ct[CP_SYS] / realhz;
|
||||
+ *i = ct[CP_IDLE] / realhz;
|
||||
+
|
||||
+ return;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
static int
|
||||
cpu_update(cpu_t *c)
|
||||
@@ -67,18 +108,24 @@
|
||||
int cpu_u=0, cpu_s=0, cpu_n=0, cpu_i=100;
|
||||
unsigned int i;
|
||||
struct cpu_stat cpu, cpu_r;
|
||||
+#ifndef __FreeBSD__
|
||||
FILE *stat;
|
||||
+#endif
|
||||
float total;
|
||||
|
||||
ENTER;
|
||||
if(!c->pixmap)
|
||||
RET(TRUE);
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+ get_procstat(&cpu.u, &cpu.n, &cpu.s, &cpu.i);
|
||||
+#else
|
||||
stat = fopen("/proc/stat", "r");
|
||||
if(!stat)
|
||||
RET(TRUE);
|
||||
fscanf(stat, "cpu %lu %lu %lu %lu", &cpu.u, &cpu.n, &cpu.s, &cpu.i);
|
||||
fclose(stat);
|
||||
+#endif
|
||||
|
||||
cpu_r.u = cpu.u - c->cpu_anterior.u;
|
||||
cpu_r.n = cpu.n - c->cpu_anterior.n;
|
15
x11/fbpanel/files/patch-plugin.c
Normal file
15
x11/fbpanel/files/patch-plugin.c
Normal file
@ -0,0 +1,15 @@
|
||||
--- plugin.c~ Tue May 16 19:22:41 2006
|
||||
+++ plugin.c Tue May 16 19:16:29 2006
|
||||
@@ -98,7 +98,11 @@
|
||||
#ifdef STATIC_DESKNO
|
||||
REGISTER_PLUGIN_CLASS(deskno_plugin_class, 0);
|
||||
#endif
|
||||
-
|
||||
+
|
||||
+#if defined(STATIC_CPU) && defined(PLUGIN_CPU)
|
||||
+ REGISTER_PLUGIN_CLASS(cpu_plugin_class, 0);
|
||||
+#endif
|
||||
+
|
||||
RET();
|
||||
}
|
||||
|
11
x11/fbpanel/files/patch-plugin.h
Normal file
11
x11/fbpanel/files/patch-plugin.h
Normal file
@ -0,0 +1,11 @@
|
||||
--- plugin.h~ Tue May 16 19:22:49 2006
|
||||
+++ plugin.h Tue May 16 19:00:09 2006
|
||||
@@ -61,7 +61,7 @@
|
||||
#define STATIC_SPACE
|
||||
#define STATIC_ICONS
|
||||
#define STATIC_DESKNO
|
||||
+#define STATIC_CPU
|
||||
#endif
|
||||
-
|
||||
|
||||
#endif
|
@ -1 +0,0 @@
|
||||
Please note that the cpu plugin has not been built due to compatibility reasons.
|
Loading…
Reference in New Issue
Block a user