diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | docs/guide/libraries/cava.md | 2 | ||||
-rw-r--r-- | flake.nix | 1 | ||||
-rw-r--r-- | lib/cava/meson.build | 2 | ||||
-rw-r--r-- | lib/cava/version | 1 | ||||
-rw-r--r-- | nix/libcava.nix | 60 |
6 files changed, 65 insertions, 2 deletions
@@ -1,5 +1,6 @@ build/ result +result-dev .cache/ test.sh tmp/ diff --git a/docs/guide/libraries/cava.md b/docs/guide/libraries/cava.md index bbd5f4f..e695e16 100644 --- a/docs/guide/libraries/cava.md +++ b/docs/guide/libraries/cava.md @@ -67,7 +67,7 @@ cava :::code-group ```js [<i class="devicon-javascript-plain"></i> JavaScript] -import Wp from "gi://AstalCava" +import Cava from "gi://AstalCava" const cava = Cava.get_default() @@ -50,6 +50,7 @@ auth = mkPkg "astal-auth" ./lib/auth [pam]; battery = mkPkg "astal-battery" ./lib/battery [json-glib]; bluetooth = mkPkg "astal-bluetooth" ./lib/bluetooth []; + cava = mkPkg "astal-cava" ./lib/cava [(pkgs.callPackage ./nix/libcava.nix {})]; hyprland = mkPkg "astal-hyprland" ./lib/hyprland [json-glib]; mpris = mkPkg "astal-mpris" ./lib/mpris [gvfs json-glib]; network = mkPkg "astal-network" ./lib/network [networkmanager]; diff --git a/lib/cava/meson.build b/lib/cava/meson.build index 7d4bc4f..227a5e2 100644 --- a/lib/cava/meson.build +++ b/lib/cava/meson.build @@ -1,7 +1,7 @@ project( 'astal-cava', 'c', - version: '0.1.0', + version: run_command('cat', join_paths(meson.project_source_root(), 'version')).stdout().strip(), default_options: ['c_std=gnu11', 'warning_level=3', 'prefix=/usr'], ) diff --git a/lib/cava/version b/lib/cava/version new file mode 100644 index 0000000..6e8bf73 --- /dev/null +++ b/lib/cava/version @@ -0,0 +1 @@ +0.1.0 diff --git a/nix/libcava.nix b/nix/libcava.nix new file mode 100644 index 0000000..866599d --- /dev/null +++ b/nix/libcava.nix @@ -0,0 +1,60 @@ +{ + stdenv, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + alsa-lib, + fftw, + iniparser, + libpulseaudio, + portaudio, + sndio, + SDL2, + libGL, + pipewire, + jack2, + ncurses, + pkgconf, + meson, + ninja, +}: +stdenv.mkDerivation rec { + pname = "cava"; + version = "0.10.3"; + + src = fetchFromGitHub { + owner = "LukashonakV"; + repo = "cava"; + rev = "0.10.3"; + hash = "sha256-ZDFbI69ECsUTjbhlw2kHRufZbQMu+FQSMmncCJ5pagg="; + }; + + buildInputs = [ + alsa-lib + libpulseaudio + ncurses + iniparser + sndio + SDL2 + libGL + portaudio + jack2 + pipewire + ]; + + propagatedBuildInputs = [ + fftw + ]; + + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + pkgconf + meson + ninja + ]; + + preAutoreconf = '' + echo ${version} > version + ''; +} |