On Fri, Dec 27, 2019 at 09:28:34PM -0800, Ryan Freeman wrote:
> On Fri, Dec 27, 2019 at 08:43:47PM -0800, Ryan Freeman wrote:
> > On Sat, Dec 28, 2019 at 03:18:28PM +1100, Jonathan Gray wrote:
> > > On Fri, Dec 27, 2019 at 06:21:35PM -0800, Ryan Freeman wrote:
> > > > On Sat, Dec 28, 2019 at 01:17:33AM +1100, Jonathan Gray wrote:
> > > > > On Tue, Dec 24, 2019 at 08:16:22PM +1100, Jonathan Gray wrote:
> > > > > > On Tue, Dec 24, 2019 at 09:22:27AM +0100, Solene Rapenne wrote:
> > > > > > > Le Tue, 24 Dec 2019 10:46:41 +1100,
> > > > > > > Jonathan Gray <[email protected]> a écrit :
> > > > > > > 
> > > > > > > > On Mon, Dec 23, 2019 at 07:41:32PM +0100, Solene Rapenne wrote:
> > > > > > > > > This patch updates eduke32 to last version and enable playing 
> > > > > > > > > Ion
> > > > > > > > > Fury
> > > > > > > > > 
> > > > > > > > > most of the diff comes from the following thread
> > > > > > > > > https://marc.info/?l=openbsd-misc&m=156907261602397&w=2
> > > > > > > > > 
> > > > > > > > > tested Ion Fury, works fine on an old T400 (smooth if
> > > > > > > > > I disabled sound...) but smooth on a T480, it's really CPU 
> > > > > > > > > intensive
> > > > > > > > > 
> > > > > > > > > duke32 shareware data still works fine out of the box  
> > > > > > > > 
> > > > > > > > This looks mostly fine but why have you dropped base-clang from
> > > > > > > > COMPILER?
> > > > > > > > 
> > > > > > > 
> > > > > > > I forgot to explain why I dropped base-clang, this is because 
> > > > > > > eduke32
> > > > > > > fails with this error:
> > > > > > > 
> > > > > > > ===>  Building for eduke32-2.0.0.8494
> > > > > > > mkdir -p obj/duke3d
> > > > > > > c++ -std=gnu++11 -fno-exceptions -fno-rtti  -fomit-frame-pointer 
> > > > > > > -fno-strict-aliasing -fno-threadsafe-statics -fjump-tables 
> > > > > > > -fno-stack-protector -O2 -pipe -W -Wall -Wextra -Wpointer-arith 
> > > > > > > -Wno-char-subscripts -Wno-missing-braces -Wwrite-strings 
> > > > > > > -Wuninitialized -Wno-attributes -Wno-strict-overflow         
> > > > > > > -Isource/build/include -Isource/mact/include 
> > > > > > > -Isource/audiolib/include -Isource/glad/include 
> > > > > > > -Isource/voidwrap/include -MP -MMD -funsigned-char 
> > > > > > > -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -DNDEBUG -DNOASM 
> > > > > > > -DRENDERTYPESDL=1 -DSTARTUP_WINDOW -DUSE_OPENGL -DPOLYMER 
> > > > > > > -I/usr/local/include -DUSE_LIBVPX -DHAVE_VORBIS -DHAVE_FLAC 
> > > > > > > -DHAVE_XMP -DSDL_TARGET=2 -I/usr/local/include 
> > > > > > > -I/usr/local/include/SDL2 -I/usr/X11R6/include -D_REENTRANT 
> > > > > > > -I/usr/X11R6/include -DHAVE_GTK2 -I/usr/local/include/gtk-2.0 
> > > > > > > -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/pango-1.0 
> > > > > > > -I/usr/local/include/gio-unix-2.0 -I/usr/X11R6/include 
> > > > > > > -I/usr/local/include/cairo -I/usr/local/include/atk-1.0 
> > > > > > > -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include -pthread 
> > > > > > > -I/usr/local/include/fribidi -I/usr/X11R6/include/pixman-1 
> > > > > > > -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz 
> > > > > > > -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include 
> > > > > > > -I/usr/X11R6/include/freetype2  -Isource/duke3d/src -c 
> > > > > > > source/duke3d/src/actors.cpp -o obj/duke3d/actors.o 
> > > > > > > In file included from source/duke3d/src/actors.cpp:25:
> > > > > > > In file included from source/duke3d/src/duke3d.h:134:
> > > > > > > In file included from source/duke3d/src/game.h:34:
> > > > > > > source/duke3d/src/gamevars.h:254:85: error: fallthrough 
> > > > > > > annotation does not directly precede switch label
> > > > > > >         case GAMEVAR_PERPLAYER: iptr = &var.pValues[vm.playerNum 
> > > > > > > & (MAXPLAYERS-1)]; fallthrough__;
> > > > > > >                                                                   
> > > > > > >                   ^
> > > > > > > source/build/include/compat.h:267:25: note: expanded from macro 
> > > > > > > 'fallthrough__'
> > > > > > > #  define fallthrough__ [[fallthrough]]
> > > > > > >                         ^
> > > > > > > 1 error generated.
> > > > > > > gmake: *** [GNUmakefile:1074: obj/duke3d/actors.o] Error 1
> > > > > > > *** Error 2 in . (/home/ports/infrastructure/mk/bsd.port.mk:2890 
> > > > > > > '/home/ports/pobj/eduke32-2.0.0.8494/.build_done')
> > > > > > > *** Error 1 in /usr/ports/games/eduke32 
> > > > > > > (/home/ports/infrastructure/mk/bsd.port.mk:2556 'all')
> > > > > > 
> > > > > > case GAMEVAR_PERACTOR: iptr = &var.pValues[vm.spriteNum & 
> > > > > > (MAXSPRITES-1)]; goto jmp;
> > > > > > case GAMEVAR_PERPLAYER: iptr = &var.pValues[vm.playerNum & 
> > > > > > (MAXPLAYERS-1)]; fallthrough__;
> > > > > > jmp: default: *iptr = libdivide_s32_do(*iptr, dptr); break;
> > > > > > 
> > > > > > it should be enough to change this to
> > > > > > 
> > > > > > default: jmp: ...
> > > > > 
> > > > > eduke32 rev 8495 and later has this change.
> > > > > 
> > > > 
> > > > Thanks Jonathan,  I built the port with that change cherry-picked, plus 
> > > > base-clang
> > > > re-added to the COMPILERS line.  I hit this error:
> > > > 
> > > > c++ -std=gnu++11 -fno-exceptions -fno-rtti  -fomit-frame-pointer 
> > > > -fno-strict-aliasing -fno-threadsafe-statics -fjump-tables 
> > > > -fno-stack-protector -O2 -pipe -W -Wall -Wextra -Wpointer-arith 
> > > > -Wno-char-subscripts -Wno-missing-braces -Wwrite-strings 
> > > > -Wuninitialized -Wno-attributes -Wno-strict-overflow         
> > > > -Isource/build/include -Isource/mact/include -Isource/audiolib/include 
> > > > -Isource/glad/include -Isource/voidwrap/include -MP -MMD 
> > > > -funsigned-char -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -DNDEBUG -DNOASM 
> > > > -DRENDERTYPESDL=1 -DSTARTUP_WINDOW -DUSE_OPENGL -DPOLYMER 
> > > > -I/usr/local/include -DUSE_LIBVPX -DHAVE_VORBIS -DHAVE_FLAC -DHAVE_XMP 
> > > > -DSDL_TARGET=2 -I/usr/local/include -I/usr/local/include/SDL2 
> > > > -I/usr/X11R6/include -D_REENTRANT -I/usr/X11R6/include -DHAVE_GTK2 
> > > > -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include 
> > > > -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0 
> > > > -I/usr/X11R6/include -I/usr/local/include/cairo 
> > > > -I/usr/local/include/atk-1.0 -I/usr/local/include/gdk-pixbuf-2.0 
> > > > -I/usr/local/include -pthread -I/usr/local/include/fribidi 
> > > > -I/usr/X11R6/include/pixman-1 -I/usr/local/include/libpng16 
> > > > -I/usr/local/include/harfbuzz -I/usr/local/include/glib-2.0 
> > > > -I/usr/local/lib/glib-2.0/include -I/usr/X11R6/include/freetype2  
> > > > -DHAVE_ROUND -DLIBXMP_CORE_PLAYER -DBUILDING_STATIC 
> > > > -Isource/libxmp-lite/include/libxmp-lite -Wno-unused-parameter 
> > > > -Wno-sign-compare -c source/libxmp-lite/src/common.c -o 
> > > > obj/libxmp-lite/common.o 
> > > > c++: warning: treating 'c' input as 'c++' when in C++ mode, this 
> > > > behavior is deprecated [-Wdeprecated]
> > > > source/libxmp-lite/src/common.c:70:55: error: invalid application of 
> > > > 'sizeof' to an incomplete type 'struct xmp_subinstrument'
> > > >         mod->xxi[i].sub = (struct xmp_subinstrument *)calloc(sizeof 
> > > > (struct xmp_subinstrument), num);
> > > >                                                              ^      
> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > > source/libxmp-lite/src/common.c:70:28: note: forward declaration of 
> > > > 'xmp_subinstrument'
> > > >         mod->xxi[i].sub = (struct xmp_subinstrument *)calloc(sizeof 
> > > > (struct xmp_subinstrument), num);
> > > >                                   ^
> > > > 1 error generated.
> > > > gmake: *** [GNUmakefile:1074: obj/libxmp-lite/common.o] Error 1
> > > > *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2890 
> > > > '/usr/ports/pobj/eduke32-2.0.0.8494/.build_done')
> > > > *** Error 1 in /usr/ports/games/eduke32 
> > > > (/usr/ports/infrastructure/mk/bsd.port.mk:2556 'all')
> > > > 
> > > > 
> > > > It seems this is due to me having libxmp installed.  Removing it allows 
> > > > the
> > > > build to complete.  I spent hours trying to figure out a way to make 
> > > > libxmplite
> > > > play nice when libxmp package is installed, but the Makefile for 
> > > > eduke32 sure
> > > > doesn't make it easy.  Most (all?) of the files get built with loops 
> > > > that
> > > > share the same dependency arguments as everything else, so finding a 
> > > > way to
> > > > remove '-I/usr/local/include' just ends up breaking other stuff.
> > > > 
> > > > Trying to use HAVE_XMP=0 to disable it doesn't work either, as it seems 
> > > > it
> > > > is now deep enough in audiolib there is no more off switch for that.
> > > > 
> > > > As of now I am unsure of how to proceed, but I don't think this update 
> > > > can
> > > > go in if it breaks dpb...
> > > 
> > > both the local and ports xmp.h headers have
> > > 
> > > #ifndef XMP_H
> > > #define XMP_H
> > > ...
> > > 
> > > So it is enough to make sure the local xmp.h is first in the include
> > > search order.
> > 
> > You're a wizard, Jonathan. =)
> > 
> > I came back to it after cooling off, and some gentle nudging by brynet@.
> > I tried to get it to use the ports version of libxmp again.
> > 
> > Well, it worked.  At this point I don't know which is preferred, I am ok
> > with whatever the ports gods want.  Here is a patch that makes it use
> > the libxmp package.
> 
> Oof, all that and forget to update WANTLIB markers.
> 
> Fixed, and along the way noticed that lib-depends-check says we don't need
> SDL2_mixer anymore here.  Despite the eduke32 wiki stating it is a dep,
> the commit log has some tidbits that would suggest it has indeed been nixed.
> 
> http://svn.eduke32.com/log.php?repname=eduke32&path=%2F&isdir=1&sr=8525&er=1&max=8500&search=sdl_mixer&all=1
> 
> Grepping the tree for SDL2_mixer only pulls up a couple refs in an XCode
> project file, and some old Windows build instructions.txt 
> 
> Here is a patch based on the last one using ports libxmp with updated
> WANTLIB and LIB_DEPENDS lines.

