commit:     97f9eb588373dee70da14e61648dfd3f7866184e
Author:     sin-ack <sin-ack <AT> protonmail <DOT> com>
AuthorDate: Sat Nov 23 19:46:57 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 23 20:16:55 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97f9eb58

dev-cpp/cpptoml: fix build on system-libcxx systems

I tried to find information about find_package(LIBCXX) but I couldn't
find anything, and testing in a system-libcxx system shows it to work
without this, so just remove any configuration related to it. Tested
with USE=examples and by building dev-util/watchman which has this
as a dependency.

Closes: https://bugs.gentoo.org/944516
Signed-off-by: sin-ack <sin-ack <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/39434
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...pptoml-0.1.1.ebuild => cpptoml-0.1.1-r1.ebuild} |  7 ++--
 .../files/cpptoml-0.1.1-remove-libcxx-config.patch | 37 ++++++++++++++++++++++
 2 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/dev-cpp/cpptoml/cpptoml-0.1.1.ebuild 
b/dev-cpp/cpptoml/cpptoml-0.1.1-r1.ebuild
similarity index 81%
rename from dev-cpp/cpptoml/cpptoml-0.1.1.ebuild
rename to dev-cpp/cpptoml/cpptoml-0.1.1-r1.ebuild
index e90c6978b955..d353eccd491f 100644
--- a/dev-cpp/cpptoml/cpptoml-0.1.1.ebuild
+++ b/dev-cpp/cpptoml/cpptoml-0.1.1-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit cmake toolchain-funcs
+inherit cmake
 
 DESCRIPTION="Header-only library for parsing TOML"
 HOMEPAGE="https://github.com/skystrife/cpptoml";
@@ -16,6 +16,7 @@ IUSE="examples"
 
 PATCHES=(
        "${FILESDIR}/${P}-limits.patch"
+       "${FILESDIR}/${P}-remove-libcxx-config.patch"
 )
 
 src_configure() {
@@ -23,9 +24,5 @@ src_configure() {
                -DCPPTOML_BUILD_EXAMPLES=$(usex examples)
        )
 
-       if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
-               mycmakeargs+=(-DENABLE_LIBCXX=ON)
-       fi
-
        cmake_src_configure
 }

diff --git a/dev-cpp/cpptoml/files/cpptoml-0.1.1-remove-libcxx-config.patch 
b/dev-cpp/cpptoml/files/cpptoml-0.1.1-remove-libcxx-config.patch
new file mode 100644
index 000000000000..a25f004d83e5
--- /dev/null
+++ b/dev-cpp/cpptoml/files/cpptoml-0.1.1-remove-libcxx-config.patch
@@ -0,0 +1,37 @@
+From bfb98b0f1e0ffdc187e87c79e1c3114eadc3fa0e Mon Sep 17 00:00:00 2001
+From: sin-ack <[email protected]>
+Date: Sat, 23 Nov 2024 20:28:52 +0100
+Subject: [PATCH] Remove custom configuration for libc++
+
+This doesn't seem to be necessary anymore for libc++ support, and
+actually breaks builds on system-libcxx systems.
+---
+ CMakeLists.txt | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4ec25cc..6f4753b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,7 +11,6 @@ include(CMakePushCheckState)
+ 
+ cmake_push_check_state()
+ 
+-option(ENABLE_LIBCXX "Use libc++ for the C++ standard library" ON)
+ option(CPPTOML_BUILD_EXAMPLES "Build examples" ON)
+ 
+ set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
+@@ -25,11 +24,6 @@ if(UNIX OR MINGW)
+     if(CMAKE_GENERATOR STREQUAL "Ninja")
+       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics")
+     endif()
+-
+-    if(ENABLE_LIBCXX)
+-      find_package(LIBCXX REQUIRED)
+-      set_libcxx_required_flags()
+-    endif()
+   endif()
+ endif()
+ 
+-- 
+2.45.2

Reply via email to