Re: update games/eduke32 for ion fury compatibility

2019-12-28 Thread Ryan Freeman
On Sat, Dec 28, 2019 at 04:57:37PM +1100, Jonathan Gray wrote:
> 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.

Woops, here is the same patch again, but with pkg-config flags in
expected order.  I am OK with it at this point too.


Index: Makefile
===
RCS file: /cvs/ports/games/eduke32/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile14 Jul 2019 02:16:51 -  1.22
+++ Makefile28 Dec 2019 16:50:37 -
@@ -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 
 
@@ -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
--- distinfo22 Nov 2017 03:43:46 -  1.4
+++ distinfo28 Dec 2019 16:50:37 -
@@ -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_mak22 Nov 2017 03:43:46 -  1.1
+++ patches/patch-Common_mak28 Dec 2019 16:50:37 -
@@ -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 -  1.2
+++ patches/patch-GNUmakefile   28 Dec 2019 16:50:37 -
@@ -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) --cflags libxmp`
++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
++

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Jonathan Gray
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  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=156907261602397=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 = [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 = [vm.spriteNum & 
> > > > > > (MAXSPRITES-1)]; goto jmp;
> > > > > > case GAMEVAR_PERPLAYER: iptr = [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, 

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Ryan Freeman
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  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=156907261602397=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 = [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 = [vm.spriteNum & 
> > > > > (MAXSPRITES-1)]; goto jmp;
> > > > > case GAMEVAR_PERPLAYER: iptr = [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 
> > > 

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Jonathan Gray
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  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=156907261602397=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 = [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 = [vm.spriteNum & 
> > > > > (MAXSPRITES-1)]; goto jmp;
> > > > > case GAMEVAR_PERPLAYER: iptr = [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 
> > > 

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Ryan Freeman
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  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=156907261602397=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 = [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 = [vm.spriteNum & 
> > > > (MAXSPRITES-1)]; goto jmp;
> > > > case GAMEVAR_PERPLAYER: iptr = [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 

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Jonathan Gray
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  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=156907261602397=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 = [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 = [vm.spriteNum & 
> > > (MAXSPRITES-1)]; goto jmp;
> > > case GAMEVAR_PERPLAYER: iptr = [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 

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Ryan Freeman
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  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=156907261602397=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 = [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 = [vm.spriteNum & (MAXSPRITES-1)]; 
> > goto jmp;
> > case GAMEVAR_PERPLAYER: iptr = [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 

Re: update games/eduke32 for ion fury compatibility

2019-12-27 Thread Jonathan Gray
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  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=156907261602397=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 = [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 = [vm.spriteNum & (MAXSPRITES-1)]; 
> goto jmp;
> case GAMEVAR_PERPLAYER: iptr = [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.



Re: update games/eduke32 for ion fury compatibility

2019-12-24 Thread Ryan Freeman
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=156907261602397=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

Thanks for this Solene.  I haven't a chance to look at this until after
Christmas, though.

-Ryan

> 
> Index: Makefile
> ===
> RCS file: /home/cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.22
> diff -u -p -r1.22 Makefile
> --- Makefile  14 Jul 2019 02:16:51 -  1.22
> +++ Makefile  23 Dec 2019 17:41:58 -
> @@ -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 
>  
> @@ -37,9 +36,9 @@ 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
> +COMPILER =   ports-gcc
>  
>  # make sure we can see compilation output, respect CC/CXX, don't strip!
>  MAKE_FLAGS +=PRETTY_OUTPUT=0 \
> @@ -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: /home/cvs/ports/games/eduke32/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- distinfo  22 Nov 2017 03:43:46 -  1.4
> +++ distinfo  23 Dec 2019 17:33:22 -
> @@ -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: /home/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 -  1.1
> +++ patches/patch-Common_mak  23 Dec 2019 17:35:22 -
> @@ -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: /home/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 -  1.2
> +++ patches/patch-GNUmakefile 23 Dec 2019 17:35:27 -
> @@ -3,15 +3,15 @@ $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 \
> +@@ -684,7 +683,7 @@ ifeq ($(SUBPLATFORM),LINUX)
>   endif
>   
>   ifeq ($(PLATFORM),BSD)
> @@ -20,12 +20,19 @@ Index: GNUmakefile
>   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)
> +-COMPILERFLAGS += \
> ++COMPILERFLAGS := \
> + -I$(engine_inc) \
> + -I$(mact_inc) \
> + -I$(audiolib_inc) \
> + -I$(glad_inc) \
> + -I$(voidwrap_inc) 

Re: update games/eduke32 for ion fury compatibility

2019-12-24 Thread Jonathan Gray
On Tue, Dec 24, 2019 at 09:22:27AM +0100, Solene Rapenne wrote:
> Le Tue, 24 Dec 2019 10:46:41 +1100,
> Jonathan Gray  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=156907261602397=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 = [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 = [vm.spriteNum & (MAXSPRITES-1)]; goto 
jmp;
case GAMEVAR_PERPLAYER: iptr = [vm.playerNum & (MAXPLAYERS-1)]; 
fallthrough__;
jmp: default: *iptr = libdivide_s32_do(*iptr, dptr); break;

it should be enough to change this to

default: jmp: ...

[[fallthrough]] requires the next statement to be a case or default
statement.  gcc seems to be less strict.



Re: update games/eduke32 for ion fury compatibility

2019-12-24 Thread Solene Rapenne
Le Tue, 24 Dec 2019 10:46:41 +1100,
Jonathan Gray  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=156907261602397=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 = [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')



Re: update games/eduke32 for ion fury compatibility

2019-12-23 Thread Jonathan Gray
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=156907261602397=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?

> 
> Index: Makefile
> ===
> RCS file: /home/cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.22
> diff -u -p -r1.22 Makefile
> --- Makefile  14 Jul 2019 02:16:51 -  1.22
> +++ Makefile  23 Dec 2019 17:41:58 -
> @@ -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 
>  
> @@ -37,9 +36,9 @@ 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
> +COMPILER =   ports-gcc
>  
>  # make sure we can see compilation output, respect CC/CXX, don't strip!
>  MAKE_FLAGS +=PRETTY_OUTPUT=0 \
> @@ -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: /home/cvs/ports/games/eduke32/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- distinfo  22 Nov 2017 03:43:46 -  1.4
> +++ distinfo  23 Dec 2019 17:33:22 -
> @@ -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: /home/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 -  1.1
> +++ patches/patch-Common_mak  23 Dec 2019 17:35:22 -
> @@ -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: /home/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 -  1.2
> +++ patches/patch-GNUmakefile 23 Dec 2019 17:35:27 -
> @@ -3,15 +3,15 @@ $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 \
> +@@ -684,7 +683,7 @@ ifeq ($(SUBPLATFORM),LINUX)
>   endif
>   
>   ifeq ($(PLATFORM),BSD)
> @@ -20,12 +20,19 @@ Index: GNUmakefile
>   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)
> +-COMPILERFLAGS += \
> ++COMPILERFLAGS := \
> + -I$(engine_inc) \
> + -I$(mact_inc) \
> + -I$(audiolib_inc) \
> + -I$(glad_inc) \
> + -I$(voidwrap_inc) \
> + -MP -MMD \
> 

Re: UPDATE: games/eduke32

2017-11-19 Thread Kirill Bychkov
On Tue, November 14, 2017 01:57, Ryan Freeman wrote:
> This updates eduke32 to a current version (20171105 svn tag 6496).
>
> Upstream has moved their buildsystem around a bunch, and added some
> small internal implementations to replace libpng and zlib usage:
>
> 6365  118d 01hterminx /GNUmakefile
>   Drop libpng and zlib in favor of a custom < 100 line .png writer
>   and a drop-in zlib replacement called miniz.
>
>
> I rebuilt patches to let eduke32 use the ports-supplied lz4 package
> as before..
>
> I have stripped away COMPILER = gcc as clang seems to build just fine.

Hi!
It requires c++11 compatible compiler so it still needs COMPILER=base-clang
ports-gcc to build on !CLANG_ARCHes.
Other than this it's OK wit me.
Going to commit if noone objects.

>
> Tested on amd64 with the shareware and atomic editios, no regressions
> seen.
>
> Okay?
> -ryan
>
>
> ? eduke32-6496.diff
> Index: Makefile
> ===
> RCS file: /cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.13
> diff -u -p -r1.13 Makefile
> --- Makefile  4 Aug 2017 22:33:18 -   1.13
> +++ Makefile  13 Nov 2017 22:50:42 -
> @@ -1,13 +1,12 @@
>  # $OpenBSD: Makefile,v 1.13 2017/08/04 22:33:18 sthen Exp $
>
>  COMMENT =Enhanced Duke Nukem 3D engine
> -RDATE =  20160610
> -RTAG =   5775
> +RDATE =  20171105
> +RTAG =   6496
>  DISTNAME =   eduke32_src_${RDATE}-${RTAG}
>  PKGNAME =eduke32-2.0.0.${RTAG}
>  EXTRACT_SUFX =   .tar.xz
>  CATEGORIES = games x11
> -REVISION =   1
>
>  HOMEPAGE =   http://www.eduke32.com/
>
> @@ -25,7 +24,7 @@ BUILD_DEPENDS = archivers/unzip \
>  BUILD_DEPENDS += devel/nasm
>  .endif
>
> -WANTLIB += c m ogg png pthread vorbis vorbisfile vpx z lz4
> +WANTLIB += c m ogg pthread vorbis vorbisfile vpx lz4
>  WANTLIB += SDL2 SDL2_mixer FLAC execinfo ${COMPILER_LIBCXX}
>
>  LIB_DEPENDS =archivers/lz4 \
> @@ -44,14 +43,13 @@ RUN_DEPENDS = games/duke3ddata
>
>  MASTER_SITES =   
> http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
>
> -COMPILER =   gcc
> -
>  # make sure we can see compilation output, respect CC/CXX, don't strip!
> -MAKE_ENV =   PRETTY_OUTPUT=0 \
> - PACKAGE_REPOSITORY=1
> -MAKE_FLAGS +=CC="${CC}" \
> +MAKE_FLAGS +=PRETTY_OUTPUT=0 \
> + CC="${CC}" \
>   CXX="${CXX}" \
> - STRIP=true
> + STRIP=true \
> + PACKAGE_REPOSITORY=1
> +MAKE_FILE =  GNUmakefile
>  USE_GMAKE =  Yes
>  NO_TEST =Yes
>
> @@ -60,8 +58,8 @@ WRKDIST =   ${WRKDIR}/eduke32_${RDATE}-${R
>  post-extract:
>   # check for data files in correct location
>   @sed -i "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> - ${WRKSRC}/source/common.c
> - rm ${WRKSRC}/build/include/lz4.h ${WRKSRC}/build/src/lz4.c
> + ${WRKSRC}/source/duke3d/src/common.cpp
> + rm ${WRKSRC}/source/build/include/lz4.h ${WRKSRC}/source/build/src/lz4.c
>
>  do-install:
>   ${INSTALL_PROGRAM} ${WRKBUILD}/eduke32 ${PREFIX}/bin
> Index: distinfo
> ===
> RCS file: /cvs/ports/games/eduke32/distinfo,v
> retrieving revision 1.3
> diff -u -p -r1.3 distinfo
> --- distinfo  20 Aug 2016 05:16:01 -  1.3
> +++ distinfo  13 Nov 2017 22:50:42 -
> @@ -1,2 +1,2 @@
> -SHA256 (eduke32_src_20160610-5775.tar.xz) =
> znVDHKAUXxw3k01ck0OTmC8ntqpkYZpAI85U5P1QyPk=
> -SIZE (eduke32_src_20160610-5775.tar.xz) = 14532340
> +SHA256 (eduke32_src_20171105-6496.tar.xz) =
> 1+MCe1npolXkOvGK6Jtk+THxlaIL9kwoTLKYpdkMPrI=
> +SIZE (eduke32_src_20171105-6496.tar.xz) = 14351444
> Index: patches/patch-Common_mak
> ===
> RCS file: patches/patch-Common_mak
> diff -N patches/patch-Common_mak
> --- /dev/null 1 Jan 1970 00:00:00 -
> +++ patches/patch-Common_mak  13 Nov 2017 22:50:42 -
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +
> +Index: Common.mak
> +--- Common.mak.orig
>  Common.mak
> +@@ -638,7 +638,7 @@ ifeq (0,$(RELEASE))
> + F_NO_STACK_PROTECTOR :=
> + else
> + ifeq (0,$(CLANG))
> +-COMMONFLAGS += -funswitch-loops
> ++#COMMONFLAGS += -funswitch-loops
> + endif
> +
> + ifeq (0,$(DEBUGANYWAY))
> Index: patches/patch-GNUmakefile
> ===
> RCS file: patches/patch-GNUmakefile
> diff -N patches/patch-GNUmakefile
> --- /dev/null 1 Jan 1970 00:00:00 -
> +++ patches/patch-GNUmakefile 13 Nov 2017 22:50:42 -
> @@ -0,0 +1,22 @@
> +$OpenBSD$
> +
> +Index: GNUmakefile
> +--- GNUmakefile.orig
>  GNUmakefile
> +@@ -161,7 +161,6 @@ engine_objs := \
> + textfont.cpp \
> + smalltextfont.cpp \
> + kplib.cpp \
> +-lz4.c \
> + osd.cpp \
> + pragmas.cpp \
> + scriptfile.cpp \
> +@@ -581,7 +580,7 @@ ifeq ($(SUBPLATFORM),LINUX)
> + endif
> +
> + 

Re: UPDATE: games/eduke32

2016-08-19 Thread Anthony J. Bentley
Hi Ryan,

Ryan Freeman writes:
> On Wed, Aug 10, 2016 at 11:30:19PM -0700, Ryan Freeman wrote:
> > Hey,
> > 
> > Trying this one again, updates eduke32 to a much newer release, moving to
> > SDL2 and seems to run very well still on current/amd64.

Thanks; I've committed a modified version.

> > > Unfortunately the Makefile.common has some mean tricks to really break ou
> r
> > > ability to feed CC/CXX, so I did some hack'n'slash patching of it.  I am
> > > not sure that this is best, I have employed their recommended
> > > PACKAGE_REPOSITORY=1 setting to 'not completely gut all their optimizatio
> ns'..
> > > but I'd love it if anyone can confirm its okay :-) looks to just use -O2.

You can avoid much of the patching by just using MAKE_FLAGS, which
overrides the values in the makefile.

-- 
Anthony J. Bentley



Re: UPDATE: games/eduke32

2016-08-17 Thread Ryan Freeman
On Wed, Aug 10, 2016 at 11:30:19PM -0700, Ryan Freeman wrote:
> Hey,
> 
> Trying this one again, updates eduke32 to a much newer release, moving to
> SDL2 and seems to run very well still on current/amd64.
> 
> Original post(s): http://marc.info/?l=openbsd-ports=146784932621112=2
> One independent test: http://marc.info/?l=openbsd-ports=146786520124196=2
> 
> Copying the details for ease:
> 
> > Here is a patch against current ports cvs triggered by Daniel's update.
> > WANTLIB and LIB_DEPENDS have been regenerated.  the do-install paths have
> > been corrected, I removed the dos2unix stuff as I don't think it is that
> > big a deal in the end, and it matches upstream.
> > 
> > The datafile path substitutions have been reduced to one file (yay), and
> > perl has been switched out in lieu of sed.
> > 
> > Unfortunately the Makefile.common has some mean tricks to really break our
> > ability to feed CC/CXX, so I did some hack'n'slash patching of it.  I am
> > not sure that this is best, I have employed their recommended
> > PACKAGE_REPOSITORY=1 setting to 'not completely gut all their 
> > optimizations'..
> > but I'd love it if anyone can confirm its okay :-) looks to just use -O2.
> > 
> > Turning on aggressive debugging things like DEBUGANYWAY kinda broke mouse
> > input making it really hard to play, so avoiding that path.
> > 
> > Lastly I think we need to use ports gcc now.
> > 
> > works good here on current amd64
> 
> Anyone willing to ok/commit?

ping?

> 
> Cheers!
> -ryan
> 
> 
> ? eduke32.diff
> Index: Makefile
> ===
> RCS file: /cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.7
> diff -u -p -r1.7 Makefile
> --- Makefile  22 Oct 2014 13:55:07 -  1.7
> +++ Makefile  19 Jun 2016 06:43:09 -
> @@ -1,12 +1,11 @@
>  # $OpenBSD: Makefile,v 1.7 2014/10/22 13:55:07 jasper Exp $
>  
>  COMMENT =Enhanced Duke Nukem 3D engine
> -RDATE =  20120301
> -RTAG =   2394
> +RDATE =  20160610
> +RTAG =   5775
>  DISTNAME =   eduke32_src_${RDATE}-${RTAG}
>  PKGNAME =eduke32-2.0.0.${RTAG}
> -REVISION =   2
> -EXTRACT_SUFX =   .tar.bz2
> +EXTRACT_SUFX =   .tar.xz
>  CATEGORIES = games x11
>  
>  HOMEPAGE =   http://www.eduke32.com/
> @@ -25,12 +24,15 @@ BUILD_DEPENDS = archivers/unzip \
>  BUILD_DEPENDS += devel/nasm
>  .endif
>  
> -WANTLIB =SDL c m pthread stdc++ SDL_mixer>=3 vorbisfile vpx
> +WANTLIB += c m ogg png pthread vorbis vorbisfile vpx z
> +WANTLIB += SDL2 SDL2_mixer FLAC execinfo
>  
>  LIB_DEPENDS =audio/libvorbis \
> - multimedia/libvpx \
> - devel/sdl \
> - devel/sdl-mixer
> + audio/flac \
> + devel/sdl2 \
> + devel/sdl2-mixer \
> + devel/libexecinfo \
> + multimedia/libvpx
>  
>  # dlopen()'d; shows as Extra in check-lib-depends but it is used
>  LIB_DEPENDS +=   x11/gtk+2
> @@ -38,31 +40,23 @@ WANTLIB +=gtk-x11-2.0
>  
>  RUN_DEPENDS =games/duke3ddata
>  
> -MASTER_SITES =   
> http://dukeworld.duke4.net/eduke32/synthesis/old/${RDATE}-${RTAG}/ \
> - http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
> +MASTER_SITES =   
> http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
> +
> +MODULES =gcc4
> +MODGCC4_LANGS =  c c++ 
> +MODGCC4_ARCHS =  *
>  
>  # make sure we can see compilation output, respect CC/CXX, don't strip!
> -MAKE_FLAGS = PRETTY_OUTPUT=0 CC="${CC}" CXX="${CXX}" DEBUGANYWAY=1
> +MAKE_ENV =   CC="${CC}" CXX="${CXX}" PRETTY_OUTPUT=0 PACKAGE_REPOSITORY=1
>  USE_GMAKE =  Yes
>  NO_TEST =Yes
>  
> -WRKDIST =${WRKDIR}/eduke32_${RDATE}-${RTAG}/
> +WRKDIST =${WRKDIR}/eduke32_${RDATE}-${RTAG}
>  
>  post-extract:
>   # check for data files in correct location
> - @perl -pi -e "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> - ${WRKSRC}/source/astub.c
> - @perl -pi -e "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> - ${WRKSRC}/source/game.c
> - @perl -pi -e "s,./eduke32,eduke32," ${WRKSRC}/build/include/editor.h
> - # make plaintext files less annoying to read...
> - @perl -MExtUtils::Command -e dos2unix \
> - ${WRKSRC}/tiles.cfg \
> - ${WRKSRC}/names.h \
> - ${WRKSRC}/GNU.TXT \
> - ${WRKSRC}/buildlic.txt \
> - ${WRKSRC}/samples/*.sample \
> - ${WRKSRC}/samples/*.txt
> + @sed -i "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> + ${WRKSRC}/source/common.c
>  
>  do-install:
>   ${INSTALL_PROGRAM} ${WRKBUILD}/eduke32 ${PREFIX}/bin
> @@ -71,17 +65,25 @@ do-install:
>   ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/eduke32
>   ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/eduke32
>   # mapster32 help files
> - ${INSTALL_DATA} ${WRKDIST}/m32help.hlp ${PREFIX}/share/duke3d/
> - 

Re: UPDATE: games/eduke32

2016-08-11 Thread Ryan Freeman
On Wed, Aug 10, 2016 at 11:30:19PM -0700, Ryan Freeman wrote:
> Hey,
> 
> Trying this one again, updates eduke32 to a much newer release, moving to
> SDL2 and seems to run very well still on current/amd64.

If it helps at all, my testing seems to indicate there is no need for
wxneeded.

> 
> Original post(s): http://marc.info/?l=openbsd-ports=146784932621112=2
> One independent test: http://marc.info/?l=openbsd-ports=146786520124196=2
> 
> Copying the details for ease:
> 
> > Here is a patch against current ports cvs triggered by Daniel's update.
> > WANTLIB and LIB_DEPENDS have been regenerated.  the do-install paths have
> > been corrected, I removed the dos2unix stuff as I don't think it is that
> > big a deal in the end, and it matches upstream.
> > 
> > The datafile path substitutions have been reduced to one file (yay), and
> > perl has been switched out in lieu of sed.
> > 
> > Unfortunately the Makefile.common has some mean tricks to really break our
> > ability to feed CC/CXX, so I did some hack'n'slash patching of it.  I am
> > not sure that this is best, I have employed their recommended
> > PACKAGE_REPOSITORY=1 setting to 'not completely gut all their 
> > optimizations'..
> > but I'd love it if anyone can confirm its okay :-) looks to just use -O2.
> > 
> > Turning on aggressive debugging things like DEBUGANYWAY kinda broke mouse
> > input making it really hard to play, so avoiding that path.
> > 
> > Lastly I think we need to use ports gcc now.
> > 
> > works good here on current amd64
> 
> Anyone willing to ok/commit?
> 
> Cheers!
> -ryan
> 
> 
> ? eduke32.diff
> Index: Makefile
> ===
> RCS file: /cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.7
> diff -u -p -r1.7 Makefile
> --- Makefile  22 Oct 2014 13:55:07 -  1.7
> +++ Makefile  19 Jun 2016 06:43:09 -
> @@ -1,12 +1,11 @@
>  # $OpenBSD: Makefile,v 1.7 2014/10/22 13:55:07 jasper Exp $
>  
>  COMMENT =Enhanced Duke Nukem 3D engine
> -RDATE =  20120301
> -RTAG =   2394
> +RDATE =  20160610
> +RTAG =   5775
>  DISTNAME =   eduke32_src_${RDATE}-${RTAG}
>  PKGNAME =eduke32-2.0.0.${RTAG}
> -REVISION =   2
> -EXTRACT_SUFX =   .tar.bz2
> +EXTRACT_SUFX =   .tar.xz
>  CATEGORIES = games x11
>  
>  HOMEPAGE =   http://www.eduke32.com/
> @@ -25,12 +24,15 @@ BUILD_DEPENDS = archivers/unzip \
>  BUILD_DEPENDS += devel/nasm
>  .endif
>  
> -WANTLIB =SDL c m pthread stdc++ SDL_mixer>=3 vorbisfile vpx
> +WANTLIB += c m ogg png pthread vorbis vorbisfile vpx z
> +WANTLIB += SDL2 SDL2_mixer FLAC execinfo
>  
>  LIB_DEPENDS =audio/libvorbis \
> - multimedia/libvpx \
> - devel/sdl \
> - devel/sdl-mixer
> + audio/flac \
> + devel/sdl2 \
> + devel/sdl2-mixer \
> + devel/libexecinfo \
> + multimedia/libvpx
>  
>  # dlopen()'d; shows as Extra in check-lib-depends but it is used
>  LIB_DEPENDS +=   x11/gtk+2
> @@ -38,31 +40,23 @@ WANTLIB +=gtk-x11-2.0
>  
>  RUN_DEPENDS =games/duke3ddata
>  
> -MASTER_SITES =   
> http://dukeworld.duke4.net/eduke32/synthesis/old/${RDATE}-${RTAG}/ \
> - http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
> +MASTER_SITES =   
> http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
> +
> +MODULES =gcc4
> +MODGCC4_LANGS =  c c++ 
> +MODGCC4_ARCHS =  *
>  
>  # make sure we can see compilation output, respect CC/CXX, don't strip!
> -MAKE_FLAGS = PRETTY_OUTPUT=0 CC="${CC}" CXX="${CXX}" DEBUGANYWAY=1
> +MAKE_ENV =   CC="${CC}" CXX="${CXX}" PRETTY_OUTPUT=0 PACKAGE_REPOSITORY=1
>  USE_GMAKE =  Yes
>  NO_TEST =Yes
>  
> -WRKDIST =${WRKDIR}/eduke32_${RDATE}-${RTAG}/
> +WRKDIST =${WRKDIR}/eduke32_${RDATE}-${RTAG}
>  
>  post-extract:
>   # check for data files in correct location
> - @perl -pi -e "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> - ${WRKSRC}/source/astub.c
> - @perl -pi -e "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> - ${WRKSRC}/source/game.c
> - @perl -pi -e "s,./eduke32,eduke32," ${WRKSRC}/build/include/editor.h
> - # make plaintext files less annoying to read...
> - @perl -MExtUtils::Command -e dos2unix \
> - ${WRKSRC}/tiles.cfg \
> - ${WRKSRC}/names.h \
> - ${WRKSRC}/GNU.TXT \
> - ${WRKSRC}/buildlic.txt \
> - ${WRKSRC}/samples/*.sample \
> - ${WRKSRC}/samples/*.txt
> + @sed -i "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \
> + ${WRKSRC}/source/common.c
>  
>  do-install:
>   ${INSTALL_PROGRAM} ${WRKBUILD}/eduke32 ${PREFIX}/bin
> @@ -71,17 +65,25 @@ do-install:
>   ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/eduke32
>   ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/eduke32
>   # mapster32 help files
> -