commit:     323cafda278f34bd4957affc1580c150e5a28a5a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 10:36:30 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 10:36:30 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=323cafda

kde-plasma/libksysguard: fix build w/ <libcxx-20

Per Robert on the bug:
> libksysguard 6.3.0 fails to build when using the LLVM profile because it now 
> uses
> std::jthread and std::stop_token that llvm's libc++ considers experimental
> and does not build by default.

They're unleashed in libcxx 20 which should be released shortly. In the 
meantime,
pass -fexperimental-library.

Closes: https://bugs.gentoo.org/949636
Thanks-to: Steffen Hau <steffen <AT> hauihau.de>
Thanks-to: Robert Holt <holt.r94 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 kde-plasma/libksysguard/libksysguard-6.3.0.ebuild | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/libksysguard/libksysguard-6.3.0.ebuild 
b/kde-plasma/libksysguard/libksysguard-6.3.0.ebuild
index d1f103a096e1..f3c4f5c10f74 100644
--- a/kde-plasma/libksysguard/libksysguard-6.3.0.ebuild
+++ b/kde-plasma/libksysguard/libksysguard-6.3.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
 ECM_TEST="true"
 KFMIN=6.10.0
 QTMIN=6.8.1
-inherit ecm fcaps plasma.kde.org
+inherit ecm fcaps flag-o-matic plasma.kde.org toolchain-funcs
 
 DESCRIPTION="Task management and system monitoring library"
 
@@ -39,6 +39,12 @@ RDEPEND="${DEPEND}
 FILECAPS=( -m 0755 cap_sys_nice=ep usr/libexec/ksysguard/ksgrd_network_helper )
 
 src_configure() {
+       # support std::jthread and std::stop_token is not enabled per default
+       # in libc++ prior to version 20, need to add "-fexperimental-library"
+       if tc-is-clang && [[ $(tc-get-cxx-stdlib) == libc++ ]] && [[ 
"$(clang-major-version)" -lt 20 ]]; then
+               append-cxxflags "-fexperimental-library"
+       fi
+
        local mycmakeargs=(
                -DCMAKE_DISABLE_FIND_PACKAGE_Libcap=ON
        )

Reply via email to