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);

Reply via email to