commit:     cd27adc3beb65cda8f4226a1e9300d80300010ba
Author:     Kacper Słomiński <kacper.slominski72 <AT> gmail <DOT> com>
AuthorDate: Sun Jul 28 00:06:35 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 02:35:51 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd27adc3

media-libs/noise-suppression-for-voice: add 1.10-r1, update live

The new revision installs a sample PipeWire configuration file.
Additionally, we're getting rid of the "ladspa" USE flag, to make sure
the configuration always works. This shouldn't be a problem as the
ladspa plugin is not that heavy compared to all the other ones. This
also lets us clean up REQUIRED_USE.

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

 .../files/99-input-denoising.conf                  | 33 ++++++++++++++++++++++
 ... => noise-suppression-for-voice-1.10-r1.ebuild} | 27 ++++++++++++++++--
 .../noise-suppression-for-voice-9999.ebuild        | 23 +++++++++++++--
 3 files changed, 77 insertions(+), 6 deletions(-)

diff --git 
a/media-libs/noise-suppression-for-voice/files/99-input-denoising.conf 
b/media-libs/noise-suppression-for-voice/files/99-input-denoising.conf
new file mode 100644
index 000000000000..37b770619d82
--- /dev/null
+++ b/media-libs/noise-suppression-for-voice/files/99-input-denoising.conf
@@ -0,0 +1,33 @@
+context.modules = [
+{   name = libpipewire-module-filter-chain
+    args = {
+        node.description = "Noise Canceling source"
+        media.name = "Noise Canceling source"
+        filter.graph = {
+            nodes = [
+                {
+                    type = ladspa
+                    name = rnnoise
+                    plugin = %PATH_TO_LADSPA_PLUGIN%
+                    label = noise_suppressor_mono
+                    control = {
+                        "VAD Threshold (%)" = 50.0
+                        "VAD Grace Period (ms)" = 200
+                        "Retroactive VAD Grace (ms)" = 0
+                    }
+                }
+            ]
+        }
+        capture.props = {
+            node.name = "capture.rnnoise_source"
+            node.passive = true
+            audio.rate = 48000
+        }
+        playback.props = {
+            node.name = "rnnoise_source"
+            media.class = Audio/Source
+            audio.rate = 48000
+        }
+    }
+}
+]

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-1.10-r1.ebuild
similarity index 61%
copy from 
media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
copy to 
media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.10-r1.ebuild
index ef705f8b46f6..c2f614f070e7 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-1.10-r1.ebuild
@@ -19,8 +19,7 @@ fi
 LICENSE="GPL-3+"
 SLOT="0"
 
-IUSE="+ladspa lv2 vst vst3 test"
-REQUIRED_USE="|| ( ladspa lv2 vst vst3 )"
+IUSE="lv2 vst vst3 test"
 RESTRICT="!test? ( test )"
 
 COMMON_DEPEND="
@@ -39,12 +38,16 @@ DEPEND="
 
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+       "${FILESDIR}/${P}-tests.patch"
+)
+
 src_configure() {
        # Bug #925672
        append-atomic-flags
 
        local mycmakeargs=(
-               -DBUILD_LADSPA_PLUGIN=$(usex ladspa ON OFF)
+               -DBUILD_LADSPA_PLUGIN=ON
                -DBUILD_LV2_PLUGIN=$(usex lv2 ON OFF)
                -DBUILD_VST_PLUGIN=$(usex vst ON OFF)
                -DBUILD_VST3_PLUGIN=$(usex vst3 ON OFF)
@@ -59,3 +62,21 @@ src_test() {
        cp "${BUILD_DIR}/src/common/CTestTestfile.cmake" 
"${BUILD_DIR}/CTestTestfile.cmake" || die
        cmake_src_test
 }
+
+src_install() {
+       cmake_src_install
+
+       dodir /usr/share/pipewire/pipewire.conf.avail/
+       sed 
"s|%PATH_TO_LADSPA_PLUGIN%|${EPREFIX}/usr/$(get_libdir)/ladspa/librnnoise_ladspa.so|"
 \
+               "${FILESDIR}/99-input-denoising.conf" \
+               > 
"${D}/${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf"
 || die
+}
+
+pkg_postinst() {
+       elog "An example PipeWire configuration has been installed into:"
+       elog 
"${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf"
+       elog ""
+       elog "You can enable it by copying or symlinking the file into:"
+       elog "  ~/.config/pipewire/pipewire.conf.d/ for your user, or"
+       elog "  /etc/pipewire/pipewire.conf.d/ to enable it system-wide."
+}

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 ef705f8b46f6..0affaae2c0c2 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
@@ -19,8 +19,7 @@ fi
 LICENSE="GPL-3+"
 SLOT="0"
 
-IUSE="+ladspa lv2 vst vst3 test"
-REQUIRED_USE="|| ( ladspa lv2 vst vst3 )"
+IUSE="lv2 vst vst3 test"
 RESTRICT="!test? ( test )"
 
 COMMON_DEPEND="
@@ -44,7 +43,7 @@ src_configure() {
        append-atomic-flags
 
        local mycmakeargs=(
-               -DBUILD_LADSPA_PLUGIN=$(usex ladspa ON OFF)
+               -DBUILD_LADSPA_PLUGIN=ON
                -DBUILD_LV2_PLUGIN=$(usex lv2 ON OFF)
                -DBUILD_VST_PLUGIN=$(usex vst ON OFF)
                -DBUILD_VST3_PLUGIN=$(usex vst3 ON OFF)
@@ -59,3 +58,21 @@ src_test() {
        cp "${BUILD_DIR}/src/common/CTestTestfile.cmake" 
"${BUILD_DIR}/CTestTestfile.cmake" || die
        cmake_src_test
 }
+
+src_install() {
+       cmake_src_install
+
+       dodir /usr/share/pipewire/pipewire.conf.avail/
+       sed 
"s|%PATH_TO_LADSPA_PLUGIN%|${EPREFIX}/usr/$(get_libdir)/ladspa/librnnoise_ladspa.so|"
 \
+               "${FILESDIR}/99-input-denoising.conf" \
+               > 
"${D}/${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf"
 || die
+}
+
+pkg_postinst() {
+       elog "An example PipeWire configuration has been installed into:"
+       elog 
"${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf"
+       elog ""
+       elog "You can enable it by copying or symlinking the file into:"
+       elog "  ~/.config/pipewire/pipewire.conf.d/ for your user, or"
+       elog "  /etc/pipewire/pipewire.conf.d/ to enable it system-wide."
+}

Reply via email to