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@hauihau.de>
Thanks-to: Robert Holt <holt.r94@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-02-14 10:36:30 +00:00
parent 2978a74daa
commit 323cafda27

View File

@@ -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
)