diff options
| author | Yuri Victorovich <yuri@FreeBSD.org> | 2025-12-05 20:46:33 +0000 |
|---|---|---|
| committer | Yuri Victorovich <yuri@FreeBSD.org> | 2025-12-05 20:49:12 +0000 |
| commit | c8200812c000e298a635a0b9bc7bc2c419e80559 (patch) | |
| tree | d20afd674af69a0073450d4529c6db4c00957a9f | |
| parent | ea64a05667f5a26ae180c840d8bef6081dc2701a (diff) | |
games/emptyepsilon: Fix build
... by using glm submodule.
Reported by: fallout
| -rw-r--r-- | games/emptyepsilon/Makefile | 12 | ||||
| -rw-r--r-- | games/emptyepsilon/distinfo | 4 | ||||
| -rw-r--r-- | games/emptyepsilon/files/patch-sproton_CMakeLists.txt | 18 | ||||
| -rw-r--r-- | games/emptyepsilon/files/patch-sproton_libs_basis__universal_CMakeLists.txt | 36 |
4 files changed, 61 insertions, 9 deletions
diff --git a/games/emptyepsilon/Makefile b/games/emptyepsilon/Makefile index ea34d034715a..2a6462418750 100644 --- a/games/emptyepsilon/Makefile +++ b/games/emptyepsilon/Makefile @@ -16,7 +16,11 @@ LICENSE_FILE_GPLv2= ${WRKSRC}/LICENSE LICENSE_FILE_AngryFly-Royalty-Free-License= ${WRKSRC}/packs/License.txt LICENSE_PERMS_AngryFly-Royalty-Free-License= auto-accept dist-mirror pkg-mirror -BUILD_DEPENDS= glm>0:math/glm +# BUILD_DEPENDS for glm is commented out because the system glm (1.0.x) is +# incompatible with EmptyEpsilon's code. The bundled glm 0.9.9.8 is used instead +# via git submodule to avoid API incompatibilities (missing radians, degrees, +# u8vec4, vec3 functions/types in newer glm versions). +#BUILD_DEPENDS= glm>0:math/glm LIB_DEPENDS= libfreetype.so:print/freetype2 \ libsfml-system.so:devel/sfml \ libmeshoptimizer.so:misc/meshoptimizer \ @@ -30,10 +34,12 @@ USE_GITHUB= yes GH_ACCOUNT= daid GH_PROJECT= EmptyEpsilon GH_TUPLE= daid:SeriousProton:${DISTVERSIONFULL}:sproton/sproton \ - BinomialLLC:basis_universal:v1_15_update2:basis/SeriousProton/externals/basis + BinomialLLC:basis_universal:v1_15_update2:basis/SeriousProton/externals/basis \ + g-truc:glm:0.9.9.8:glm/sproton/libs/glm CMAKE_ARGS= -DSERIOUS_PROTON_DIR="${WRKSRC}/sproton" \ - -DWITH_OPUS=system + -DWITH_OPUS=system \ + -DWITH_GLM=bundled CXXFLAGS+= -DGLM_ENABLE_EXPERIMENTAL post-patch: diff --git a/games/emptyepsilon/distinfo b/games/emptyepsilon/distinfo index 706e55a5134b..d6c7e2a4f166 100644 --- a/games/emptyepsilon/distinfo +++ b/games/emptyepsilon/distinfo @@ -1,7 +1,9 @@ -TIMESTAMP = 1733775767 +TIMESTAMP = 1764964262 SHA256 (daid-EmptyEpsilon-EE-2024.12.08_GH0.tar.gz) = 8be5360270b9a616a5d749aec9653b3e36beba96b2d6b1651e18594a3314f010 SIZE (daid-EmptyEpsilon-EE-2024.12.08_GH0.tar.gz) = 261708187 SHA256 (daid-SeriousProton-EE-2024.12.08_GH0.tar.gz) = fa4a9873c5f8872f9f2d75d03eec06c8a40ea2e0daeb977f0445f14c1e76a236 SIZE (daid-SeriousProton-EE-2024.12.08_GH0.tar.gz) = 2648907 SHA256 (BinomialLLC-basis_universal-v1_15_update2_GH0.tar.gz) = 3caff917d63ed0255fc56bcdf80d305bb47ac9315a4a45409a1264a0e5e0e572 SIZE (BinomialLLC-basis_universal-v1_15_update2_GH0.tar.gz) = 13283133 +SHA256 (g-truc-glm-0.9.9.8_GH0.tar.gz) = 7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592 +SIZE (g-truc-glm-0.9.9.8_GH0.tar.gz) = 4368032 diff --git a/games/emptyepsilon/files/patch-sproton_CMakeLists.txt b/games/emptyepsilon/files/patch-sproton_CMakeLists.txt new file mode 100644 index 000000000000..75f204e5320f --- /dev/null +++ b/games/emptyepsilon/files/patch-sproton_CMakeLists.txt @@ -0,0 +1,18 @@ +- Use bundled glm from libs/glm when WITH_GLM=bundled +- Avoids FetchContent for glm since we provide it via GH_TUPLE for compatibility + +--- sproton/CMakeLists.txt.orig 2024-11-06 08:14:52 UTC ++++ sproton/CMakeLists.txt +@@ -48,6 +48,12 @@ if(NOT WITH_GLM STREQUAL "bundled") + find_package(glm ${glm_find_args}) + endif() + ++# Check if glm is already provided in libs/glm (via ports GH_TUPLE) ++if(NOT glm_FOUND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libs/glm/CMakeLists.txt") ++ add_subdirectory(libs/glm EXCLUDE_FROM_ALL) ++ set(glm_FOUND TRUE) ++endif() ++ + if(glm_FOUND) + message(STATUS "GLM version used: SYSTEM") + if(NOT TARGET glm::glm) diff --git a/games/emptyepsilon/files/patch-sproton_libs_basis__universal_CMakeLists.txt b/games/emptyepsilon/files/patch-sproton_libs_basis__universal_CMakeLists.txt index 29b62170dd16..ff81bf53a1ff 100644 --- a/games/emptyepsilon/files/patch-sproton_libs_basis__universal_CMakeLists.txt +++ b/games/emptyepsilon/files/patch-sproton_libs_basis__universal_CMakeLists.txt @@ -1,8 +1,6 @@ -- avoid fetch, use pre-installed meshoptimizer package, see https://github.com/daid/SeriousProton/issues/253 - ---- sproton/libs/basis_universal/CMakeLists.txt.orig 2024-12-09 20:23:38 UTC -+++ sproton/libs/basis_universal/CMakeLists.txt -@@ -5,7 +5,7 @@ set(BASIS_URL "https://github.com/BinomialLLC/basis_un +--- sproton/libs/basis_universal/CMakeLists.txt.orig 2025-12-05 12:11:01.680012000 -0800 ++++ sproton/libs/basis_universal/CMakeLists.txt 2025-12-05 12:11:01.722728000 -0800 +@@ -5,7 +5,7 @@ set(BASIS_VERSION "v1_15_update2") set(BASIS_URL "https://github.com/BinomialLLC/basis_universal") @@ -11,3 +9,31 @@ include(FetchContent) FetchContent_Declare( basis +@@ -14,18 +14,21 @@ + ) + FetchContent_GetProperties(basis) + else() +- set(BASIS_BASE_PATH "${EXTERNALS_DIR}") +- set(basis_POPULATED FALSE) +- if(NOT EXISTS "${BASIS_BASE_PATH}/basis/CMakeLists.txt") ++ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../SeriousProton/externals/basis/CMakeLists.txt") ++ set(basis_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SeriousProton/externals/basis") ++ set(basis_BINARY_DIR "${PROJECT_BINARY_DIR}/externals/basis") ++ set(basis_POPULATED TRUE) ++ else() ++ set(BASIS_BASE_PATH "${EXTERNALS_DIR}") ++ set(basis_POPULATED FALSE) + set(BASIS_ZIP "${DOWNLOADS_DIR}/basis.zip") + file(DOWNLOAD "${BASIS_URL}/archive/refs/tags/${BASIS_VERSION}.zip" "${BASIS_ZIP}" TIMEOUT 60 TLS_VERIFY ON) + + file(MAKE_DIRECTORY "${BASIS_BASE_PATH}/basis") + execute_process(COMMAND ${CMAKE_COMMAND} -E tar -xf "${BASIS_ZIP}" WORKING_DIRECTORY "${BASIS_BASE_PATH}") ++ set(basis_SOURCE_DIR "${BASIS_BASE_PATH}/basis") ++ set(basis_BINARY_DIR "${PROJECT_BINARY_DIR}/externals/basis") + endif() +- +- set(basis_SOURCE_DIR "${BASIS_BASE_PATH}/basis") +- set(basis_BINARY_DIR "${PROJECT_BINARY_DIR}/externals/basis") + endif() + + if(NOT basis_POPULATED) |
