diff --git a/games/minetest/files/patch-src_CMakeLists.txt b/games/minetest/files/patch-src_CMakeLists.txt new file mode 100644 index 000000000000..83617a6d4002 --- /dev/null +++ b/games/minetest/files/patch-src_CMakeLists.txt @@ -0,0 +1,20 @@ +diff --git src/CMakeLists.txt src/CMakeLists.txt +index 9526e88f9..06cb0d604 100644 +--- src/CMakeLists.txt ++++ src/CMakeLists.txt +@@ -758,7 +758,14 @@ else() + check_c_source_compiles("#ifndef __aarch64__\n#error\n#endif\nint main(){}" IS_AARCH64) + if(IS_AARCH64) + # Move text segment below LuaJIT's 47-bit limit (see issue #9367) +- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Ttext-segment=0x200000000") ++ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") ++ # XXX: lld linke needs another option; not sure how to check for lld specifically, ++ # so just checking for FreeBSD (which uses lld) for now. I'm also not sure if its ++ # equivalent replacement and haven't runtested it, but it at least builds ++ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--image-base=0x200000000") ++ else() ++ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Ttext-segment=0x200000000") ++ endif() + endif() + endif() +