Date: Thu, 27 Dec 2001 13:19:58 +0000 (GMT) From: Bruce M Simpson <bms@spc.org> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/33243: new port: net/wmwave 0.4 Message-ID: <20011227131958.049D52102C@kiowa.dek.spc.org>
next in thread | raw e-mail | index | archive | help
>Number: 33243 >Category: ports >Synopsis: new port: net/wmwave 0.4 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Dec 27 05:20:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Bruce M Simpson >Release: FreeBSD 5.0-CURRENT i386 >Organization: >Environment: System: FreeBSD kiowa.dek.spc.org 5.0-CURRENT FreeBSD 5.0-CURRENT #7: Mon Dec 24 04:57:54 GMT 2001 root@kiowa.dek.spc.org:/usr/src/sys/i386/compile/KIOWA i386 >Description: Display 802.11 signal status in the WindowMaker Dock. >How-To-Repeat: >Fix: --- wmwave.shar begins here --- # 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: # # wmwave # wmwave/files # wmwave/files/patch-aa # wmwave/files/patch-ab # wmwave/pkg-descr # wmwave/distinfo # wmwave/Makefile # wmwave/pkg-comment # wmwave/pkg-plist # echo c - wmwave mkdir -p wmwave > /dev/null 2>&1 echo c - wmwave/files mkdir -p wmwave/files > /dev/null 2>&1 echo x - wmwave/files/patch-aa sed 's/^X//' >wmwave/files/patch-aa << 'END-of-wmwave/files/patch-aa' X--- Makefile.orig Thu Aug 19 18:58:51 1999 X+++ Makefile Thu Dec 27 13:17:22 2001 X@@ -1,41 +1,20 @@ X # X-# $Log: Makefile,v $ X-# Revision 1.2 1999/08/19 17:58:51 carsten X-# Almost final version X+# $FreeBSD$ X # X-# Revision 1.1 1999/08/15 15:38:09 carsten X-# Added wmwave project to repository X- X-LIBDIR = -L/usr/X11R6/lib X-LIBS = -lXpm -lXext -lX11 -lm X-FLAGS = -O6 X-OBJS = \ X- wmgeneral.o \ X- X-default:all X- X-.c.o: X- cc -I/usr/X11R6/share/include $(FLAGS) -c -Wall $< -o $*.o X- X-wmwave.o: wmwave.c wmwave-master.xpm X- cc -I/usr/X11R6/share/include $(FLAGS) -c -Wall wmwave.c -o $*.o X+# makefile for wmwave-0.4 on 27-12-2001 by bms X+# X+PROG=wmwave X+SRCS=wmwave.c wmgeneral.c X+MAN1=wmwave.1 X X-wmwave: $(OBJS) wmwave.o X- cc $(FLAGS) -o wmwave $(OBJS) -lXext $(LIBDIR) $(LIBS) wmwave.o X+CFLAGS += -g -I${X11BASE}/include -DWICACHE X+#CFLAGS += -O6 X+LDFLAGS+= -L${X11BASE}/lib -lX11 -lXpm -lXext -lm X X-all:: wmwave X+BINDIR=${PREFIX}/bin X+MANDIR=${PREFIX}/man/man X X-clean:: X- rm -f *.o X- rm -f wmwave X- rm -f *~ X+# extra dependency to rebuild when master pixmap changed X+wmwave.o: wmwave-master.xpm X X-install:: wmwave X- strip wmwave X- cp -f wmwave /usr/bin/ X- chmod 755 /usr/bin/wmwave X- chown root:root /usr/bin/wmwave X- cp -f wmwave.1 /usr/man/man1 X- chmod 644 /usr/man/man1/wmwave.1 X- chown root:root /usr/man/man1/wmwave.1 X- @echo "wmwave Installation finished..." X+.include <bsd.prog.mk> END-of-wmwave/files/patch-aa echo x - wmwave/files/patch-ab sed 's/^X//' >wmwave/files/patch-ab << 'END-of-wmwave/files/patch-ab' X--- wmwave.c.orig Thu Dec 27 12:10:44 2001 X+++ wmwave.c Thu Dec 27 13:09:37 2001 X@@ -1,38 +1,21 @@ X /* X+ * $Id$ X+ * X * wmtop.c -- WindowMaker process view dock app X- * Derived by Carsten Schuermann carsten@schuermann.org X- * http://www.schuermann.org/~carsten X- * from X- * Dan Piponi dan@tanelorn.demon.co.uk X- * http://www.tanelorn.demon.co.uk X- * who derived it X- * from code originally contained in wmsysmon by Dave Clark (clarkd@skynet.ca) X+ * X * This software is licensed through the GNU General Public License. X- * $Log: wmwave.c,v $ X- * Revision 1.7 1999/08/20 13:44:21 carsten X- * version 0.4 complete X- * X- * Revision 1.6 1999/08/19 17:58:52 carsten X- * Almost final version X- * X- * Revision 1.5 1999/08/19 13:54:30 carsten X- * done X- * X- * Revision 1.4 1999/08/19 11:14:50 carsten X- * hookup to /proc/net/wirless complete X- * X- * Revision 1.3 1999/08/19 02:39:07 carsten X- * improved design and hooked it up X- * X- * Revision 1.2 1999/08/16 03:45:34 carsten X- * Added dots X- * X- * Revision 1.1 1999/08/15 15:39:18 carsten X- * Added wmwave project to repository X- * X+ * X+ * Authors (in reverse chronological order): X+ * Bruce M. Simpson <bms@spc.org> X+ * Carsten Schuermann <carsten@schuermann.org> X+ * Dan Piponi <dan@tanelorn.demon.co.uk> X+ * Dave Clark <clarkd@skynet.ca> X+ * X+ * The FreeBSD version of this software is released under the GNU GPL, and X+ * forms part of the Consume Project <URL: http://www.consume.net/>. X+ * X */ X X- X #include <stdlib.h> X #include <stdio.h> X #include <time.h> X@@ -45,313 +28,387 @@ X #include <limits.h> X #include <errno.h> X #include <signal.h> X+#include <sysexits.h> X X+#include <sys/types.h> X #include <sys/wait.h> X #include <sys/stat.h> X #include <sys/param.h> X-#include <sys/types.h> X #include <sys/ioctl.h> X #include <sys/time.h> X+#include <sys/socket.h> X+#include <sys/sockio.h> X+ X+#include <netdb.h> X+#include <net/if.h> X+#include <net/if_var.h> X+#include <net/route.h> X+#include <net/ethernet.h> X+ X+#include <netinet/in.h> X+#include <netinet/in_systm.h> X+#include <netinet/in_var.h> X+#include <netinet/ip.h> X+#include <netinet/ip_var.h> X+#include <arpa/inet.h> X+#include <machine/if_wavelan_ieee.h> X X #include <X11/Xlib.h> X #include <X11/xpm.h> X #include <X11/extensions/shape.h> X X- X #include "wmgeneral.h" X- X #include "wmwave-master.xpm" X X-char wmwave_mask_bits[64*64]; X-int wmwave_mask_width = 64; X-int wmwave_mask_height = 64; X- X-#define WMWAVE_VERSION "0.4" X+char wmwave_mask_bits[64 * 64]; X+int wmwave_mask_width = 64; X+int wmwave_mask_height = 64; X+ X+#define WMWAVE_DEFAULT_INTERFACE "wi0" X+#define WMWAVE_VERSION "0.4_FreeBSD" X+ X+int update_rate = 100000; X+char *ProgName; X+char *iface = WMWAVE_DEFAULT_INTERFACE; X+time_t curtime; X+time_t prevtime; X+int mode = 0; /* default: no card detected */ X+int screen = 0; /* default: Quality screen is displayed */ X+ X+void usage(void); X+void printversion(void); X+void BlitString(char *name, int x, int y); X+void BlitNum(int num, int x, int y); X+void wmwave_routine(int, char **); X+void DrawBar(float percent, int dx, int dy); X+void DrawGreenBar(float percent, int dx, int dy); X X-int update_rate=100000; X- X-char *ProgName; X- X-time_t curtime; X-time_t prevtime; X- X-int mode = 0; // default: no card detected X-int screen = 0; // default: Quality screen is displayed X- X-void usage(void); X-void printversion(void); X-void BlitString(char *name, int x, int y); X-void BlitNum(int num, int x, int y); X-void wmwave_routine(int, char **); X-void DrawBar(float percent, int dx, int dy); X-void DrawGreenBar(float percent, int dx, int dy); X+inline void X+DrawBar(float percent, int dx, int dy) X+{ X+ int tx; X X-inline void DrawBar(float percent, int dx, int dy) { X- int tx; X- X- tx = (float)((float)54 * ((float)percent / (float)100.0)); X- copyXPMArea(67, 36, tx, 4, dx, dy); X- copyXPMArea(67, 43, 54-tx, 4, dx+tx, dy); X+ tx = (float)((float)54 * ((float)percent / (float)100.0)); X+ copyXPMArea(67, 36, tx, 4, dx, dy); X+ copyXPMArea(67, 43, 54 - tx, 4, dx + tx, dy); X } X X X-inline void DrawGreenBar(float percent, int dx, int dy) { X- int tx; X- X- tx = (float)((float)54 * ((float)percent / (float)100.0)); X- copyXPMArea(67, 58, tx, 4, dx, dy); X- copyXPMArea(67, 43, 54-tx, 4, dx+tx, dy); X-} X+inline void X+DrawGreenBar(float percent, int dx, int dy) X+{ X+ int tx; X X-inline void DrawRedDot() { X- copyXPMArea(80, 65, 6, 6, 52, 5); X+ tx = (float)((float)54 * ((float)percent / (float)100.0)); X+ copyXPMArea(67, 58, tx, 4, dx, dy); X+ copyXPMArea(67, 43, 54 - tx, 4, dx + tx, dy); X } X X-inline void DrawYellowDot() { X- copyXPMArea(86, 65, 6, 6, 52, 5); X+inline void X+DrawRedDot() X+{ X+ copyXPMArea(80, 65, 6, 6, 52, 5); X } X X-inline void DrawGreenDot() { X- copyXPMArea(92, 65, 6, 6, 52, 5); X+inline void X+DrawYellowDot() X+{ X+ copyXPMArea(86, 65, 6, 6, 52, 5); X } X X-inline void DrawEmptyDot() { X- copyXPMArea(98, 65, 6, 6, 52, 5); X+inline void X+DrawGreenDot() X+{ X+ copyXPMArea(92, 65, 6, 6, 52, 5); X } X X-float min (float x, float y) { X- if (x < y) {return x;} X- else {return y;} X+inline void X+DrawEmptyDot() X+{ X+ copyXPMArea(98, 65, 6, 6, 52, 5); X } X X /* X- * Find CPU times for all processes X+ * XXX: redefining min() to operate on floats is a bad idea; X+ * changed to _fmin(). X */ X-void DisplayWireless(void) { X- FILE *wireless; // File handle for /proc/net/wireless X- X- char line[255]; X- char iface[5]; X- char status [3]; X- float link = 0; X- float level = 0; X- float noise = 0; X- int nwid = 0; X- int crypt = 0; X- int misc = 0; X- X- if ((wireless = fopen ("/proc/net/wireless", "r")) != NULL) X- { X- fgets(line,sizeof(line),wireless); X- fgets(line,sizeof(line),wireless); X- if (fgets(line,sizeof(line),wireless) == NULL) { X- mode = 0; X- } X- else { X- sscanf(line,"%s %s %f %f %f %d %d %d", X- iface,status,&link,&level,&noise,&nwid,&crypt,&misc); X- mode = 1; X- } X- fclose(wireless); X- X- X- /* Print channel information, and signal ratio */ X- X- switch (mode) { X- case 1: BlitString("Quality",4,4); X- if (link<=10) {DrawRedDot ();} X- else if (link<=20) {DrawYellowDot ();} X- else {DrawGreenDot();}; X- BlitString("Link ", 4,18); X- DrawBar(min ((int)(link * 1.8), 100.0), 4, 27); X- BlitString("Level ", 4,32); X- DrawGreenBar(min ((int)(level * 0.3), 100.0), 4, 41); X- BlitString("Noise ", 4,46); X- DrawGreenBar(min ((int)(noise * 0.3), 100.0), 4, 55); X- break; X- case 0: BlitString("NO CARD",4,4); X- DrawEmptyDot(); X- BlitString(" ", 4,18); X- DrawBar(0.0, 4, 27); X- BlitString(" ", 4,32); X- DrawGreenBar(0.0, 4, 41); X- BlitString(" ", 4,46); X- DrawGreenBar(0.0, 4, 55); X- break; X- }; X- } X- else { X- printf ("Wirless device /proc/net/wireless not found\nEnable radio networking and recompile your kernel\n"); X- exit (0); X- } X-} X- X-/* SIGCHLD handler */ X-void sig_chld(int signo) X-{ X- waitpid((pid_t) -1, NULL, WNOHANG); X- signal(SIGCHLD, sig_chld); X-} X- X-int main(int argc, char *argv[]) { X- int i; X- X- /* Parse Command Line */ X- X- signal(SIGCHLD, sig_chld); X- ProgName = argv[0]; X- if (strlen(ProgName) >= 5) X- ProgName += (strlen(ProgName) - 5); X- X- for (i=1; i<argc; i++) { X- char *arg = argv[i]; X- X- if (*arg=='-') { X- switch (arg[1]) { X- case 'd' : X- if (strcmp(arg+1, "display")) { X- usage(); X- exit(1); X+float X+_fmin(float x, float y) X+{ X+ if (x < y) { X+ return x; X+ } else { X+ return y; X } X- break; X- case 'g' : X- if (strcmp(arg+1, "geometry")) { X- usage(); X- exit(1); X+} X+ X+/* X+ * XXX: Fetch OS-specific wireless statistics. X+ * X+ * These are: quality, signal, noise. On NetBSD, the X+ * statistics kept on an AP-basis for the driver are valid. X+ * On FreeBSD, it is necessary to interrogate the WICACHE. X+ * For the purposes of keeping things simple, this code will only X+ * look at the first slot in the WICACHE table. X+ */ X+void X+DisplayWireless(void) X+{ X+ struct ifreq ifr; X+ struct wi_req wireq; X+ struct wi_sigcache *wisigsp; X+ int *wisigsnp, s, mode, err; X+ float link, level, noise; X+ enum { X+ MODE_NO_CARD = 0, X+ MODE_HAVE_CARD = 1 X+ }; X+ X+ s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); X+ if (s == -1) X+ errx(errno, "socket"); X+ bzero(&ifr, sizeof(ifr)); X+ strncpy(ifr.ifr_name, iface, strlen(iface)); X+ bzero(&wireq, sizeof(wireq)); X+ wireq.wi_type = WI_RID_READ_CACHE; X+ wireq.wi_len = WI_MAX_DATALEN; X+ ifr.ifr_data = (void *) &wireq; X+ X+ err = ioctl(s, SIOCGWAVELAN, (caddr_t)&ifr); X+ if (err < 0) { X+ mode = MODE_NO_CARD; X+ goto draw; X+ } X+ wisigsnp = (int *) &wireq.wi_val; X+ if (*wisigsnp < 1) { X+ mode = MODE_NO_CARD; X+ goto draw; X } X- break; X- case 'v' : X- printversion(); X- exit(0); X- break; X- case 'r': X- if (argc > (i+1)) { X- update_rate = (atoi(argv[i+1]) * 1000); X- i++; X+ X+ mode = MODE_HAVE_CARD; X+ wisigsp = (struct wi_sigcache *) (wisigsnp+1); X+ link = wisigsp->quality * 1.0; X+ level = wisigsp->signal * -1.0; X+ noise = wisigsp->noise * -1.0; X+draw: X+ /* X+ * Print channel information, and signal ratio X+ */ X+ switch (mode) { X+ case MODE_HAVE_CARD: X+ BlitString("Quality", 4, 4); X+ if (link <= 10) { X+ DrawRedDot(); X+ } else if (link <= 20) { X+ DrawYellowDot(); X+ } else { X+ DrawGreenDot(); X+ }; X+ BlitString("Link ", 4, 18); X+ DrawBar(_fmin((int)(link * 1.8), 100.0), 4, 27); X+ BlitString("Level ", 4, 32); X+ DrawGreenBar(_fmin((int)(level * 0.3), 100.0), 4, 41); X+ BlitString("Noise ", 4, 46); X+ DrawGreenBar(_fmin((int)(noise * 0.3), 100.0), 4, 55); X+ break; X+ case MODE_NO_CARD: X+ default: X+ BlitString("NO CARD", 4, 4); X+ DrawEmptyDot(); X+ BlitString(" ", 4, 18); X+ DrawBar(0.0, 4, 27); X+ BlitString(" ", 4, 32); X+ DrawGreenBar(0.0, 4, 41); X+ BlitString(" ", 4, 46); X+ DrawGreenBar(0.0, 4, 55); X+ break; X+ }; X+} X+ X+void X+sig_chld(int signo) X+{ X+ waitpid((pid_t) - 1, NULL, WNOHANG); X+ signal(SIGCHLD, sig_chld); X+} X+ X+int X+main(int argc, char *argv[]) X+{ X+ int i; X+ X+ X+ signal(SIGCHLD, sig_chld); X+ X+ ProgName = argv[0]; X+ if (strlen(ProgName) >= 5) X+ ProgName += (strlen(ProgName) - 5); X+ X+ for (i = 1; i < argc; i++) { X+ char *arg = argv[i]; X+ X+ if (*arg == '-') { X+ switch (arg[1]) { X+ case 'i': X+ if (argc > (i + 1)) { X+ iface = argv[i+1]; X+ if (strncmp("wi", iface, 2) != 0) { X+ fprintf(stderr, "error: you " X+ "must specify a wiX interface.\n"); X+ usage(); X+ exit(EX_USAGE); X+ } X+ } X+ break; X+ case 'd': X+ if (strcmp(arg + 1, "display")) { X+ usage(); X+ exit(EX_USAGE); X+ } X+ break; X+ case 'g': X+ if (strcmp(arg + 1, "geometry")) { X+ usage(); X+ exit(EX_USAGE); X+ } X+ break; X+ case 'v': X+ printversion(); X+ exit(EX_OK); X+ break; X+ case 'r': X+ if (argc > (i + 1)) { X+ update_rate = (atoi(argv[i+1]) * 1000); X+ i++; X+ } X+ break; X+ default: X+ usage(); X+ exit(EX_USAGE); X+ break; X+ } X+ } X } X- break; X- default: X- usage(); X- exit(0); X- break; X- } X- } X- } X- X- wmwave_routine(argc, argv); X- X- return 0; X+ X+ wmwave_routine(argc, argv); X+ X+ exit(EX_OK); X } X X /* X * Main loop X */ X-void wmwave_routine(int argc, char **argv) { X- XEvent Event; X- struct timeval tv={0,0}; X- struct timeval last={0,0}; X- X- createXBMfromXPM(wmwave_mask_bits, wmwave_master_xpm, wmwave_mask_width, wmwave_mask_height); X- X- openXwindow(argc, argv, wmwave_master_xpm, wmwave_mask_bits, wmwave_mask_width, wmwave_mask_height); X- X- RedrawWindow(); X- X- X- while (1) { X- X- curtime = time(0); X- X- if (1) { X- memcpy(&last, &tv, sizeof(tv)); X- X- /* X- * Update display X- */ X- DisplayWireless(); X- X- RedrawWindow(); X- } X- X- /* X- * X Events X- */ X- while (XPending(display)) { X- XNextEvent(display, &Event); X- switch (Event.type) { X- case Expose: X+void X+wmwave_routine(int argc, char **argv) X+{ X+ XEvent Event; X+ struct timeval tv = {0, 0}; X+ struct timeval last = {0, 0}; X+ X+ createXBMfromXPM(wmwave_mask_bits, wmwave_master_xpm, wmwave_mask_width, wmwave_mask_height); X+ X+ openXwindow(argc, argv, wmwave_master_xpm, wmwave_mask_bits, wmwave_mask_width, wmwave_mask_height); X+ X RedrawWindow(); X- break; X- case DestroyNotify: X- XCloseDisplay(display); X- exit(0); X- case ButtonPress: X- switch (screen) { X- case 0: screen=1; break; X- case 1: screen=0; break; X- }; X- break; X- } X- } X- X- usleep(update_rate); X- } X+ X+ for (;;) { X+ curtime = time(0); X+ memcpy(&last, &tv, sizeof(tv)); X+ X+ /* X+ * Update display X+ */ X+ DisplayWireless(); X+ RedrawWindow(); X+ X+ /* X+ * X Events X+ */ X+ while (XPending(display)) { X+ XNextEvent(display, &Event); X+ switch (Event.type) { X+ case Expose: X+ RedrawWindow(); X+ break; X+ case DestroyNotify: X+ XCloseDisplay(display); X+ exit(EX_OK); X+ case ButtonPress: X+ switch (screen) { X+ case 0: X+ screen = 1; X+ break; X+ case 1: X+ screen = 0; X+ break; X+ }; X+ break; X+ } X+ } X+ usleep(update_rate); X+ } X } X X /* X * Blits a string at given co-ordinates X */ X-void BlitString(char *name, int x, int y) { X- int i; X- int c; X- int k; X- X- k = x; X- for (i=0; name[i]; i++) X- { X- X- c = toupper(name[i]); X- if (c >= 'A' && c <= 'Z') X- { // its a letter X- c -= 'A'; X- copyXPMArea(c * 6, 74, 6, 8, k, y); X- k += 6; X- } else X- if (c>='0' && c<='9') { // its a number or symbol X- c -= '0'; X- copyXPMArea(c * 6, 64, 6, 8, k, y); X- k += 6; X- } else { X- copyXPMArea(5, 84, 6, 8, k, y); X- k += 6; X- X- } X- } X-} X- X-void BlitNum(int num, int x, int y) { X- char buf[1024]; X- int newx=x; X- X- sprintf(buf, "%03i", num); X- X- BlitString(buf, newx, y); X+void X+BlitString(char *name, int x, int y) X+{ X+ int i; X+ int c; X+ int k; X+ X+ k = x; X+ for (i = 0; name[i]; i++) { X+ X+ c = toupper(name[i]); X+ if (c >= 'A' && c <= 'Z') { /* its a letter */ X+ c -= 'A'; X+ copyXPMArea(c * 6, 74, 6, 8, k, y); X+ k += 6; X+ } else if (c >= '0' && c <= '9') { X+ /* its a number or symbol */ X+ c -= '0'; X+ copyXPMArea(c * 6, 64, 6, 8, k, y); X+ k += 6; X+ } else { X+ copyXPMArea(5, 84, 6, 8, k, y); X+ k += 6; X+ X+ } X+ } X+} X+ X+void X+BlitNum(int num, int x, int y) X+{ X+ char buf[1024]; X+ int newx = x; X+ X+ sprintf(buf, "%03i", num); X+ BlitString(buf, newx, y); X } X X /* X * Usage X */ X-void usage(void) { X- fprintf(stderr, "\nWmwave - Carsten Schuermann <carsten@schuermann.org> http://www.schuermann.org/~dockapps\n\n"); X- fprintf(stderr, "usage:\n"); X- fprintf(stderr, " -display <display name>\n"); X- fprintf(stderr, " -r update rate in milliseconds (default:100)\n"); X- fprintf(stderr, "\n"); X+void X+usage(void) X+{ X+ fprintf(stderr, "\rwmwave 0.4 - by Bruce M Simpson <bms@spc.org> et al. \n"); X+ fprintf(stderr, "usage:\n"); X+ fprintf(stderr, " -display <display name>\n"); X+ fprintf(stderr, " -i interface to use (default to wi0)\n"); X+ fprintf(stderr, " -r update rate in milliseconds (default:100)\n"); X+ fprintf(stderr, "\n"); X } X X /* X * printversion X */ X-void printversion(void) { X- fprintf(stderr, "wmwave v%s\n", WMWAVE_VERSION); X+void X+printversion(void) X+{ X+ fprintf(stderr, "wmwave v%s\n", WMWAVE_VERSION); X } END-of-wmwave/files/patch-ab echo x - wmwave/pkg-descr sed 's/^X//' >wmwave/pkg-descr << 'END-of-wmwave/pkg-descr' XFrom the README on the website: X Xwmwave is dockapp for window maker to display statistical information Xabout a current wireless ethernet connection. The current release is XVersion 0.4. wmwave has been tested under Redhat 5.2 with an Wavelan XSilver WEP/IEEE card from Lucent Technologies. X XI have rewritten the network code for use with Bill Paul's wi(4) Xdriver as it appears in FreeBSD 5.0-CURRENT and 4.4-STABLE. Support Xfor other cards will not be integrated into this GPLed version. X XAuthors: Bruce M Simpson, Carsten Schuermann, Dan Piponi, Dave Clark XWWW: http://www.schuermann.org/~dockapps/ X XBruce Xbms@spc.org END-of-wmwave/pkg-descr echo x - wmwave/distinfo sed 's/^X//' >wmwave/distinfo << 'END-of-wmwave/distinfo' XMD5 (wmwave-0-4.tgz) = 24e985599a85d7165e5905b9d34cd81d END-of-wmwave/distinfo echo x - wmwave/Makefile sed 's/^X//' >wmwave/Makefile << 'END-of-wmwave/Makefile' X# New ports collection makefile for: wmwave X# Date created: 27 December 2001 X# Whom: Bruce M Simpson <bms@spc.org> X# X# $FreeBSD$ X# X XPORTNAME= wmwave XPORTVERSION= 0.4 XCATEGORIES= net XMASTER_SITES= http://www.schuermann.org/~dockapps/dist/ XDISTNAME= wmwave-0-4 XEXTRACT_SUFX= .tgz X XMAINTAINER= bms@spc.org X XWRKSRC= ${WRKDIR}/${PORTNAME} XUSE_XPM= yes X XMAN1= wmwave.1 XMANCOMPRESSED= yes X X# configure is a no-op for this port. Xdo-configure: X X.include <bsd.port.mk> END-of-wmwave/Makefile echo x - wmwave/pkg-comment sed 's/^X//' >wmwave/pkg-comment << 'END-of-wmwave/pkg-comment' XDisplay 802.11 status in the WindowMaker Dock END-of-wmwave/pkg-comment echo x - wmwave/pkg-plist sed 's/^X//' >wmwave/pkg-plist << 'END-of-wmwave/pkg-plist' Xbin/wmwave END-of-wmwave/pkg-plist exit --- wmwave.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011227131958.049D52102C>