I took this from FreeBSD [0], the runtime is fine on amd64.
OK? Charlène. [0] https://github.com/freebsd/freebsd-ports/commit/9bd2b3e4 Index: Makefile =================================================================== RCS file: /cvs/ports/games/xinvaders/Makefile,v retrieving revision 1.35 diff -u -p -u -p -r1.35 Makefile --- Makefile 14 Jul 2019 00:39:37 -0000 1.35 +++ Makefile 30 Jan 2021 16:32:23 -0000 @@ -3,7 +3,7 @@ COMMENT= shoot them nasty little bugs DISTNAME= xinvaders-2.1.1 -REVISION= 2 +REVISION= 3 CATEGORIES= games PERMIT_PACKAGE= Yes Index: patches/patch-vaders_h =================================================================== RCS file: /cvs/ports/games/xinvaders/patches/patch-vaders_h,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-vaders_h --- patches/patch-vaders_h 27 Aug 2015 15:00:32 -0000 1.2 +++ patches/patch-vaders_h 30 Jan 2021 16:32:23 -0000 @@ -1,6 +1,7 @@ $OpenBSD: patch-vaders_h,v 1.2 2015/08/27 15:00:32 naddy Exp $ ---- vaders.h.orig Mon Sep 11 00:32:40 2000 -+++ vaders.h Tue Aug 25 21:28:01 2015 +Index: vaders.h +--- vaders.h.orig ++++ vaders.h @@ -90,15 +90,82 @@ typedef struct _VadersRec { @@ -86,7 +87,7 @@ $OpenBSD: patch-vaders_h,v 1.2 2015/08/2 ext int level; ext Display *dpy; -@@ -111,30 +178,17 @@ ext int basesleft; +@@ -111,54 +178,31 @@ ext int basesleft; /* Base info: */ @@ -97,7 +98,8 @@ $OpenBSD: patch-vaders_h,v 1.2 2015/08/2 -ext Pixel basepixel; -ext Pixel buildingpixel; - ext Boolean basedestroyed; /* TRUE if the base is non-existant */ +-ext Boolean basedestroyed; /* TRUE if the base is non-existant */ ++extern Boolean basedestroyed; /* TRUE if the base is non-existant */ /* Vader info: */ @@ -116,8 +118,12 @@ $OpenBSD: patch-vaders_h,v 1.2 2015/08/2 - /* moving spacers. */ ext int spacerappear; /* same, but for the interval between appearances */ - ext Boolean spacer_shown; /* Currnet_Spacer is something */ -@@ -144,21 +198,11 @@ ext int spacer_counter; /* number of cycles to create +-ext Boolean spacer_shown; /* Currnet_Spacer is something */ +-ext int spacer_counter; /* number of cycles to create a spacer */ ++extern Boolean spacer_shown; /* Currnet_Spacer is something */ ++extern int spacer_counter; /* number of cycles to create a spacer */ + + /* Shot info. */ ext XtIntervalId shottimerid; ext XtIntervalId vshottimerid; @@ -129,8 +135,10 @@ $OpenBSD: patch-vaders_h,v 1.2 2015/08/2 - /* once. */ -ext int maxvshots; /* How many shots are allowed to exist at */ - /* once. */ - ext int numshots; /* how many shots (from the base) there are right now. */ - ext int numvshots; /* how many shots (from vaders) there are right now. */ +-ext int numshots; /* how many shots (from the base) there are right now. */ +-ext int numvshots; /* how many shots (from vaders) there are right now. */ ++extern int numshots; /* how many shots (from the base) there are right now. */ ++extern int numvshots; /* how many shots (from vaders) there are right now. */ /* Score info */