pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/30122: wm/icewm taskbar apm monitor does not work on NetBSD (patches included)
>Number: 30122
>Category: pkg
>Synopsis: wm/icewm taskbar apm monitor does not work on NetBSD
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue May 03 20:55:00 +0000 2005
>Originator: Iain Hibbert
>Release: NetBSD 2.0
>Organization:
>Environment:
System: NetBSD galant 2.0 NetBSD 2.0 (GALANT) #13: Fri Apr 29 11:09:37 BST 2005
plunky@galant:/home/plunky/src/sys/arch/i386/compile/GALANT i386
Architecture: i386
Machine: i386
>Description:
I'm not sure why but the apm taskbar monitor no longer works on NetBSD with
the pkgsrc
version of icewm. Looking at the code, it never would have worked so I'm
thinking that
there must have been a patch included to make it work that has been removed
since the
package was updated (Sorry, I looked on cvsweb but couldnt work out how to
look at files
that had been deleted :)
>How-To-Repeat:
just build it and run it, you will see..
>Fix:
Anyway, here are two patches that patch aapm.cc and aapm.h that will make it
work on NetBSD.
I named them ba and bb to avoid any conflicts but suppose that isnt really
necessary, they
could fit into the sequence if required. unshar them in pkgsrc/wm/icewm and
dont forget to
'make makepatchsum'.
I will submit these to the IceWM project also.
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# patches/patch-ba
# patches/patch-bb
#
echo x - patches/patch-ba
sed 's/^X//' >patches/patch-ba << 'END-of-patches/patch-ba'
X$NetBSD:$
X
Xenable APM support for NetBSD
X
X--- src/aapm.h.orig 2005-05-02 11:14:58.000000000 +0100
X+++ src/aapm.h 2005-05-02 11:15:30.000000000 +0100
X@@ -1,5 +1,5 @@
X
X-#if defined(linux) || (defined (__FreeBSD__) && defined(i386))
X+#if defined(linux) || (defined (__FreeBSD__) && defined(i386)) ||
defined(__NetBSD__)
X
X #include "ywindow.h"
X #include "ytimer.h"
END-of-patches/patch-ba
echo x - patches/patch-bb
sed 's/^X//' >patches/patch-bb << 'END-of-patches/patch-bb'
X$NetBSD:$
X
Xenable APM support for NetBSD
X
X--- src/aapm.cc.orig 2005-01-09 21:48:22.000000000 +0000
X+++ src/aapm.cc 2005-05-03 11:08:15.000000000 +0100
X@@ -34,6 +34,13 @@
X #include <machine/apm_bios.h>
X #endif
X
X+#ifdef __NetBSD__
X+#include <sys/file.h>
X+#include <sys/ioctl.h>
X+#include <sys/types.h>
X+#include <machine/apmvar.h>
X+#endif
X+
X YColor *YApm::apmBg = 0;
X YColor *YApm::apmFg = 0;
X ref<YFont> YApm::apmFont;
X@@ -57,6 +64,8 @@
X void ApmStr(char *s, bool Tool) {
X #ifdef __FreeBSD__
X struct apm_info ai;
X+#elif defined __NetBSD__
X+ struct apm_power_info ai;
X #else
X char buf[80];
X #endif
X@@ -96,6 +105,22 @@
X BATlife = ai.ai_batt_life;
X BATtime = ai.ai_batt_time == 0 ? -1 : ai.ai_batt_time;
X strcpy(units, "sec");
X+#elif defined __NetBSD__
X+ memset(&ai, 0, sizeof(ai));
X+ if (ioctl(fd, APM_IOC_GETPOWER, &ai) == -1)
X+ {
X+ perror("Cannot ioctl the apm device");
X+ close(fd);
X+ return;
X+ }
X+ close(fd);
X+
X+ strcpy(apmver, "?.?");
X+ ACstatus = (ai.ac_state == APM_AC_ON) ? 1 : 0;
X+ BATflag = (ai.battery_state == APM_BATT_CHARGING) ? 8 : 0;
X+ BATlife = ai.battery_life;
X+ BATtime = (ai.minutes_left == 0) ? -1 : ai.minutes_left;
X+ strcpy(units, "min");
X #else
X len = read(fd, buf, sizeof(buf) - 1);
X close(fd);
END-of-patches/patch-bb
exit
>Unformatted:
pkgsrc snapshot of about a week ago, icewm version 1.2.20
Home |
Main Index |
Thread Index |
Old Index