diff options
author | thierry <thierry@FreeBSD.org> | 2006-05-26 20:37:08 +0800 |
---|---|---|
committer | thierry <thierry@FreeBSD.org> | 2006-05-26 20:37:08 +0800 |
commit | 02edd10d9a4e5bf427d0c9d9df7a5c95e5ec456c (patch) | |
tree | 2700d4ec3d6ee6412af03b735104d54d4d0f4e39 /x11 | |
parent | abfcb9ba9628fb0261d12fedbcc9a8ce2a8b29d4 (diff) | |
download | freebsd-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/Makefile | 9 | ||||
-rw-r--r-- | x11/fbpanel/files/patch-Makefile | 13 | ||||
-rw-r--r-- | x11/fbpanel/files/patch-cpu.c | 92 | ||||
-rw-r--r-- | x11/fbpanel/files/patch-plugin.c | 15 | ||||
-rw-r--r-- | x11/fbpanel/files/patch-plugin.h | 11 | ||||
-rw-r--r-- | x11/fbpanel/pkg-message | 1 |
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. |