git: 3c589e7782d6 - main - games/teeworlds: Fix building with CMake 4

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Fri, 09 Oct 2026 13:29:37 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3c589e7782d692c658192b10178e36a17ded0ced

commit 3c589e7782d692c658192b10178e36a17ded0ced
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-10-09 13:29:10 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-10-09 13:29:27 +0000

    games/teeworlds: Fix building with CMake 4
    
    Approved by:    portmgr (fixit blanket)
---
 games/teeworlds/files/patch-CMakeLists.txt | 102 +++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/games/teeworlds/files/patch-CMakeLists.txt b/games/teeworlds/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..d959f786f1cf
--- /dev/null
+++ b/games/teeworlds/files/patch-CMakeLists.txt
@@ -0,0 +1,102 @@
+https://github.com/teeworlds/teeworlds/commit/6abe8420e6d44a7855bab9972133661954b3ab5d
+https://github.com/teeworlds/teeworlds/commit/ea0787e824c5348f9e63911962c639e4c1ff6335
+
+--- CMakeLists.txt.orig	2026-10-09 13:27:55 UTC
++++ CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.8)
++cmake_minimum_required(VERSION 3.12...3.27.4)
+ 
+ file(STRINGS src/game/version.h VERSION_LINE
+   LIMIT_COUNT 1
+@@ -110,9 +110,9 @@ set(CLIENT_EXECUTABLE teeworlds CACHE STRING "Name of 
+ # Download dependencies
+ ########################################################################
+ 
+-find_package(PythonInterp)
++find_package(Python3)
+ if(DOWNLOAD_DEPENDENCIES)
+-  if(PYTHON_EXECUTABLE AND TARGET_OS STREQUAL "windows" AND TARGET_BITS)
++  if(Python3_EXECUTABLE AND TARGET_OS STREQUAL "windows" AND TARGET_BITS)
+     set(DOWNLOADS)
+     foreach(d freetype sdl)
+       if(NOT EXISTS "${PROJECT_SOURCE_DIR}/other/${d}/${TARGET_OS}/lib${TARGET_BITS}")
+@@ -121,7 +121,7 @@ if(DOWNLOAD_DEPENDENCIES)
+     endforeach()
+     if(DOWNLOADS)
+       message(STATUS "Downloading Freetype and SDL 2")
+-      execute_process(COMMAND ${PYTHON_EXECUTABLE} scripts/download.py ${DOWNLOADS}
++      execute_process(COMMAND ${Python3_EXECUTABLE} scripts/download.py ${DOWNLOADS}
+         WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+       )
+     endif()
+@@ -314,7 +314,6 @@ find_package(Freetype)
+ find_package(ZLIB)
+ find_package(Crypto)
+ find_package(Freetype)
+-find_package(Git)
+ find_package(GTest)
+ find_package(Pnglite)
+ find_package(SDL2)
+@@ -368,12 +367,12 @@ show_dependency_status("Pnglite" PNGLITE)
+ endif()
+ show_dependency_status("OpenSSL Crypto" CRYPTO)
+ show_dependency_status("Pnglite" PNGLITE)
+-show_dependency_status("PythonInterp" PYTHONINTERP)
++show_dependency_status("Python3" Python3)
+ show_dependency_status("SDL2" SDL2)
+ show_dependency_status("Wavpack" WAVPACK)
+ show_dependency_status("Zlib" ZLIB)
+ 
+-if(NOT(PYTHONINTERP_FOUND))
++if(NOT(Python3_FOUND))
+   message(SEND_ERROR "You must install Python to compile Teeworlds")
+ endif()
+ 
+@@ -1201,7 +1200,7 @@ function(chash output_file)
+ 
+ function(chash output_file)
+   add_custom_command(OUTPUT ${output_file}
+-    COMMAND ${PYTHON_EXECUTABLE} scripts/cmd5.py ${ARGN}
++    COMMAND ${Python3_EXECUTABLE} scripts/cmd5.py ${ARGN}
+       > "${PROJECT_BINARY_DIR}/${output_file}"
+     DEPENDS scripts/cmd5.py ${ARGN}
+     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+@@ -1210,7 +1209,7 @@ function(generate_source output_file script_parameter)
+ 
+ function(generate_source output_file script_parameter)
+   add_custom_command(OUTPUT ${output_file}
+-    COMMAND ${PYTHON_EXECUTABLE} datasrc/compile.py ${script_parameter}
++    COMMAND ${Python3_EXECUTABLE} datasrc/compile.py ${script_parameter}
+       > "${PROJECT_BINARY_DIR}/${output_file}"
+     DEPENDS
+       datasrc/compile.py
+@@ -1237,7 +1236,7 @@ add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src/ge
+   endif()
+ endif()
+ add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src/generated/git_revision.cpp
+-  COMMAND ${PYTHON_EXECUTABLE}
++  COMMAND ${Python3_EXECUTABLE}
+     scripts/git_revision.py
+     > ${PROJECT_BINARY_DIR}/src/generated/git_revision.cpp
+   WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+@@ -1955,8 +1954,8 @@ if(CLIENT AND (DMGTOOLS_FOUND OR HDIUTIL))
+     COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TARGET_CLIENT}> ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/
+     COMMAND ${CMAKE_COMMAND} -E copy ${SDL2_LIBRARY} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/Frameworks/libSDL2-2.0.0.dylib
+     COMMAND ${CMAKE_COMMAND} -E copy ${FREETYPE_LIBRARY} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/Frameworks/libfreetype.6.dylib
+-    COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/darwin_change_dylib.py change --tools ${CMAKE_INSTALL_NAME_TOOL} ${CMAKE_OTOOL} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT} SDL2 @executable_path/../Frameworks/libSDL2-2.0.0.dylib
+-    COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/darwin_change_dylib.py change --tools ${CMAKE_INSTALL_NAME_TOOL} ${CMAKE_OTOOL} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT} libfreetype @executable_path/../Frameworks/libfreetype.6.dylib
++    COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/darwin_change_dylib.py change --tools ${CMAKE_INSTALL_NAME_TOOL} ${CMAKE_OTOOL} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT} SDL2 @executable_path/../Frameworks/libSDL2-2.0.0.dylib
++    COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/darwin_change_dylib.py change --tools ${CMAKE_INSTALL_NAME_TOOL} ${CMAKE_OTOOL} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT} libfreetype @executable_path/../Frameworks/libfreetype.6.dylib
+ 
+     # SERVER
+     COMMAND ${CMAKE_COMMAND} -E copy_directory data/maps ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/Resources/data/maps
+@@ -1965,7 +1964,7 @@ if(CLIENT AND (DMGTOOLS_FOUND OR HDIUTIL))
+     COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TARGET_SERVER}> $<TARGET_FILE:${TARGET_SERVER_LAUNCHER}> ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/MacOS/
+ 
+     # DMG
+-    COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/dmg.py create ${DMG_PARAMS} ${CPACK_PACKAGE_FILE_NAME}.dmg ${CPACK_PACKAGE_FILE_NAME} ${DMG_TMPDIR}
++    COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/dmg.py create ${DMG_PARAMS} ${CPACK_PACKAGE_FILE_NAME}.dmg ${CPACK_PACKAGE_FILE_NAME} ${DMG_TMPDIR}
+ 
+     DEPENDS
+       ${TARGET_CLIENT}