From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/sol2/, dev-cpp/sol2/files/
Date: Wed, 31 Jul 2024 19:46:26 +0000 (UTC) [thread overview]
Message-ID: <1722455156.b2d0246fbfdeb088c4de598e4897bfa3fe9c0363.sam@gentoo> (raw)
commit: b2d0246fbfdeb088c4de598e4897bfa3fe9c0363
Author: Christopher Fore <csfore <AT> posteo <DOT> net>
AuthorDate: Wed Jul 31 19:37:26 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 31 19:45:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2d0246f
dev-cpp/sol2: Fix compilation on GCC 15
- Tests pass
- Patch taken from upstream
Closes: https://bugs.gentoo.org/936924
Signed-off-by: Christopher Fore <csfore <AT> posteo.net>
Closes: https://github.com/gentoo/gentoo/pull/37886
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-cpp/sol2/files/sol2-3.3.1-fix-emplace.patch | 18 +++++++
dev-cpp/sol2/sol2-3.3.1-r1.ebuild | 68 +++++++++++++++++++++++++
2 files changed, 86 insertions(+)
diff --git a/dev-cpp/sol2/files/sol2-3.3.1-fix-emplace.patch b/dev-cpp/sol2/files/sol2-3.3.1-fix-emplace.patch
new file mode 100644
index 000000000000..5d926a700979
--- /dev/null
+++ b/dev-cpp/sol2/files/sol2-3.3.1-fix-emplace.patch
@@ -0,0 +1,18 @@
+https://github.com/ThePhD/sol2/commit/d805d027e0a0a7222e936926139f06e23828ce9f
+
+From: =?UTF-8?q?=E2=80=9CPaulo?= <paulo@ubook.com>
+Date: Sat, 25 May 2024 01:52:59 -0300
+Subject: [PATCH] fix emplace
+
+--- a/include/sol/optional_implementation.hpp
++++ b/include/sol/optional_implementation.hpp
+@@ -2191,7 +2191,8 @@ namespace sol {
+ static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");
+
+ *this = nullopt;
+- this->construct(std::forward<Args>(args)...);
++ new (static_cast<void*>(this)) optional(std::in_place, std::forward<Args>(args)...);
++ return **this;
+ }
+
+ /// Swaps this optional with the other.
diff --git a/dev-cpp/sol2/sol2-3.3.1-r1.ebuild b/dev-cpp/sol2/sol2-3.3.1-r1.ebuild
new file mode 100644
index 000000000000..04c86b3588ee
--- /dev/null
+++ b/dev-cpp/sol2/sol2-3.3.1-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+inherit cmake lua
+
+DESCRIPTION="Header-only C++ <-> Lua API wrapper"
+HOMEPAGE="https://github.com/ThePhD/sol2"
+SRC_URI="https://github.com/ThePhD/sol2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="test"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ${LUA_DEPS}
+ test? (
+ >=dev-cpp/catch-3
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/sol2-3.3.0-werror.patch
+ "${FILESDIR}"/sol2-3.2.2-luajit-pkgconf.patch
+ "${FILESDIR}"/sol2-3.3.0-catch-depend.patch
+ "${FILESDIR}"/sol2-3.3.0-cmake-dir.patch
+ "${FILESDIR}"/sol2-3.3.0-dont-install-tests.patch
+ "${FILESDIR}"/sol2-3.3.1-fix-emplace.patch
+)
+
+src_configure() {
+ sol2_configure_wrapper() {
+ local mycmakeargs=(
+ -DSOL2_BUILD_LUA=no
+ -DSOL2_TESTS=$(usex test)
+ -DSOL2_LUA_VERSION="${ELUA}"
+ )
+ cmake_src_configure
+ }
+ lua_foreach_impl sol2_configure_wrapper
+}
+
+src_compile() {
+ lua_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ sol2_test_wrapper() {
+ if [[ ${ELUA} == luajit ]]; then
+ einfo "Skipping test due to https://github.com/ThePhD/sol2/issues/1221"
+ else
+ cmake_src_test
+ fi
+ }
+ lua_foreach_impl sol2_test_wrapper
+}
+
+src_install() {
+ lua_foreach_impl cmake_src_install
+}
next reply other threads:[~2024-07-31 19:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-31 19:46 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-11-19 20:30 [gentoo-commits] repo/gentoo:master commit in: dev-cpp/sol2/, dev-cpp/sol2/files/ David Seifert
2022-09-26 9:47 Ionen Wolkens
2021-07-14 5:47 Ionen Wolkens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1722455156.b2d0246fbfdeb088c4de598e4897bfa3fe9c0363.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox