git: ce57a1a89fb6 - 2024Q4 - devel/sol2: fix dependant ports build failure with clang 18
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Oct 2024 03:37:55 UTC
The branch 2024Q4 has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=ce57a1a89fb6b3fb64d93cbb5383a4a6008b3bb1 commit ce57a1a89fb6b3fb64d93cbb5383a4a6008b3bb1 Author: Pavel Timofeev <timp87@gmail.com> AuthorDate: 2024-10-14 15:02:33 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2024-10-15 03:37:52 +0000 devel/sol2: fix dependant ports build failure with clang 18 PR: 282018 (cherry picked from commit 36244079e47839605d7ad2a55edc67ec25784fd3) --- devel/sol2/Makefile | 10 ++++++++- ...atch-include_sol_function__types__stateless.hpp | 24 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/devel/sol2/Makefile b/devel/sol2/Makefile index 5534a858df0f..5add3e1ba977 100644 --- a/devel/sol2/Makefile +++ b/devel/sol2/Makefile @@ -1,6 +1,7 @@ PORTNAME= sol2 DISTVERSIONPREFIX= v DISTVERSION= 4.0.0-alpha +PORTREVISION= 1 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org @@ -19,4 +20,11 @@ CMAKE_TESTING_ON= SOL2_TESTS NO_ARCH= yes -.include <bsd.port.mk> +.include <bsd.port.pre.mk> + +.if ${CHOSEN_COMPILER_TYPE} == clang && \ + ${COMPILER_VERSION} >= 180 && ${COMPILER_VERSION} < 190 +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-include_sol_function__types__stateless.hpp +.endif + +.include <bsd.port.post.mk> diff --git a/devel/sol2/files/extra-patch-include_sol_function__types__stateless.hpp b/devel/sol2/files/extra-patch-include_sol_function__types__stateless.hpp new file mode 100644 index 000000000000..631f76037184 --- /dev/null +++ b/devel/sol2/files/extra-patch-include_sol_function__types__stateless.hpp @@ -0,0 +1,24 @@ +--- include/sol/function_types_stateless.hpp.orig 2021-03-06 06:03:23 UTC ++++ include/sol/function_types_stateless.hpp +@@ -320,7 +320,9 @@ namespace sol { namespace function_detail { + } + + template <bool is_yielding, bool no_trampoline> +- static int call(lua_State* L) noexcept(std::is_nothrow_copy_assignable_v<T>) { ++ static int call(lua_State* L) ++ // regression in clang 18 - llvm/llvm-project#91362 ++ { + int nr; + if constexpr (no_trampoline) { + nr = real_call(L); +@@ -360,7 +362,9 @@ namespace sol { namespace function_detail { + } + + template <bool is_yielding, bool no_trampoline> +- static int call(lua_State* L) noexcept(std::is_nothrow_copy_assignable_v<T>) { ++ static int call(lua_State* L) ++ // regression in clang 18 - llvm/llvm-project#91362 ++ { + int nr; + if constexpr (no_trampoline) { + nr = real_call(L);