Within the last few months recoil-rts has gained support for building
on aarch64. The following diff fixes building the port on aarch64.
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/recoil-rts/Makefile,v
retrieving revision 1.28
diff -u -p -u -p -r1.28 Makefile
--- Makefile 24 Jul 2026 03:46:16 -0000 1.28
+++ Makefile 25 Jul 2026 22:12:04 -0000
@@ -1,5 +1,4 @@
-# heavy use of SSE with no alternative pathways for !x86 arches
-ONLY_FOR_ARCHS = amd64
+ONLY_FOR_ARCHS = aarch64 amd64
COMMENT = real-time strategy game engine for Beyond All Reason
Index: patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c
===================================================================
RCS file: patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c
diff -N patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c 25 Jul 2026
22:12:04 -0000
@@ -0,0 +1,62 @@
+- 24.05
+ fc662341e6f85da78ada0e443f6116b978f79f22
+- 26.00
+ 839151eaaad24771892afaae6bac690e31e58384
+
+Index: tools/pr-downloader/src/lib/7z/CpuArch.c
+--- tools/pr-downloader/src/lib/7z/CpuArch.c.orig
++++ tools/pr-downloader/src/lib/7z/CpuArch.c
+@@ -415,16 +415,42 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP
+
+ #else // __APPLE__
+
+-#include <sys/auxv.h>
++#if defined(__GLIBC__) && (__GLIBC__ * 100 + __GLIBC_MINOR__ >= 216)
++ #define Z7_GETAUXV_AVAILABLE
++#else
++ #if defined __has_include
++ #if __has_include (<sys/auxv.h>)
++ #define Z7_GETAUXV_AVAILABLE
++ #endif
++ #endif
++#endif
+
++#ifdef Z7_GETAUXV_AVAILABLE
++#include <sys/auxv.h>
+ #define USE_HWCAP
++#endif
+
+ #ifdef USE_HWCAP
+
++#if defined(__FreeBSD__) || defined(__OpenBSD__)
++static unsigned long MY_getauxval(int aux)
++{
++ unsigned long val;
++ if (elf_aux_info(aux, &val, sizeof(val)))
++ return 0;
++ return val;
++}
++#else
++#define MY_getauxval getauxval
++ #if defined __has_include
++ #if __has_include (<asm/hwcap.h>)
+ #include <asm/hwcap.h>
++ #endif
++ #endif
++#endif
+
+ #define MY_HWCAP_CHECK_FUNC_2(name1, name2) \
+- BoolInt CPU_IsSupported_ ## name1() { return (getauxval(AT_HWCAP) &
(HWCAP_ ## name2)) ? 1 : 0; }
++ BoolInt CPU_IsSupported_ ## name1(void) { return (MY_getauxval(AT_HWCAP) &
(HWCAP_ ## name2)); }
+
+ #ifdef MY_CPU_ARM64
+ #define MY_HWCAP_CHECK_FUNC(name) \
+@@ -433,7 +459,7 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP
+ // MY_HWCAP_CHECK_FUNC (ASIMD)
+ #elif defined(MY_CPU_ARM)
+ #define MY_HWCAP_CHECK_FUNC(name) \
+- BoolInt CPU_IsSupported_ ## name() { return (getauxval(AT_HWCAP2) &
(HWCAP2_ ## name)) ? 1 : 0; }
++ BoolInt CPU_IsSupported_ ## name(void) { return (MY_getauxval(AT_HWCAP2) &
(HWCAP2_ ## name)); }
+ MY_HWCAP_CHECK_FUNC_2(NEON, NEON)
+ #endif
+