public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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
+}


             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