I've seen stratagus fail with what looks like a build race in multiple 
bulks.

Below replaces Claudio's attempt at a fix with upstream's approach to add 
the proper dependencies.

ok to try this out and see if it helps?

Index: Makefile
===================================================================
RCS file: /cvs/ports/games/stratagus/Makefile,v
diff -u -p -u -r1.3 Makefile
--- Makefile    4 Mar 2026 10:21:05 -0000       1.3
+++ Makefile    14 Sep 2026 02:26:01 -0000
@@ -4,6 +4,7 @@ GH_ACCOUNT=             Wargus
 GH_PROJECT=            stratagus
 GH_TAGNAME=            v3.3.2
 CATEGORIES=            games
+REVISION=              0
 
 HOMEPAGE=              http://stratagus.com/stratagus.html
 
Index: patches/patch-src_stratagus_util_cpp
===================================================================
RCS file: /cvs/ports/games/stratagus/patches/patch-src_stratagus_util_cpp,v
diff -u -p -u -r1.1.1.1 patch-src_stratagus_util_cpp
--- patches/patch-src_stratagus_util_cpp        13 Feb 2025 20:07:57 -0000      
1.1.1.1
+++ patches/patch-src_stratagus_util_cpp        14 Sep 2026 02:26:01 -0000
@@ -9,17 +9,22 @@ Index: src/stratagus/util.cpp
  #ifdef WIN32
  #include <windows.h>
  #include <intrin.h>
-@@ -630,13 +629,7 @@ bool supportsAVX()
+@@ -630,13 +629,11 @@ bool supportsAVX()
  
  void *aligned_malloc(size_t alignment, size_t size)
  {
 -#ifdef WIN32
 -      return _aligned_malloc(size, alignment);
 -#elif _ISOC11_SOURCE
-       return aligned_alloc(alignment, size);
+-      return aligned_alloc(alignment, size);
 -#else
 -      return memalign(alignment, size);
 -#endif
++      void *ptr;
++
++      if (posix_memalign(&ptr, alignment, size) != 0)
++              return nullptr;
++      return ptr;
  }
  
  void aligned_free(void *block)
Index: patches/patch-third-party_lua-5_1_5_src_CMakeLists_txt
===================================================================
RCS file: patches/patch-third-party_lua-5_1_5_src_CMakeLists_txt
diff -N patches/patch-third-party_lua-5_1_5_src_CMakeLists_txt
--- patches/patch-third-party_lua-5_1_5_src_CMakeLists_txt      1 Jul 2025 
15:39:03 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-Index: third-party/lua-5.1.5/src/CMakeLists.txt
---- third-party/lua-5.1.5/src/CMakeLists.txt.orig
-+++ third-party/lua-5.1.5/src/CMakeLists.txt
-@@ -72,4 +72,4 @@ set_target_properties(lua51 PROPERTIES
-         RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}
-     )
- 
--add_custom_command(TARGET lua51_static POST_BUILD COMMAND ${CMAKE_COMMAND} -E 
copy "${PROJECT_SOURCE_DIR}/src/lua.h" "${PROJECT_SOURCE_DIR}/src/luaconf.h" 
"${PROJECT_SOURCE_DIR}/src/lualib.h" "${PROJECT_SOURCE_DIR}/src/lauxlib.h" 
${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
-+add_custom_command(TARGET lua51_static PRE_LINK COMMAND ${CMAKE_COMMAND} -E 
copy "${PROJECT_SOURCE_DIR}/src/lua.h" "${PROJECT_SOURCE_DIR}/src/luaconf.h" 
"${PROJECT_SOURCE_DIR}/src/lualib.h" "${PROJECT_SOURCE_DIR}/src/lauxlib.h" 
${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
Index: patches/patch-third-party_lua-5_1_5_toluapp-simple_CMakeLists_txt
===================================================================
RCS file: patches/patch-third-party_lua-5_1_5_toluapp-simple_CMakeLists_txt
diff -N patches/patch-third-party_lua-5_1_5_toluapp-simple_CMakeLists_txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-third-party_lua-5_1_5_toluapp-simple_CMakeLists_txt   14 Sep 
2026 02:26:01 -0000
@@ -0,0 +1,16 @@
+backport commit dad7794 to fix build races
+
+Index: third-party/lua-5.1.5/toluapp-simple/CMakeLists.txt
+--- third-party/lua-5.1.5/toluapp-simple/CMakeLists.txt.orig
++++ third-party/lua-5.1.5/toluapp-simple/CMakeLists.txt
+@@ -25,6 +25,10 @@ add_library(toluapp51_shared SHARED "${TOLUA_LIB_SRC}"
+ set_target_properties(toluapp51_shared PROPERTIES OUTPUT_NAME "toluapp51")
+ add_executable(toluapp "${TOLUA_BIN_SRC}" "${TOLUA_LIB_SRC}")
+ 
++add_dependencies(toluapp51_shared lua51 lua51_shared lua51_static)
++add_dependencies(toluapp51 lua51 lua51_shared lua51_static)
++add_dependencies(toluapp lua51 lua51_shared lua51_static)
++
+ if(MSVC)
+     target_link_libraries(toluapp51 PUBLIC 
"${PROJECT_BINARY_DIR}/$<CONFIGURATION>/lua51.lib" ${CMAKE_DL_LIBS})
+     target_link_libraries(toluapp51_shared PUBLIC 
"${PROJECT_BINARY_DIR}/$<CONFIGURATION>/lua51.lib" ${CMAKE_DL_LIBS})

Reply via email to