That looks better. ok jsg@

BUILDING_STATIC is only relevant to _WIN32 in xmp.h so it shouldn't
matter for us if it is left defined.

`$(PKG_CONFIG) libxmp --cflags` instead of
`$(PKG_CONFIG) --cflags libxmp` looks odd but seems to still work.

> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.22
> diff -u -p -r1.22 Makefile
> --- Makefile  14 Jul 2019 02:16:51 -0000      1.22
> +++ Makefile  28 Dec 2019 05:26:03 -0000
> @@ -1,15 +1,14 @@
>  # $OpenBSD: Makefile,v 1.22 2019/07/14 02:16:51 naddy Exp $
>  
>  COMMENT =    Enhanced Duke Nukem 3D engine
> -RDATE =              20171105
> -RTAG =               6496
> +RDATE =              20191222
> +RTAG =               8494
>  DISTNAME =   eduke32_src_${RDATE}-${RTAG}
>  PKGNAME =    eduke32-2.0.0.${RTAG}
> -REVISION =   3
>  EXTRACT_SUFX =       .tar.xz
>  CATEGORIES = games x11
>  
> -HOMEPAGE =   http://www.eduke32.com/
> +HOMEPAGE =   https://www.eduke32.com/
>  
>  MAINTAINER = Ryan Freeman <[email protected]>
>  
> @@ -20,14 +19,14 @@ PERMIT_DISTFILES =  "BUILD engine licens
>  BUILD_DEPENDS = archivers/unzip \
>               graphics/gdk-pixbuf2
>  
> -WANTLIB += c m ogg pthread vorbis vorbisfile vpx lz4
> -WANTLIB += SDL2 SDL2_mixer FLAC execinfo ${COMPILER_LIBCXX}
> +WANTLIB += c m ogg pthread vorbis vorbisfile vpx lz4 xmp
> +WANTLIB += SDL2 FLAC execinfo ${COMPILER_LIBCXX}
>  
>  LIB_DEPENDS =        archivers/lz4 \
> +             audio/libxmp \
>               audio/libvorbis \
>               audio/flac \
>               devel/sdl2 \
> -             devel/sdl2-mixer \
>               devel/libexecinfo \
>               multimedia/libvpx
>  
> @@ -37,7 +36,7 @@ WANTLIB +=  gtk-x11-2.0
>  
>  RUN_DEPENDS =        games/duke3ddata
>  
> -MASTER_SITES =       
> http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
> +MASTER_SITES =       
> https://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
>  
>  COMPILER =   base-clang ports-gcc
>  
> @@ -47,7 +46,6 @@ MAKE_FLAGS +=       PRETTY_OUTPUT=0 \
>               CXX="${CXX}" \
>               STRIP=true \
>               PACKAGE_REPOSITORY=1 \
> -             HAVE_XMP=0 \
>               NOASM=1
>  MAKE_FILE =  GNUmakefile
>  USE_GMAKE =  Yes
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- distinfo  22 Nov 2017 03:43:46 -0000      1.4
> +++ distinfo  28 Dec 2019 05:26:03 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (eduke32_src_20171105-6496.tar.xz) = 
> 1+MCe1npolXkOvGK6Jtk+THxlaIL9kwoTLKYpdkMPrI=
> -SIZE (eduke32_src_20171105-6496.tar.xz) = 14351444
> +SHA256 (eduke32_src_20191222-8494.tar.xz) = 
> RaI1M725fVdITdOus9lSZQQspn1R/PfxFpUugWTOcww=
> +SIZE (eduke32_src_20191222-8494.tar.xz) = 15951736
> Index: patches/patch-Common_mak
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/patches/patch-Common_mak,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-Common_mak
> --- patches/patch-Common_mak  22 Nov 2017 03:43:46 -0000      1.1
> +++ patches/patch-Common_mak  28 Dec 2019 05:26:03 -0000
> @@ -3,7 +3,7 @@ $OpenBSD: patch-Common_mak,v 1.1 2017/11
>  Index: Common.mak
>  --- Common.mak.orig
>  +++ Common.mak
> -@@ -638,7 +638,7 @@ ifeq (0,$(RELEASE))
> +@@ -710,7 +710,7 @@ ifeq (0,$(RELEASE))
>       F_NO_STACK_PROTECTOR :=
>   else
>       ifeq (0,$(CLANG))
> @@ -11,4 +11,4 @@ Index: Common.mak
>  +        #COMMONFLAGS += -funswitch-loops
>       endif
>   
> -     ifeq (0,$(DEBUGANYWAY))
> +     ifeq (0,$(FORCEDEBUG))
> Index: patches/patch-GNUmakefile
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/patches/patch-GNUmakefile,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-GNUmakefile
> --- patches/patch-GNUmakefile 17 Jul 2018 07:56:44 -0000      1.2
> +++ patches/patch-GNUmakefile 28 Dec 2019 05:26:03 -0000
> @@ -3,29 +3,55 @@ $OpenBSD: patch-GNUmakefile,v 1.2 2018/0
>  Index: GNUmakefile
>  --- GNUmakefile.orig
>  +++ GNUmakefile
> -@@ -161,7 +161,6 @@ engine_objs := \
> -     textfont.cpp \
> -     smalltextfont.cpp \
> +@@ -240,7 +240,6 @@ engine_objs := \
> +     hightile.cpp \
> +     klzw.cpp \
>       kplib.cpp \
>  -    lz4.c \
> -     osd.cpp \
> -     pragmas.cpp \
> -     scriptfile.cpp \
> -@@ -581,7 +580,7 @@ ifeq ($(SUBPLATFORM),LINUX)
> +     md4.cpp \
> +     mhk.cpp \
> +     miniz.c \
> +@@ -403,8 +402,8 @@ ifeq ($(RENDERTYPE),SDL)
> + endif
> + 
> + ifneq (0,$(HAVE_XMP))
> +-    audiolib_cflags += -I$(libxmplite_inc)
> +-    audiolib_deps += libxmplite
> ++    audiolib_cflags += `$(PKG_CONFIG) libxmp --cflags`
> ++    audiolib_deps += 
> + endif
> + 
> + 
> +@@ -684,7 +683,7 @@ ifeq ($(SUBPLATFORM),LINUX)
>   endif
>   
>   ifeq ($(PLATFORM),BSD)
>  -    LIBS += -lFLAC -lvorbisfile -lvorbis -logg -lexecinfo
> -+    LIBS += -lFLAC -lvorbisfile -lvorbis -logg -lexecinfo -llz4
> ++    LIBS += -lFLAC -lvorbisfile -lvorbis -logg -lexecinfo -llz4 -lxmp
>   endif
>   
>   ifeq ($(PLATFORM),DARWIN)
> -@@ -755,7 +754,7 @@ endif
> +@@ -851,13 +850,14 @@ endif
>   
>   #### Final setup
>   
> --COMPILERFLAGS += -I$(engine_inc) -I$(mact_inc) -I$(audiolib_inc) 
> -I$(enet_inc)
> -+COMPILERFLAGS := -I$(engine_inc) -I$(mact_inc) -I$(audiolib_inc) 
> -I$(enet_inc) $(COMPILERFLAGS)
> - 
> - 
> - ##### Recipes
> +-COMPILERFLAGS += \
> ++COMPILERFLAGS := \
> +     -I$(engine_inc) \
> +     -I$(mact_inc) \
> +     -I$(audiolib_inc) \
> +     -I$(glad_inc) \
> +     -I$(voidwrap_inc) \
> +     -MP -MMD \
> ++    $(COMPILERFLAGS)
> + 
> + ifneq (0,$(USE_PHYSFS))
> +     COMPILERFLAGS += -I$(physfs_inc) -DUSE_PHYSFS
> +@@ -875,7 +875,6 @@ libraries := \
> +     audiolib \
> +     engine \
> +     glad \
> +-    libxmplite \
> +     lpeg \
> +     mact \
> +     voidwrap \
> Index: patches/patch-source_audiolib_src_multivoc_cpp
> ===================================================================
> RCS file: patches/patch-source_audiolib_src_multivoc_cpp
> diff -N patches/patch-source_audiolib_src_multivoc_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-source_audiolib_src_multivoc_cpp    28 Dec 2019 05:26:03 
> -0000
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +use packaged libxmp instead of bundled libxmp-lite, works around
> +build issue when libxmp package is installed
> +
> +Index: source/audiolib/src/multivoc.cpp
> +--- source/audiolib/src/multivoc.cpp.orig
> ++++ source/audiolib/src/multivoc.cpp
> +@@ -45,7 +45,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Bos
> + 
> + #ifdef HAVE_XMP
> + # define BUILDING_STATIC
> +-# include "libxmp-lite/xmp.h"
> ++# include <xmp.h>
> + 
> + int MV_XMPInterpolation = XMP_INTERP_SPLINE;
> + #endif
> Index: patches/patch-source_audiolib_src_xmp_cpp
> ===================================================================
> RCS file: patches/patch-source_audiolib_src_xmp_cpp
> diff -N patches/patch-source_audiolib_src_xmp_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-source_audiolib_src_xmp_cpp 28 Dec 2019 05:26:03 -0000
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +use packaged libxmp instead of bundled libxmp-lite, works around
> +build issue when libxmp package is installed
> +
> +Index: source/audiolib/src/xmp.cpp
> +--- source/audiolib/src/xmp.cpp.orig
> ++++ source/audiolib/src/xmp.cpp
> +@@ -9,7 +9,7 @@
> + #include "pragmas.h"
> + 
> + #define BUILDING_STATIC
> +-#include "libxmp-lite/xmp.h"
> ++#include <xmp.h>
> + 
> + typedef struct {
> +     void * ptr;
> Index: patches/patch-source_build_Dependencies_mak
> ===================================================================
> RCS file: 
> /cvs/ports/games/eduke32/patches/patch-source_build_Dependencies_mak,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-source_build_Dependencies_mak
> --- patches/patch-source_build_Dependencies_mak       22 Nov 2017 03:43:46 
> -0000      1.1
> +++ patches/patch-source_build_Dependencies_mak       28 Dec 2019 05:26:03 
> -0000
> @@ -1,22 +0,0 @@
> -$OpenBSD: patch-source_build_Dependencies_mak,v 1.1 2017/11/22 03:43:46 
> kirby Exp $
> -
> -Index: source/build/Dependencies.mak
> ---- source/build/Dependencies.mak.orig
> -+++ source/build/Dependencies.mak
> -@@ -19,7 +19,7 @@ $(ENGINE_OBJ)/hash.$o: $(ENGINE_SRC)/hash.cpp $(ENGINE
> - $(ENGINE_OBJ)/colmatch.$o: $(ENGINE_SRC)/colmatch.cpp
> - $(ENGINE_OBJ)/mhk.$o: $(ENGINE_SRC)/mhk.cpp
> - $(ENGINE_OBJ)/palette.$o: $(ENGINE_SRC)/palette.cpp $(ENGINE_INC)/palette.h
> --$(ENGINE_OBJ)/polymost.$o: $(ENGINE_SRC)/polymost.cpp $(ENGINE_INC)/lz4.h 
> $(ENGINE_INC)/compat.h $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h 
> $(ENGINE_SRC)/engine_priv.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/hightile.h 
> $(ENGINE_INC)/mdsprite.h $(ENGINE_INC)/texcache.h
> -+$(ENGINE_OBJ)/polymost.$o: $(ENGINE_SRC)/polymost.cpp 
> $(ENGINE_INC)/compat.h $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h 
> $(ENGINE_SRC)/engine_priv.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/hightile.h 
> $(ENGINE_INC)/mdsprite.h $(ENGINE_INC)/texcache.h
> - $(ENGINE_OBJ)/texcache.$o: $(ENGINE_SRC)/texcache.cpp 
> $(ENGINE_INC)/texcache.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/dxtfilter.h 
> $(ENGINE_INC)/kplib.h
> - $(ENGINE_OBJ)/dxtfilter.$o: $(ENGINE_SRC)/dxtfilter.cpp 
> $(ENGINE_INC)/dxtfilter.h $(ENGINE_INC)/texcache.h
> - $(ENGINE_OBJ)/hightile.$o: $(ENGINE_SRC)/hightile.cpp $(ENGINE_INC)/kplib.h 
> $(ENGINE_INC)/hightile.h
> -@@ -29,7 +29,6 @@ $(ENGINE_OBJ)/textfont.$o: $(ENGINE_SRC)/textfont.cpp
> - $(ENGINE_OBJ)/smalltextfont.$o: $(ENGINE_SRC)/smalltextfont.cpp
> - $(ENGINE_OBJ)/glbuild.$o: $(ENGINE_SRC)/glbuild.cpp $(ENGINE_INC)/glbuild.h 
> $(ENGINE_INC)/baselayer.h
> - $(ENGINE_OBJ)/kplib.$o: $(ENGINE_SRC)/kplib.cpp $(ENGINE_INC)/compat.h 
> $(ENGINE_INC)/kplib.h
> --$(ENGINE_OBJ)/lz4.$o: $(ENGINE_SRC)/lz4.c $(ENGINE_INC)/lz4.h
> - $(ENGINE_OBJ)/md4.$o: $(ENGINE_SRC)/md4.cpp $(ENGINE_INC)/md4.h
> - $(ENGINE_OBJ)/osd.$o: $(ENGINE_SRC)/osd.cpp $(ENGINE_INC)/build.h 
> $(ENGINE_INC)/buildtypes.h $(ENGINE_INC)/osd.h $(ENGINE_INC)/compat.h 
> $(ENGINE_INC)/baselayer.h
> - $(ENGINE_OBJ)/pragmas.$o: $(ENGINE_SRC)/pragmas.cpp $(ENGINE_INC)/compat.h
> Index: patches/patch-source_build_include_compat_h
> ===================================================================
> RCS file: 
> /cvs/ports/games/eduke32/patches/patch-source_build_include_compat_h,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-source_build_include_compat_h
> --- patches/patch-source_build_include_compat_h       10 Jul 2018 13:53:29 
> -0000      1.1
> +++ patches/patch-source_build_include_compat_h       28 Dec 2019 05:26:03 
> -0000
> @@ -1,18 +0,0 @@
> -$OpenBSD: patch-source_build_include_compat_h,v 1.1 2018/07/10 13:53:29 
> naddy Exp $
> -
> -Cast to int32_t to match the return type of the SSE2-optimized function
> -on amd64.  This fixes errors on other LP64-clang archs:
> -non-constant-expression cannot be narrowed from type 'long' to 'int32_t'
> -
> -Index: source/build/include/compat.h
> ---- source/build/include/compat.h.orig
> -+++ source/build/include/compat.h
> -@@ -606,7 +606,7 @@ static FORCE_INLINE int32_t Blrintf(const float x)
> -     return n;
> - }
> - #else
> --#define Blrintf lrintf
> -+#define Blrintf(x) static_cast<int32_t>(lrintf(x))
> - #endif
> - 
> - #if defined(__arm__)
> Index: patches/patch-source_duke3d_src_gamevars_h
> ===================================================================
> RCS file: patches/patch-source_duke3d_src_gamevars_h
> diff -N patches/patch-source_duke3d_src_gamevars_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-source_duke3d_src_gamevars_h        28 Dec 2019 05:26:03 
> -0000
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +fix clang build
> +http://svn.eduke32.com/comp.php?repname=eduke32&compare[]=/@8494&compare[]=/@8495
> +
> +Index: source/duke3d/src/gamevars.h
> +--- source/duke3d/src/gamevars.h.orig
> ++++ source/duke3d/src/gamevars.h
> +@@ -252,7 +252,7 @@ static FORCE_INLINE void __fastcall Gv_DivVar(int cons
> +     {
> +         case GAMEVAR_PERACTOR: iptr = &var.pValues[vm.spriteNum & 
> (MAXSPRITES-1)]; goto jmp;
> +         case GAMEVAR_PERPLAYER: iptr = &var.pValues[vm.playerNum & 
> (MAXPLAYERS-1)]; fallthrough__;
> +-        jmp: default: *iptr = libdivide_s32_do(*iptr, dptr); break;
> ++        default: jmp: *iptr = libdivide_s32_do(*iptr, dptr); break;
> + 
> +         case GAMEVAR_INT32PTR:
> +         {
> Index: pkg/DESCR
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/pkg/DESCR,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 DESCR
> --- pkg/DESCR 17 Jul 2012 21:29:50 -0000      1.1.1.1
> +++ pkg/DESCR 28 Dec 2019 05:26:03 -0000
> @@ -2,16 +2,17 @@ Source-port of the venerable Duke Nukem 
>  game engine. Besides increasing portability, the engine adds new
>  renderers, in-game configurability, console, plus extended editing and
>  scripting capabilities. Networking for dukematches and coop play is
> -fully functional. 
> +fully functional.
>  
>  The engine supports the following games:
> -(from http://wiki.eduke32.com/wiki/Frequently_Asked_Questions)
> +(from https://wiki.eduke32.com/wiki/Frequently_Asked_Questions)
>  * Duke Nukem 3D Shareware Version
>  * Duke Nukem 3D
>  * Duke Nukem 3D: Atomic Edition
> +* Ion Fury
>  * NAM (Note: you must rename GAME.CON from NAM to NAM.CON)
> -* Napalm (Wal-Mart only version of NAM, some .GRP differences between 
> +* Napalm (Wal-Mart only version of NAM, some .GRP differences between
>    the two releases)
> -* WWII GI (Limited Support using NAM mode as a base) 
> +* WWII GI (Limited Support using NAM mode as a base)
>  
> -"EDuke32 makes sandwiches!" 
> +"EDuke32 makes sandwiches!"
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/pkg/PLIST,v
> retrieving revision 1.4
> diff -u -p -r1.4 PLIST
> --- pkg/PLIST 4 Sep 2018 12:46:12 -0000       1.4
> +++ pkg/PLIST 28 Dec 2019 05:26:03 -0000
> @@ -5,6 +5,7 @@ share/doc/eduke32/
>  share/doc/eduke32/buildlic.txt
>  share/doc/eduke32/gpl-2.0.txt
>  share/doc/pkg-readmes/${PKGSTEM}
> +share/duke3d/
>  share/duke3d/SEHELP.HLP
>  share/duke3d/STHELP.HLP
>  share/duke3d/m32help.hlp
> Index: pkg/README
> ===================================================================
> RCS file: /cvs/ports/games/eduke32/pkg/README,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 README
> --- pkg/README        17 Jul 2012 21:29:50 -0000      1.1.1.1
> +++ pkg/README        28 Dec 2019 05:26:03 -0000
> @@ -1,9 +1,12 @@
> -Shareware Duke Nukem 3D data has been installed to: 
> +$OpenBSD$
> +
> +Shareware Duke Nukem 3D data has been installed to:
>    ${PREFIX}/share/duke3d/
>  
> -You may also copy your registered version data files (or any other
> -Duke Nukem 3D retail copies, such as the Atomic Edition) to a local
> -directory such as ~/duke3d/, and run eduke32 from within that directory:
> +You may also copy your registered version data files, or any other
> +Duke Nukem 3D retail copies (such as the Atomic Edition) or Ion Fury game
> +files to a local directory such as ~/duke3d/, and run eduke32 from within
> +that directory:
>  
>    % cd ~/duke3d/ && eduke32
>  
> @@ -20,5 +23,5 @@ ${PREFIX}/share/examples/eduke32/
>  
>  Licenses are found under ${PREFIX}/share/doc/eduke32/
>  
> -http://wiki.eduke32.com/ contains a large resource of information on
> +https://wiki.eduke32.com contains a large resource of information on
>  how to make full use of the eduke32 engine and mapster32 editor.
> 

Reply via email to