diff options
Diffstat (limited to 'dev-cpp/sol2/files')
| -rw-r--r-- | dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch | 10 | ||||
| -rw-r--r-- | dev-cpp/sol2/files/sol2-3.3.0-werror.patch | 21 | ||||
| -rw-r--r-- | dev-cpp/sol2/files/sol2-3.5.0-catch-depend.patch | 16 | ||||
| -rw-r--r-- | dev-cpp/sol2/files/sol2-3.5.0-iterend.patch | 58 | ||||
| -rw-r--r-- | dev-cpp/sol2/files/sol2-3.5.0-luajit-pkgconf.patch | 17 |
5 files changed, 122 insertions, 0 deletions
diff --git a/dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch b/dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch new file mode 100644 index 000000000000..e1186958973a --- /dev/null +++ b/dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch @@ -0,0 +1,10 @@ +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -60,7 +60,6 @@ function(sol2_add_test_properties target-name) + + add_test(NAME ${target-name} COMMAND ${target-name}) + if(SOL2_ENABLE_INSTALL) +- install(TARGETS ${target-name} RUNTIME DESTINATION bin) + endif() + endfunction() + diff --git a/dev-cpp/sol2/files/sol2-3.3.0-werror.patch b/dev-cpp/sol2/files/sol2-3.3.0-werror.patch new file mode 100644 index 000000000000..27118f38cafd --- /dev/null +++ b/dev-cpp/sol2/files/sol2-3.3.0-werror.patch @@ -0,0 +1,21 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -208,7 +208,6 @@ if (sol2-is-top-level-project) + check_compiler_flag(warn-pedantic GCC -Wpedantic) + check_compiler_flag(warn-all MSVC /W4 GCC -Wall) + check_compiler_flag(warn-extra GCC -Wextra) +- check_compiler_flag(warn-errors MSVC /WX GCC -Werror) + # Individual warnings/errors + check_compiler_diagnostic(unknown-warning) + check_compiler_diagnostic(unknown-warning-option) +--- a/examples/customization/CMakeLists.txt ++++ b/examples/customization/CMakeLists.txt +@@ -45,7 +45,7 @@ function (MAKE_CUSTOMIZATION_EXAMPLE example_suffix target_sol) + PRIVATE -std=c++1z
+ -ftemplate-backtrace-limit=0
+ -Wno-unknown-warning -Wno-unknown-warning-option
+- -Wall -Wpedantic -Werror -pedantic -pedantic-errors
++ -Wall -Wpedantic -pedantic -pedantic-errors
+ -Wno-noexcept-type)
+ endif()
+
diff --git a/dev-cpp/sol2/files/sol2-3.5.0-catch-depend.patch b/dev-cpp/sol2/files/sol2-3.5.0-catch-depend.patch new file mode 100644 index 000000000000..1b5c4f1de1af --- /dev/null +++ b/dev-cpp/sol2/files/sol2-3.5.0-catch-depend.patch @@ -0,0 +1,16 @@ +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -23,12 +23,7 @@ + # # # # sol2 tests + + # # Dependencies +-FetchContent_Declare( +- Catch2 +- GIT_REPOSITORY https://github.com/catchorg/Catch2.git +- GIT_TAG devel +-) +-FetchContent_MakeAvailable(Catch2) ++find_package(Catch2 REQUIRED) + + function(sol2_add_test_properties target-name) + target_link_libraries(${target-name} diff --git a/dev-cpp/sol2/files/sol2-3.5.0-iterend.patch b/dev-cpp/sol2/files/sol2-3.5.0-iterend.patch new file mode 100644 index 000000000000..b7e8a1c4fcbf --- /dev/null +++ b/dev-cpp/sol2/files/sol2-3.5.0-iterend.patch @@ -0,0 +1,58 @@ +https://github.com/ThePhD/sol2/pull/1676 +https://bugs.gentoo.org/955999 + +From 8f80cd79f60613b96c877cec2bba3efee2a78225 Mon Sep 17 00:00:00 2001 +From: martin nylin <martin.nylin@gmail.com> +Date: Tue, 11 Mar 2025 20:58:43 +0100 +Subject: [PATCH 1/2] Change end() to sen() in usertype_container.hpp + +--- + include/sol/usertype_container.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/sol/usertype_container.hpp b/include/sol/usertype_container.hpp +index 6d25d2a8..3ff81724 100644 +--- a/include/sol/usertype_container.hpp ++++ b/include/sol/usertype_container.hpp +@@ -1189,7 +1189,7 @@ namespace sol { + static int next_associative(std::true_type, lua_State* L_) { + iter& i = stack::unqualified_get<user<iter>>(L_, 1); + auto& it = i.it(); +- auto& end = i.end(); ++ auto& end = i.sen(); + if (it == end) { + return stack::push(L_, lua_nil); + } + +From a6872ef46b08704b9069ebf83161f4637459ce63 Mon Sep 17 00:00:00 2001 +From: martin nylin <martin.nylin@gmail.com> +Date: Tue, 11 Mar 2025 21:28:44 +0100 +Subject: [PATCH 2/2] Fix array index out of bounds in stack_field.hpp + +--- + include/sol/stack_field.hpp | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/include/sol/stack_field.hpp b/include/sol/stack_field.hpp +index 9dd66e2e..3b815225 100644 +--- a/include/sol/stack_field.hpp ++++ b/include/sol/stack_field.hpp +@@ -113,7 +113,17 @@ namespace sol { namespace stack { + lua_getglobal(L, &key[0]); + } + else { +- lua_getfield(L, tableindex, &key[0]); ++ if constexpr (std::is_same_v<std::decay_t<Key>, const char*>) { ++ // Handle const char* case ++ if (key != nullptr) { ++ lua_getfield(L, tableindex, key); ++ } else { ++ push(L, lua_nil); ++ } ++ } else { ++ // Handle std::string case ++ lua_getfield(L, tableindex, key.c_str()); ++ } + } + } + else if constexpr (std::is_same_v<T, meta_function>) { diff --git a/dev-cpp/sol2/files/sol2-3.5.0-luajit-pkgconf.patch b/dev-cpp/sol2/files/sol2-3.5.0-luajit-pkgconf.patch new file mode 100644 index 000000000000..2422d29a90fc --- /dev/null +++ b/dev-cpp/sol2/files/sol2-3.5.0-luajit-pkgconf.patch @@ -0,0 +1,17 @@ +Use the lua version selected by lua eclass + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -188,7 +188,11 @@ if (SOL2_IS_TOP_LEVEL AND (SOL2_DO_TESTS OR SOL2_DO_EXAMPLES)) + + string(TOLOWER ${SOL2_LUA_VERSION} NORMALIZED_LUA_VERSION) + # Find way to get Lua: build if requested, or attempt to build if no matching version is found +- if (SOL2_BUILD_LUA) ++ if (TRUE) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(LUA REQUIRED lua IMPORTED_TARGET) ++ add_library(Lua::Lua ALIAS PkgConfig::LUA) ++ elseif (SOL2_BUILD_LUA) + find_package(LuaBuild REQUIRED COMPONENTS ${SOL2_LUA_VERSION}) + elseif (NOT SOL2_LUA_VERSION) + find_package(LuaBuild REQUIRED) |
