Here is a small patch to get meteor_fgrab_widget_0.8 framegrabber widget
working with Tcl/Tk 8.0 on Linux RedHat 6.1.

With this, I have it working.  The colors are a bit strange, but I
guess that is a local problem. :-)

diff -ru meteor_fgrab_widget_0.8/Makefile meteor_fgrab_widget_0.8-pere/Makefile
--- meteor_fgrab_widget_0.8/Makefile	Mon Feb 10 22:54:51 1997
+++ meteor_fgrab_widget_0.8-pere/Makefile	Tue Dec 14 14:27:05 1999
@@ -9,7 +9,7 @@
 fgrab_wish: fgrab_tkAppInit.o fgrab_meteor.o
 	cc -o fgrab_wish-$(VERSION) fgrab_tkAppInit.o $(FGRAB_METEOR).o\
 	-L/usr/X11R6/lib\
-	-ltk4.1 -ltcl7.5 -lXext -lX11 -lm -ldl
+	-ltk8.0 -ltcl8.0 -lXext -lX11 -lm -ldl
 fgrab_tkAppInit.o: fgrab_tkAppInit.c; cc -c -g fgrab_tkAppInit.c
 fgrab_meteor.o:    $(FGRAB_METEOR).c;
 	 cc -D$(FORMAT) -D$(DEVICE) -D$(BOARD) -c -g $(FGRAB_METEOR).c
diff -ru meteor_fgrab_widget_0.8/fgrab_meteor-0.8.c meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.c
--- meteor_fgrab_widget_0.8/fgrab_meteor-0.8.c	Mon Feb 10 23:22:16 1997
+++ meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.c	Tue Dec 14 14:43:25 1999
@@ -55,18 +55,8 @@
 static struct meteor_geomet geo;
 static struct meteor_frame_offset off;
 
-
-
-static struct sigaction sigact = 
-((struct sigaction){ sa_handler: FGrabGotFrame,
-		     sa_mask: (sigset_t)0,
-		     sa_flags: SA_RESTART });
-
-static struct sigaction sigalrm = 
-((struct sigaction){ sa_handler: FGrabCountFrame,
-		     sa_mask: (sigset_t)SIGUSR2,
-		     sa_flags: SA_RESTART });
-
+static struct sigaction sigact;
+static struct sigaction sigalrm;
 
 static void FGrabCountFrame( int signum ) {
 
@@ -953,6 +943,12 @@
       if (!(FGrabReg & FPSCOUNT)) { 
 	FGrabReg |= FPSCOUNT;
 	/* hier muß noch der alte Wert von Sigaction gespeichert werden !! */
+
+	sigalrm.sa_handler = FGrabCountFrame;
+	sigalrm.sa_flags = SA_RESTART;
+	sigemptyset(&sigalrm.sa_mask);
+	sigaddset(&sigalrm.sa_mask, SIGUSR2);
+
 	if (sigaction (SIGALRM, &sigalrm, NULL)) {
 	  Tcl_AppendResult (interp, "alrmaction failed", (char *) NULL);
 	  return TCL_ERROR;
@@ -1012,6 +1008,9 @@
     geo.frames = NOFRAMES;
     geo.oformat = fgrabPtr->video.oformat | fgrabPtr->fieldmode;
 
+    sigact.sa_handler = FGrabGotFrame; 
+    sigact.sa_flags = SA_RESTART;
+    sigemptyset(&sigact.sa_mask);
     if (sigaction (SIGUSR2, &sigact, NULL)) {
       Tcl_AppendResult (interp, "sigaction failed", (char *) NULL);
       return TCL_ERROR;
Only in meteor_fgrab_widget_0.8-pere: fgrab_meteor-0.8.c~
diff -ru meteor_fgrab_widget_0.8/fgrab_meteor-0.8.h meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.h
--- meteor_fgrab_widget_0.8/fgrab_meteor-0.8.h	Mon Feb 10 22:53:23 1997
+++ meteor_fgrab_widget_0.8-pere/fgrab_meteor-0.8.h	Tue Dec 14 13:59:54 1999
@@ -28,6 +28,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <signal.h>
 
 #include <sys/types.h>
 #include <sys/mman.h>
@@ -37,7 +38,10 @@
 #include <sys/resource.h>
 #include <sys/shm.h>
 
+/* Does not compile on newer glibc */
+#if 0
 #include <linux/mm.h>
+#endif
 
 #include <X11/Intrinsic.h>
 #include <X11/StringDefs.h>
Only in meteor_fgrab_widget_0.8-pere: fgrab_meteor-0.8.o
Only in meteor_fgrab_widget_0.8-pere: fgrab_tkAppInit.o
Binary files meteor_fgrab_widget_0.8/fgrab_wish-0.8 and meteor_fgrab_widget_0.8-pere/fgrab_wish-0.8 differ
Only in meteor_fgrab_widget_0.8-pere: meteor_fgrab_widget_0.8.lsm
