commit:     5bdff1dfb5cdf6d3c34be3108c514cbdd00eb2e1
Author:     Kacper Słomiński <kacper.slominski72 <AT> gmail <DOT> com>
AuthorDate: Thu Mar 28 03:50:11 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 28 04:00:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bdff1df

media-libs/noise-suppression-for-voice: Fix build with Clang

Closes: https://bugs.gentoo.org/925672
Signed-off-by: Kacper Słomiński <kacper.slominski72 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35957
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../noise-suppression-for-voice-1.03.ebuild                   | 11 ++++++++++-
 .../noise-suppression-for-voice-9999.ebuild                   | 11 ++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git 
a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.03.ebuild
 
b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.03.ebuild
index 78ff0308a9d3..0fd3b8452a21 100644
--- 
a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.03.ebuild
+++ 
b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.03.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit cmake
+inherit cmake flag-o-matic
 
 DESCRIPTION="A real-time noise suppression plugin for voice"
 HOMEPAGE="https://github.com/werman/noise-suppression-for-voice";
@@ -44,6 +44,15 @@ DEPEND="
 RDEPEND="${DEPEND}"
 
 src_configure() {
+       # Bug #925672
+       # append-atomic-flags does not work for us in this case, as it can
+       # only test for single integers of given sizes, meanwhile
+       # noise-suppression-for-voice does std::atomic<RnNoiseStats>, where
+       # RnNoiseStats is a struct with 4 uint32_t members.
+       if test-flags-CCLD "-latomic" &>/dev/null; then
+               append-flags -Wl,--push-state,--as-needed,-latomic,--pop-state
+       fi
+
        local mycmakeargs=(
                -DBUILD_LADSPA_PLUGIN=$(usex ladspa ON OFF)
                -DBUILD_LV2_PLUGIN=$(usex lv2 ON OFF)

diff --git 
a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
 
b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
index 78ff0308a9d3..0fd3b8452a21 100644
--- 
a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
+++ 
b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit cmake
+inherit cmake flag-o-matic
 
 DESCRIPTION="A real-time noise suppression plugin for voice"
 HOMEPAGE="https://github.com/werman/noise-suppression-for-voice";
@@ -44,6 +44,15 @@ DEPEND="
 RDEPEND="${DEPEND}"
 
 src_configure() {
+       # Bug #925672
+       # append-atomic-flags does not work for us in this case, as it can
+       # only test for single integers of given sizes, meanwhile
+       # noise-suppression-for-voice does std::atomic<RnNoiseStats>, where
+       # RnNoiseStats is a struct with 4 uint32_t members.
+       if test-flags-CCLD "-latomic" &>/dev/null; then
+               append-flags -Wl,--push-state,--as-needed,-latomic,--pop-state
+       fi
+
        local mycmakeargs=(
                -DBUILD_LADSPA_PLUGIN=$(usex ladspa ON OFF)
                -DBUILD_LV2_PLUGIN=$(usex lv2 ON OFF)

Reply via email to