From 7038d6ffe4ec018a916598cb31e09e7aba8f1329 Mon Sep 17 00:00:00 2001 From: kbz_8 Date: Sun, 2 Feb 2025 08:49:15 +0100 Subject: [PATCH] Adding patch for sol2 3.3.0 (#6251) * adding patch for sol2 3.3.0 * Disable wasm plat --------- Co-authored-by: star9029 --- packages/s/sol2/patches/3.3.0/optional.patch | 14 ++++++++++++++ packages/s/sol2/xmake.lua | 7 ++++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 packages/s/sol2/patches/3.3.0/optional.patch diff --git a/packages/s/sol2/patches/3.3.0/optional.patch b/packages/s/sol2/patches/3.3.0/optional.patch new file mode 100644 index 00000000000..815326b6956 --- /dev/null +++ b/packages/s/sol2/patches/3.3.0/optional.patch @@ -0,0 +1,14 @@ +diff --git a/include/sol/optional_implementation.hpp b/include/sol/optional_implementation.hpp +index 26f41d0c..e22226d6 100644 +--- a/include/sol/optional_implementation.hpp ++++ b/include/sol/optional_implementation.hpp +@@ -2191,7 +2191,8 @@ namespace sol { + static_assert(std::is_constructible::value, "T must be constructible with Args"); + + *this = nullopt; +- this->construct(std::forward(args)...); ++ new (static_cast(this)) optional(std::in_place, std::forward(args)...); ++ return **this; + } + + /// Swaps this optional with the other. diff --git a/packages/s/sol2/xmake.lua b/packages/s/sol2/xmake.lua index 5828ed6ff46..55132781e70 100644 --- a/packages/s/sol2/xmake.lua +++ b/packages/s/sol2/xmake.lua @@ -1,10 +1,9 @@ package("sol2") - set_kind("library", {headeronly = true}) set_homepage("https://github.com/ThePhD/sol2") set_description("A C++ library binding to Lua.") - set_urls("https://github.com/ThePhD/sol2/archive/$(version).tar.gz", + set_urls("https://github.com/ThePhD/sol2/archive/refs/tags/$(version).tar.gz", "https://github.com/ThePhD/sol2.git") add_versions("v3.3.0", "b82c5de030e18cb2bcbcefcd5f45afd526920c517a96413f0b59b4332d752a1e") @@ -14,6 +13,8 @@ package("sol2") add_configs("includes_lua", {description = "Should this package includes the Lua package (set to false if you're shipping a custom Lua)", default = true, type = "boolean"}) + add_patches(">=3.3.0", path.join(os.scriptdir(), "patches", "3.3.0", "optional.patch"), "8440f25e5dedc29229c3def85aa6f24e0eb165d4c390fd0e1312452a569a01a6") + if is_plat("mingw") and is_subhost("msys") then add_extsources("pacman::sol2") elseif is_plat("linux") then @@ -32,7 +33,7 @@ package("sol2") end end) - on_install(function (package) + on_install("!wasm", function (package) local configs = {} if package:config("includes_lua") then if package:version() and package:version():ge("3.3") then