diff --git a/media-sound/libcava/Manifest b/media-sound/libcava/Manifest new file mode 100644 index 0000000..e934c28 --- /dev/null +++ b/media-sound/libcava/Manifest @@ -0,0 +1,4 @@ +AUX libcava-0.8.0-gentoo-iniparser4.patch 702 BLAKE2B 9ea8f952f0a9673d7348b4abeb46e480022205b3bf6a296b5f742e0dee15c81181c876829177159570b239c6c46c4b1177523eb60d3abf6e89640239e5192ba6 SHA512 ed474fc10475731ef733e77469782308c693d4b7214e911257e69499ab5cc598a13e0293644698f98d749e71c3002cbab857f8fda6e36a050bc8ff6be50af881 +DIST libcava-0.10.2.tar.gz 133928 BLAKE2B 638208ef02240542dfd238e5073a70b2c75ae0562b004318a2f6f2293eba72af5815e36cbf2ed37d26f24b39efa5d2c97c53267d6f6bd7baa8a71fcd9cc6fe76 SHA512 8614fc57faa8184527c3840e370192cfeb9c28d12b958d3884cb7151886d288e3e728c2202a00ec8c4f3a96b2d12aea977616d382646846da0c18d7cd711ea24 +EBUILD libcava-0.10.2.ebuild 1440 BLAKE2B 8bdd94a8c4b7ca489964760ef7f2b83655b4f77ae87e8dd556455b8e00e7a84dbd8694f22853331ae8e8dfc8baeb1913d8a7e4ad33dd57c46ac611cd791883fd SHA512 75bf373a86c58e26585f7726bb20e6e22188954b8f768cc7c1dc7b529df745b7a9693f10cae632f780934dc9aeba8ac693ba69069c0d41efeab781e6ce57ca29 +MISC metadata.xml 540 BLAKE2B 28ad0c08f02fa556007c8070119c71e86f4dfa08541052b8f4d58d32c5a80a0a288030d2b60955a6fa88a5c12bb39aefb6240eeb8dac2e608b9ff0f1768214da SHA512 3d6a3b36dc5bafbc92320065e198f2cd17776fee6194a3a55b723144c77532433d48d1dace9e1fd5e6fd09353e7188a22f508ca5cbe3e72d787f835d1c4bcae1 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 0000000..3dcb060 --- /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 ]], 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 0000000..c87391f --- /dev/null +++ b/media-sound/libcava/libcava-0.10.2.ebuild @@ -0,0 +1,57 @@ +# 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" + +LICENSE="MIT Unlicense" +SLOT="0" +KEYWORDS="amd64 x86" +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 +" + +S="${WORKDIR}/cava-${PV}" + +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 +}