diff options
Diffstat (limited to 'lib/cava')
-rw-r--r-- | lib/cava/cava.c | 4 | ||||
-rw-r--r-- | lib/cava/default.nix | 56 |
2 files changed, 58 insertions, 2 deletions
diff --git a/lib/cava/cava.c b/lib/cava/cava.c index 1c5ef66..2934335 100644 --- a/lib/cava/cava.c +++ b/lib/cava/cava.c @@ -440,7 +440,7 @@ static void astal_cava_cava_get_property(GObject* object, guint property_id, GVa g_value_set_int(value, self->bars); break; case ASTAL_CAVA_CAVA_PROP_VALUES: - g_value_set_pointer(value, self->values); + g_value_set_boxed(value, self->values); break; case ASTAL_CAVA_CAVA_PROP_AUTOSENS: g_value_set_boolean(value, self->autosens); @@ -558,7 +558,7 @@ static void astal_cava_cava_class_init(AstalCavaCavaClass* class) { * be 0. */ astal_cava_cava_properties[ASTAL_CAVA_CAVA_PROP_VALUES] = - g_param_spec_pointer("values", "values", "a list of values", G_PARAM_READABLE); + g_param_spec_boxed("values", "values", "a list of values", G_TYPE_ARRAY, G_PARAM_READABLE); /** * AstalCavaCava:active: * diff --git a/lib/cava/default.nix b/lib/cava/default.nix new file mode 100644 index 0000000..5472e8c --- /dev/null +++ b/lib/cava/default.nix @@ -0,0 +1,56 @@ +{ + mkAstalPkg, + pkgs, + ... +}: let + libcava = pkgs.stdenv.mkDerivation rec { + pname = "cava"; + version = "0.10.3"; + + src = pkgs.fetchFromGitHub { + owner = "LukashonakV"; + repo = "cava"; + rev = "0.10.3"; + hash = "sha256-ZDFbI69ECsUTjbhlw2kHRufZbQMu+FQSMmncCJ5pagg="; + }; + + buildInputs = with pkgs; [ + alsa-lib + libpulseaudio + ncurses + iniparser + sndio + SDL2 + libGL + portaudio + jack2 + pipewire + ]; + + propagatedBuildInputs = with pkgs; [ + fftw + ]; + + nativeBuildInputs = with pkgs; [ + autoreconfHook + autoconf-archive + pkgconf + meson + ninja + ]; + + preAutoreconf = '' + echo ${version} > version + ''; + }; +in + mkAstalPkg { + pname = "astal-cava"; + src = ./.; + packages = [libcava]; + + libname = "cava"; + authors = "kotontrion"; + gir-suffix = "Cava"; + description = "Audio visualization library using cava"; + } |