summaryrefslogtreecommitdiff
path: root/dev-cpp/sol2/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/sol2/files')
-rw-r--r--dev-cpp/sol2/files/sol2-3.3.0-dont-install-tests.patch10
-rw-r--r--dev-cpp/sol2/files/sol2-3.3.0-werror.patch21
-rw-r--r--dev-cpp/sol2/files/sol2-3.5.0-catch-depend.patch16
-rw-r--r--dev-cpp/sol2/files/sol2-3.5.0-iterend.patch58
-rw-r--r--dev-cpp/sol2/files/sol2-3.5.0-luajit-pkgconf.patch17
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)