On Thu, Feb 25, 2021 at 07:53:36PM -0800, Greg Steuck wrote:
> Theo Buehler <[email protected]> writes:
>
> > The diff below fixes the build of this port.
> >
> > However, it only partly works for me. It draws a nice albeit minuscule
> > Mandelbrot set. As soon as I hover with the mouse over the window, it
> > exits with this error:
> >
> > X Error of failed request: BadMatch (invalid parameter attributes)
> > Major opcode of failed request: 42 (X_SetInputFocus)
> > Serial number of failed request: 384
> > Current serial number in output stream: 384
>
> If you want to go to sourceforge for an upgrade/fix, there's a teenage
> version from 14 years ago: https://sourceforge.net/p/wmmand/news/
Thanks. This version has that bug fixed and works perfectly fine for me.
It now uses ImageMagick's display command instead of xv.
Index: Makefile
===================================================================
RCS file: /cvs/ports/misc/wmmand/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 12 Jul 2019 20:47:55 -0000 1.19
+++ Makefile 26 Feb 2021 06:04:53 -0000
@@ -2,27 +2,29 @@
COMMENT= wm-dockapp; mandelbrot explorer
-DISTNAME= wmMand-1.0
+DISTNAME= wmMand-1.3.2
PKGNAME= ${DISTNAME:L}
-REVISION= 2
CATEGORIES= misc x11 x11/windowmaker
-HOMEPAGE= http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml
+HOMEPAGE= https://sourceforge.net/p/wmmand/news/
# GPL
PERMIT_PACKAGE= Yes
-WANTLIB= X11 Xext Xpm c xcb
+WANTLIB= X11 Xext Xpm c
-MASTER_SITES= http://nis-www.lanl.gov/~mgh/WindowMaker/
-
-RUN_DEPENDS= graphics/xv
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=wmmand/}
+EXTRACT_SUFX= .tar.bz2
+RUN_DEPENDS= graphics/ImageMagick
NO_TEST= Yes
WRKSRC= ${WRKDIST}/wmMand
ALL_TARGET= clean all
+
+post-extract:
+ @cd ${WRKSRC} && gunzip wmMand.6.gz
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/misc/wmmand/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo 18 Jan 2015 03:14:33 -0000 1.4
+++ distinfo 26 Feb 2021 05:25:32 -0000
@@ -1,2 +1,2 @@
-SHA256 (wmMand-1.0.tar.gz) = SiPMZvEZCA0dYkDpn4eCLYLTd38bDvCoG05aBlsAeis=
-SIZE (wmMand-1.0.tar.gz) = 66466
+SHA256 (wmMand-1.3.2.tar.bz2) = wSEn6LwLDXDD+6q68dbiMixnOp4AGrREiATnoNObz+o=
+SIZE (wmMand-1.3.2.tar.bz2) = 41268
Index: patches/patch-wmMand_Makefile
===================================================================
RCS file: /cvs/ports/misc/wmmand/patches/patch-wmMand_Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-wmMand_Makefile
--- patches/patch-wmMand_Makefile 30 Mar 2001 15:17:51 -0000 1.1.1.1
+++ patches/patch-wmMand_Makefile 26 Feb 2021 05:54:06 -0000
@@ -1,21 +1,22 @@
$OpenBSD: patch-wmMand_Makefile,v 1.1.1.1 2001/03/30 15:17:51 wilfried Exp $
---- wmMand/Makefile.orig Mon Feb 15 17:43:51 1999
-+++ wmMand/Makefile Fri Mar 30 16:17:59 2001
+Index: wmMand/Makefile
+--- wmMand/Makefile.orig
++++ wmMand/Makefile
@@ -1,8 +1,8 @@
-CC = gcc
-CFLAGS = -O2 -Wall
-INCDIR = -I/usr/X11R6/include/X11
--DESTDIR= /usr/X11R6
+-DESTDIR= /usr/local
-LIBDIR = -L/usr/X11R6/lib
+#CC = gcc
+#CFLAGS = -O2 -Wall
+INCDIR = -I${X11BASE}/include
-+#DESTDIR= /usr/X11R6
++#DESTDIR= /usr/local
+LIBDIR = -L${X11BASE}/lib
# for linux
LIBS = -lXpm -lX11 -lXext
# for Solaris
-@@ -12,14 +12,14 @@ OBJS = wmMand.o \
+@@ -12,7 +12,7 @@ OBJS = wmMand.o \
.c.o:
@@ -24,20 +25,15 @@ $OpenBSD: patch-wmMand_Makefile,v 1.1.1.
all: wmMand.o wmMand
-
- wmMand.o: wmMand_master.xpm wmMand_mask.xbm
- wmMand: $(OBJS)
-- $(CC) $(CFLAGS) $(SYSTEM) -o wmMand $^ $(INCDIR) $(LIBDIR) $(LIBS)
-+ $(CC) $(CFLAGS) $(SYSTEM) -o wmMand $(OBJS) $(LIBDIR) $(LIBS)
-
- clean:
- for i in $(OBJS) ; do \
-@@ -28,6 +28,6 @@ clean:
+@@ -28,9 +28,5 @@ clean:
rm -f wmMand
install:: wmMand
+- install -d $(DESTDIR)
+- install -d $(DESTDIR)/man/man6
+- install -d $(DESTDIR)/share/pixmaps
- install -s -m 0755 wmMand $(DESTDIR)/bin
-- install -m 0644 wmMand.1 $(DESTDIR)/man/man1
+- install -m 0644 wmMand.6.gz $(DESTDIR)/man/man6
+- install -m 0644 wmMand.png $(DESTDIR)/share/pixmaps
+ ${BSD_INSTALL_PROGRAM} wmMand $(PREFIX)/bin
-+ ${BSD_INSTALL_MAN} wmMand.1 $(PREFIX)/man/man1
-
++ ${BSD_INSTALL_MAN} wmMand.6 $(PREFIX)/man/man6
Index: patches/patch-wmMand_wmMand_c
===================================================================
RCS file: /cvs/ports/misc/wmmand/patches/patch-wmMand_wmMand_c,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-wmMand_wmMand_c
--- patches/patch-wmMand_wmMand_c 30 Mar 2001 15:17:51 -0000 1.1.1.1
+++ patches/patch-wmMand_wmMand_c 26 Feb 2021 05:38:54 -0000
@@ -1,24 +1,14 @@
-$OpenBSD: patch-wmMand_wmMand_c,v 1.1.1.1 2001/03/30 15:17:51 wilfried Exp $
---- wmMand/wmMand.c.orig Mon Feb 15 17:30:27 1999
-+++ wmMand/wmMand.c Fri Mar 30 16:38:00 2001
-@@ -504,11 +504,16 @@ void ButtonPressEvent(XButtonEvent *xev,
+$OpenBSD$
+
+Index: wmMand/wmMand.c
+--- wmMand/wmMand.c.orig
++++ wmMand/wmMand.c
+@@ -55,8 +55,6 @@
+ #include <X11/X.h>
+ #include <err.h>
- } else if ((xev->x >= 50)&&(xev->x <= 58)){
+-#define XK_LATIN1 1
+-#define XK_MISCELLANY 1
+ #include <X11/keysymdef.h>
-+ char name[FILENAME_MAX];
-+ snprintf(name, sizeof(name), "%s/.wmMand.gif", getenv("HOME"));
- ComputeImage(Center_x, Center_y, 540, 540, Range, BigImage);
-- fp_gif = fopen("/tmp/wmMand.gif", "w");
-- WriteGIF(fp_gif, BigImage, 0, 540, 540, Info->RRR, Info->GGG,
Info->BBB, 256, 0, "");
-- fclose(fp_gif);
-- system("xv /tmp/wmMand.gif &");
-+ if ((fp_gif = fopen(name, "w"))) {
-+ char cmd[FILENAME_MAX];
-+ WriteGIF(fp_gif, BigImage, 0, 540, 540, Info->RRR,
Info->GGG, Info->BBB, 256, 0, "");
-+ fclose(fp_gif);
-+ snprintf(cmd, sizeof(cmd), "xv %s &", name);
-+ system(cmd);
-+ }
-
-
- }
+ #include <X11/xpm.h>
Index: patches/patch-wmMand_xvgifwr_c
===================================================================
RCS file: patches/patch-wmMand_xvgifwr_c
diff -N patches/patch-wmMand_xvgifwr_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-wmMand_xvgifwr_c 26 Feb 2021 05:30:10 -0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+
+Index: wmMand/xvgifwr.c
+--- wmMand/xvgifwr.c.orig
++++ wmMand/xvgifwr.c
+@@ -38,6 +38,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <ctype.h>
+ #include <stddef.h>
+ #include <string.h>
Index: patches/patch-wmgeneral_wmgeneral_c
===================================================================
RCS file: patches/patch-wmgeneral_wmgeneral_c
diff -N patches/patch-wmgeneral_wmgeneral_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-wmgeneral_wmgeneral_c 25 Feb 2021 22:14:15 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: wmgeneral/wmgeneral.c
+--- wmgeneral/wmgeneral.c.orig
++++ wmgeneral/wmgeneral.c
+@@ -34,6 +34,17 @@
+
+ #include "wmgeneral.h"
+
++ /********************/
++ /* Global Variables */
++/********************/
++
++Display *display;
++Window Root;
++int d_depth;
++GC NormalGC;
++XpmIcon wmgen;
++Window iconwin, win;
++
+ /*****************/
+ /* X11 Variables */
+ /*****************/
Index: patches/patch-wmgeneral_wmgeneral_h
===================================================================
RCS file: patches/patch-wmgeneral_wmgeneral_h
diff -N patches/patch-wmgeneral_wmgeneral_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-wmgeneral_wmgeneral_h 25 Feb 2021 22:14:15 -0000
@@ -0,0 +1,24 @@
+$OpenBSD$
+
+Index: wmgeneral/wmgeneral.h
+--- wmgeneral/wmgeneral.h.orig
++++ wmgeneral/wmgeneral.h
+@@ -28,12 +28,12 @@ typedef struct {
+ /* Global variable */
+ /*******************/
+
+-Display *display;
+-Window Root;
+-int d_depth;
+-GC NormalGC;
+-XpmIcon wmgen;
+-Window iconwin, win;
++extern Display *display;
++extern Window Root;
++extern int d_depth;
++extern GC NormalGC;
++extern XpmIcon wmgen;
++extern Window iconwin, win;
+
+
+ /***********************/
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/misc/wmmand/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -r1.2 PLIST
--- pkg/PLIST 15 Sep 2004 17:54:17 -0000 1.2
+++ pkg/PLIST 26 Feb 2021 05:54:33 -0000
@@ -1,3 +1,3 @@
@comment $OpenBSD: PLIST,v 1.2 2004/09/15 17:54:17 espie Exp $
-bin/wmMand
-@man man/man1/wmMand.1
+@bin bin/wmMand
+@man man/man6/wmMand.6