media-sound/easyeffects: add 9999

New branch has moved to Qt6 + KF6. Gives a good chance to move to
optfeature for all the plugins.

Signed-off-by: Alfred Wingate <parona@protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43838
Closes: https://github.com/gentoo/gentoo/pull/43838
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Alfred Wingate
2025-09-18 17:14:55 +03:00
committed by Sam James
parent 759b20b6c6
commit 34729e5a98

View File

@@ -0,0 +1,96 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KFMIN=6.10
inherit ecm optfeature toolchain-funcs xdg
DESCRIPTION="Limiter, auto volume and many other plugins for PipeWire applications"
HOMEPAGE="https://github.com/wwmm/easyeffects"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/wwmm/easyeffects"
else
SRC_URI="https://github.com/wwmm/easyeffects/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
LICENSE="GPL-3"
SLOT="0"
# No real tests. ECM brings appstream test which isn't relevant downstream.
RESTRICT="test"
RDEPEND="
dev-cpp/nlohmann_json
dev-cpp/tbb:=
dev-libs/glib:2
dev-libs/kirigami-addons:6
dev-libs/libportal:=[qt6]
dev-qt/qtbase:6[dbus,gui,network,widgets]
dev-qt/qtdeclarative:6
dev-qt/qtgraphs:6
kde-frameworks/kconfig:6
kde-frameworks/kconfigwidgets:6
kde-frameworks/kcoreaddons:6
kde-frameworks/ki18n:6
kde-frameworks/kiconthemes:6
kde-frameworks/kirigami:6
kde-frameworks/qqc2-desktop-style:6
media-libs/libbs2b
>=media-libs/libebur128-1.2.6:=
media-libs/libsamplerate
media-libs/libsndfile
media-libs/libsoundtouch:=
>=media-libs/lilv-0.24
media-libs/rnnoise
media-libs/speexdsp
>=media-libs/zita-convolver-3.0.0:=
>=media-video/pipewire-1.0.6:=[sound-server]
sci-libs/fftw:3.0=
sci-libs/gsl:=
"
DEPEND="${RDEPEND}
media-libs/ladspa-sdk
"
BDEPEND="
dev-libs/appstream
sys-devel/gettext
virtual/pkgconfig
"
pkg_pretend() {
if [[ ${MERGE_TYPE} != "binary" ]] ; then
if ! tc-is-gcc; then
if ! tc-is-clang || [[ $(clang-major-version) -lt 16 ]]; then
die "${PN} can only be built with GCC or >=Clang-16 due to required level of C++20 support"
fi
elif [[ $(gcc-major-version) -lt 11 ]] ; then
die "Since version 6.2.5, ${PN} requires GCC 11 or newer to build (bug #848072)"
fi
fi
}
src_configure() {
local libcxx=false
[[ $(tc-get-cxx-stdlib) == "libc++" ]] && libcxx=true
local mycmakeargs=(
-DENABLE_LIBCPP_WORKAROUNDS=${libcxx}
)
ecm_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
optfeature_header "Install optional audio plugins:"
optfeature "limiter, exciter, bass enhancer and others" media-plugins/calf
optfeature "equalizer, compressor, delay, loudness" media-libs/lsp-plugins
optfeature "maximizer" media-plugins/zam-plugins
optfeature "bass loudness" media-plugins/mda-lv2
optfeature "noise remover (available in GURU overlay)" media-sound/deep-filter[ladspa]
}