commit:     2f0d9a4a24a350f3a7cf7314acd8bce82dce9d56
Author:     Ceres <ceres <AT> ceressees <DOT> dev>
AuthorDate: Wed Nov  5 19:09:34 2025 +0000
Commit:     Ceres Milner <ceres <AT> ceressees <DOT> dev>
CommitDate: Wed Nov  5 19:09:34 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2f0d9a4a

media-sound/libcava: new package, add 0.10.2

Signed-off-by: Ceres <ceres <AT> ceressees.dev>

 media-sound/libcava/Manifest                       |  1 +
 .../files/libcava-0.8.0-gentoo-iniparser4.patch    | 15 ++++++
 media-sound/libcava/libcava-0.10.2.ebuild          | 59 ++++++++++++++++++++++
 3 files changed, 75 insertions(+)

diff --git a/media-sound/libcava/Manifest b/media-sound/libcava/Manifest
new file mode 100644
index 0000000000..4a65aec10a
--- /dev/null
+++ b/media-sound/libcava/Manifest
@@ -0,0 +1 @@
+DIST libcava-0.10.2.tar.gz 133928 BLAKE2B 
638208ef02240542dfd238e5073a70b2c75ae0562b004318a2f6f2293eba72af5815e36cbf2ed37d26f24b39efa5d2c97c53267d6f6bd7baa8a71fcd9cc6fe76
 SHA512 
8614fc57faa8184527c3840e370192cfeb9c28d12b958d3884cb7151886d288e3e728c2202a00ec8c4f3a96b2d12aea977616d382646846da0c18d7cd711ea24

diff --git a/media-sound/libcava/files/libcava-0.8.0-gentoo-iniparser4.patch 
b/media-sound/libcava/files/libcava-0.8.0-gentoo-iniparser4.patch
new file mode 100644
index 0000000000..3dcb060c28
--- /dev/null
+++ b/media-sound/libcava/files/libcava-0.8.0-gentoo-iniparser4.patch
@@ -0,0 +1,15 @@
+Gentoo uses non-standard naming for slotted iniparser:4 and it
+does not have a pkg-config file (ideally should be unslotted).
+Cava can use iniparser:0 as well but <3.2 forces legacy mode.
+--- a/configure.ac
++++ b/configure.ac
+@@ -259,6 +259,6 @@
+ 
+-AC_CHECK_LIB(iniparser,iniparser_load, have_iniparser=yes, have_iniparser=no)
++AC_CHECK_LIB(iniparser4,iniparser_load, have_iniparser=yes, have_iniparser=no)
+     if [[ $have_iniparser = "yes" ]] ; then
+-    LIBS="$LIBS -liniparser"
+-      CPPFLAGS="$CPPFLAGS -I/usr/include/iniparser"
++    LIBS="$LIBS -liniparser4"
++      CPPFLAGS="$CPPFLAGS -I${GENTOO_SYSROOT}/usr/include/iniparser4"
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iniparser.h>]],

diff --git a/media-sound/libcava/libcava-0.10.2.ebuild 
b/media-sound/libcava/libcava-0.10.2.ebuild
new file mode 100644
index 0000000000..983a1bd762
--- /dev/null
+++ b/media-sound/libcava/libcava-0.10.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Console-based Audio Visualizer for Alsa"
+HOMEPAGE="https://github.com/LukashonakV/cava/";
+SRC_URI="https://github.com/LukashonakV/cava/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
+
+S="${WORKDIR}/cava-${PV}"
+
+LICENSE="MIT Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="alsa jack +ncurses pipewire portaudio pulseaudio sdl sndio"
+
+RDEPEND="
+       dev-libs/iniparser
+       sci-libs/fftw:3.0=
+       alsa? ( media-libs/alsa-lib )
+       jack? ( virtual/jack )
+       ncurses? ( sys-libs/ncurses:= )
+       pipewire? ( media-video/pipewire:= )
+       portaudio? ( media-libs/portaudio )
+       pulseaudio? ( media-libs/libpulse )
+       sdl? (
+               media-libs/libglvnd
+               media-libs/libsdl2[opengl,video]
+       )
+       sndio? ( media-sound/sndio:= )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+"
+
+MYMESONARGS="-Dcava_font=false"
+
+src_prepare() {
+       default
+
+       echo ${PV} > version || die
+}
+
+src_configure() {
+               meson_src_configure
+}
+
+pkg_postinst() {
+       if [[ -z ${REPLACING_VERSIONS} ]]; then
+               elog "A default ~/.config/cava/config will be created after 
initial"
+               elog "use of ${PN}, see it and 
${EROOT}/usr/share/doc/${PF}/README*"
+               elog "for configuring audio input and more."
+       elif ver_test ${REPLACING_VERSIONS##* } -lt 0.9; then
+               elog "If used, the noise_reduction config option in 
~/.config/cava/config needs"
+               elog "to be updated from taking a float to integer (e.g. 
replace 0.77 with 77)."
+       fi
+}

Reply via email to