Hi, > http://build-failures.rhaalovely.net/sparc64/2020-10-07/games/fs2open.log (same thing in the current macppc bulk)
The issue has been fixed upstream, see [0]. I have been able to build fs2open on macppc and amd64 without issues, but it requires OpenGL>=3.2. So i've limited to archs that can do that with hardware acceleration (it's too slow on software rendering). Since powerpc64 is the only big endian arch that qualifies and it has no drm(4) support yet according to its GENERIC file, i wonder if it's worth adding the patch to CVS ... Comments and feedback are welcome, Charlène. [0] https://github.com/scp-fs2open/fs2open.github.com/commit/4bb31f4 Index: Makefile =================================================================== RCS file: /cvs/ports/games/fs2open/Makefile,v retrieving revision 1.9 diff -u -p -u -p -r1.9 Makefile --- Makefile 17 Sep 2020 12:34:22 -0000 1.9 +++ Makefile 14 Oct 2020 16:08:59 -0000 @@ -1,10 +1,14 @@ # $OpenBSD: Makefile,v 1.9 2020/09/17 12:34:22 thfr Exp $ +# Requires OpenGL>=3.2, could run on powerpc64 once there is drm support +ONLY_FOR_ARCHS = aarch64 amd64 i386 + COMMENT = open source game engine based on FreeSpace 2 V = 19.0.0 DISTNAME = fs2_open_${V:S/./_/g}-source-Unix PKGNAME = fs2open-${V} +REVISION = 0 CATEGORIES = games Index: patches/patch-code_model_modelread_cpp =================================================================== RCS file: patches/patch-code_model_modelread_cpp diff -N patches/patch-code_model_modelread_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-code_model_modelread_cpp 14 Oct 2020 16:08:59 -0000 @@ -0,0 +1,26 @@ +$OpenBSD$ + +Fix the build on big endian archs, from: +https://github.com/scp-fs2open/fs2open.github.com/commit/4bb31f4 + +Index: code/model/modelread.cpp +--- code/model/modelread.cpp.orig ++++ code/model/modelread.cpp +@@ -5341,7 +5341,7 @@ void swap_bsp_sortnorms( polymodel * pm, ubyte * p ) + } + #endif // BIG_ENDIAN + +-void swap_bsp_data( polymodel * /*pm*/, void * /*model_ptr*/ ) ++void swap_bsp_data( polymodel * pm, void * model_ptr ) + { + #if BYTE_ORDER == BIG_ENDIAN + ubyte *p = (ubyte *)model_ptr; +@@ -5397,7 +5397,7 @@ void swap_bsp_data( polymodel * /*pm*/, void * /*mode + #endif + } + +-void swap_sldc_data(ubyte * /*buffer*/) ++void swap_sldc_data(ubyte * buffer) + { + #if BYTE_ORDER == BIG_ENDIAN + char *type_p = (char *)(buffer);
