aboutsummaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
authorthierry <thierry@FreeBSD.org>2006-05-26 20:37:08 +0800
committerthierry <thierry@FreeBSD.org>2006-05-26 20:37:08 +0800
commit02edd10d9a4e5bf427d0c9d9df7a5c95e5ec456c (patch)
tree2700d4ec3d6ee6412af03b735104d54d4d0f4e39 /x11
parentabfcb9ba9628fb0261d12fedbcc9a8ce2a8b29d4 (diff)
downloadfreebsd-ports-graphics-02edd10d9a4e5bf427d0c9d9df7a5c95e5ec456c.tar.gz
freebsd-ports-graphics-02edd10d9a4e5bf427d0c9d9df7a5c95e5ec456c.tar.zst
freebsd-ports-graphics-02edd10d9a4e5bf427d0c9d9df7a5c95e5ec456c.zip
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)
Diffstat (limited to 'x11')
-rw-r--r--x11/fbpanel/Makefile9
-rw-r--r--x11/fbpanel/files/patch-Makefile13
-rw-r--r--x11/fbpanel/files/patch-cpu.c92
-rw-r--r--x11/fbpanel/files/patch-plugin.c15
-rw-r--r--x11/fbpanel/files/patch-plugin.h11
-rw-r--r--x11/fbpanel/pkg-message1
6 files changed, 133 insertions, 8 deletions
diff --git a/x11/fbpanel/Makefile b/x11/fbpanel/Makefile
index 3e1579f0487..f4d70fabc46 100644
--- a/x11/fbpanel/Makefile
+++ b/x11/fbpanel/Makefile
@@ -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>
diff --git a/x11/fbpanel/files/patch-Makefile b/x11/fbpanel/files/patch-Makefile
new file mode 100644
index 00000000000..3deb9c6d170
--- /dev/null
+++ b/x11/fbpanel/files/patch-Makefile
@@ -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 :=
diff --git a/x11/fbpanel/files/patch-cpu.c b/x11/fbpanel/files/patch-cpu.c
new file mode 100644
index 00000000000..b5cff099833
--- /dev/null
+++ b/x11/fbpanel/files/patch-cpu.c
@@ -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;
diff --git a/x11/fbpanel/files/patch-plugin.c b/x11/fbpanel/files/patch-plugin.c
new file mode 100644
index 00000000000..0516f3978d5
--- /dev/null
+++ b/x11/fbpanel/files/patch-plugin.c
@@ -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();
+ }
+
diff --git a/x11/fbpanel/files/patch-plugin.h b/x11/fbpanel/files/patch-plugin.h
new file mode 100644
index 00000000000..394e8f505de
--- /dev/null
+++ b/x11/fbpanel/files/patch-plugin.h
@@ -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
diff --git a/x11/fbpanel/pkg-message b/x11/fbpanel/pkg-message
deleted file mode 100644
index 224f0522d33..00000000000
--- a/x11/fbpanel/pkg-message
+++ /dev/null
@@ -1 +0,0 @@
-Please note that the cpu plugin has not been built due to compatibility reasons.