From 4c6b7e989dd8a9ecdd33318325ee4e355aba5d64 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Fri, 15 May 2026 01:47:53 -0700 Subject: [PATCH] [luminoengine] Avoid naming stdext::checked_array_iterator. (#51785) --- .../avoid-stdext-checked-array-iterator.patch | 13 ++++ ports/luminoengine/fix-cmake-config.patch | 23 ++++--- ports/luminoengine/portfile.cmake | 65 +++++++++---------- ports/luminoengine/vcpkg.json | 2 +- scripts/ci.feature.baseline.txt | 1 + versions/baseline.json | 2 +- versions/l-/luminoengine.json | 5 ++ 7 files changed, 64 insertions(+), 47 deletions(-) create mode 100644 ports/luminoengine/avoid-stdext-checked-array-iterator.patch diff --git a/ports/luminoengine/avoid-stdext-checked-array-iterator.patch b/ports/luminoengine/avoid-stdext-checked-array-iterator.patch new file mode 100644 index 0000000000..2bc501b81d --- /dev/null +++ b/ports/luminoengine/avoid-stdext-checked-array-iterator.patch @@ -0,0 +1,13 @@ +diff --git a/lumino/LuminoCore/include/LuminoCore/Base/detail/fmt/format.h b/lumino/LuminoCore/include/LuminoCore/Base/detail/fmt/format.h +index fa2d485..83decae 100644 +--- a/lumino/LuminoCore/include/LuminoCore/Base/detail/fmt/format.h ++++ b/lumino/LuminoCore/include/LuminoCore/Base/detail/fmt/format.h +@@ -470,7 +470,7 @@ inline auto get_data(Container& c) -> typename Container::value_type* { + return c.data(); + } + +-#if defined(_SECURE_SCL) && _SECURE_SCL ++#if defined(_SECURE_SCL) && _SECURE_SCL && (!defined(_MSC_VER) || _MSC_VER < 1951) + // Make a checked iterator to avoid MSVC warnings. + template using checked_ptr = stdext::checked_array_iterator; + template diff --git a/ports/luminoengine/fix-cmake-config.patch b/ports/luminoengine/fix-cmake-config.patch index 75568d3db0..49bf64835b 100644 --- a/ports/luminoengine/fix-cmake-config.patch +++ b/ports/luminoengine/fix-cmake-config.patch @@ -1,15 +1,14 @@ diff --git a/cmake/LuminoConfig.cmake.in b/cmake/LuminoConfig.cmake.in -index 283ad47..aa9bfd8 100644 +index 29dac4fde..71745973d 100644 --- a/cmake/LuminoConfig.cmake.in +++ b/cmake/LuminoConfig.cmake.in -@@ -13,5 +13,9 @@ include("${CMAKE_CURRENT_LIST_DIR}/LuminoTargets.cmake") - # Combination target - #------------------------------------------------------------------------------- - add_library(lumino::Lumino INTERFACE IMPORTED) --target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoEngine lumino::LuminoCore) -+if(LUMINO_BUILD_ENGINE) -+ target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoEngine lumino::LuminoCore) -+else() -+ target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoCore) -+endif() - +@@ -13,5 +13,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/LuminoTargets.cmake") + # Combination target + #------------------------------------------------------------------------------- + add_library(lumino::Lumino INTERFACE IMPORTED) +-target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoEngine lumino::LuminoCore) +- ++target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoCore) ++if(@LUMINO_BUILD_ENGINE@) ++ target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoEngine) ++endif() diff --git a/ports/luminoengine/portfile.cmake b/ports/luminoengine/portfile.cmake index d39e46aca1..9ce3aede31 100644 --- a/ports/luminoengine/portfile.cmake +++ b/ports/luminoengine/portfile.cmake @@ -1,33 +1,32 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO LuminoEngine/Lumino - REF "v${VERSION}" - SHA512 f43e48b36a48b5fcce4767de087f9953c905ac0af5522042a93c39ec75e4c9489b8910bc5b2f6fd129ce197309377a14b6eb9177a6ea9db4f5c2e7d1b13a137d - HEAD_REF main - PATCHES - fix-cmake-config.patch -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - engine LUMINO_BUILD_ENGINE -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - -DLUMINO_BUILD_EXAMPLES=OFF - -DLN_BUILD_TESTS=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/lumino) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_copy_pdbs() - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") - +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LuminoEngine/Lumino + REF "v${VERSION}" + SHA512 f43e48b36a48b5fcce4767de087f9953c905ac0af5522042a93c39ec75e4c9489b8910bc5b2f6fd129ce197309377a14b6eb9177a6ea9db4f5c2e7d1b13a137d + HEAD_REF main + PATCHES + avoid-stdext-checked-array-iterator.patch # https://github.com/LuminoEngine/Lumino/pull/222 + fix-cmake-config.patch # https://github.com/LuminoEngine/Lumino/pull/223 +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + engine LUMINO_BUILD_ENGINE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLUMINO_BUILD_EXAMPLES=OFF + -DLN_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/lumino) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/luminoengine/vcpkg.json b/ports/luminoengine/vcpkg.json index dc7efce45c..43b899e091 100644 --- a/ports/luminoengine/vcpkg.json +++ b/ports/luminoengine/vcpkg.json @@ -1,7 +1,7 @@ { "name": "luminoengine", "version": "0.10.1", - "port-version": 1, + "port-version": 2, "description": "C++17 games and visualization toolkit.", "homepage": "https://github.com/LuminoEngine/Lumino", "license": "MIT", diff --git a/scripts/ci.feature.baseline.txt b/scripts/ci.feature.baseline.txt index 323b3e0152..f6ab1c8c26 100644 --- a/scripts/ci.feature.baseline.txt +++ b/scripts/ci.feature.baseline.txt @@ -721,6 +721,7 @@ loguru:arm64-linux=fail lua[tools]:arm64-linux=feature-fails luajit:arm-neon-android=cascade # needs same pointer size for host luasec:x64-windows-static=fail +luminoengine[engine]=feature-fails # https://github.com/LuminoEngine/Lumino/issues/221 lunarg-vulkantools:arm64-linux=cascade luv:arm64-windows=cascade magma:arm64-linux=cascade diff --git a/versions/baseline.json b/versions/baseline.json index 0b54d89ca4..4125401c42 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6238,7 +6238,7 @@ }, "luminoengine": { "baseline": "0.10.1", - "port-version": 1 + "port-version": 2 }, "lunarg-vulkantools": { "baseline": "1.4.341.0", diff --git a/versions/l-/luminoengine.json b/versions/l-/luminoengine.json index d123e1df5b..0c8387bc61 100644 --- a/versions/l-/luminoengine.json +++ b/versions/l-/luminoengine.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3af7002c6bdae5d621bc6440bd8bbf610b4a6e77", + "version": "0.10.1", + "port-version": 2 + }, { "git-tree": "f1c9d587cda9c08d9a07a874769567354c84b003", "version": "0.10.1",