From 3ff35e42210fbcf76312bb16455b93fa135ed7cd Mon Sep 17 00:00:00 2001 From: kotontrion Date: Sun, 29 Sep 2024 14:08:19 +0200 Subject: new lib: cava --- lib/cava/meson.build | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 lib/cava/meson.build (limited to 'lib/cava/meson.build') diff --git a/lib/cava/meson.build b/lib/cava/meson.build new file mode 100644 index 0000000..7d4bc4f --- /dev/null +++ b/lib/cava/meson.build @@ -0,0 +1,73 @@ +project( + 'astal-cava', + 'c', + version: '0.1.0', + default_options: ['c_std=gnu11', 'warning_level=3', 'prefix=/usr'], +) + +add_project_arguments(['-Wno-pedantic', '-Wno-unused-parameter'], language: 'c') + +version_split = meson.project_version().split('.') +lib_so_version = version_split[0] + '.' + version_split[1] + +pkg_config = import('pkgconfig') +gnome = import('gnome') + +srcs = files( + 'cava.c', + 'astal-cava.h' +) + +install_headers('astal-cava.h') + +deps = [ + dependency('gobject-2.0'), + dependency('gio-2.0'), + dependency('cava') +] + +astal_cava_lib = library( + 'astal-cava', + sources: srcs, + dependencies: deps, + version: meson.project_version(), + install: true, +) + +libastal_cava = declare_dependency(link_with: astal_cava_lib) + +pkg_config_name = 'astal-cava-' + lib_so_version + +if get_option('introspection') + gir = gnome.generate_gir( + astal_cava_lib, + sources: srcs, + nsversion: '0.1', + namespace: 'AstalCava', + symbol_prefix: 'astal_cava', + identifier_prefix: 'AstalCava', + includes: ['GObject-2.0', 'Gio-2.0'], + header: 'astal-cava.h', + export_packages: pkg_config_name, + install: true, + ) + + if get_option('vapi') + gnome.generate_vapi( + pkg_config_name, + sources: [gir[0]], + packages: ['gobject-2.0', 'gio-2.0'], + install: true, + ) + endif +endif + +pkg_config.generate( + name: 'astal-cava', + version: meson.project_version(), + libraries: [astal_cava_lib], + filebase: pkg_config_name, + subdirs: 'astal', + description: 'audio analyzing service using cava', + url: 'https://github.com/Aylur/astal', +) -- cgit v1.2.3 From 025d39abbcfa66b21dae48d63fee1c3d68822f0a Mon Sep 17 00:00:00 2001 From: Aylur Date: Mon, 14 Oct 2024 13:23:59 +0200 Subject: cava: initial nix build --- lib/cava/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/cava/meson.build') 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'], ) -- cgit v1.2.3 From 4d9ae88b0bab75779876d465f986791d052414ca Mon Sep 17 00:00:00 2001 From: kotontrion Date: Tue, 29 Oct 2024 13:38:20 +0100 Subject: cava: add libcava as subproject if libcava could not be found on the system, meson will fallback to the subproject, which should make packaging for nix easier --- lib/cava/meson.build | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/cava/meson.build') diff --git a/lib/cava/meson.build b/lib/cava/meson.build index 227a5e2..f7fba2d 100644 --- a/lib/cava/meson.build +++ b/lib/cava/meson.build @@ -20,10 +20,15 @@ srcs = files( install_headers('astal-cava.h') +cava = dependency('cava', + version : '>=0.10.3', + required: true, + fallback : ['cava', 'cava_dep']) + deps = [ dependency('gobject-2.0'), dependency('gio-2.0'), - dependency('cava') + cava ] astal_cava_lib = library( -- cgit v1.2.3 From 078dc047d9fdf6e676134cf92a05e56b868f1ab3 Mon Sep 17 00:00:00 2001 From: Aylur Date: Tue, 29 Oct 2024 14:08:50 +0000 Subject: touchups fix docs derivation format meson.build --- lib/cava/meson.build | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/cava/meson.build') diff --git a/lib/cava/meson.build b/lib/cava/meson.build index f7fba2d..874eaf7 100644 --- a/lib/cava/meson.build +++ b/lib/cava/meson.build @@ -14,21 +14,23 @@ pkg_config = import('pkgconfig') gnome = import('gnome') srcs = files( + 'astal-cava.h', 'cava.c', - 'astal-cava.h' ) install_headers('astal-cava.h') -cava = dependency('cava', - version : '>=0.10.3', - required: true, - fallback : ['cava', 'cava_dep']) +cava = dependency( + 'cava', + version: '>=0.10.3', + required: true, + fallback: ['cava', 'cava_dep'], +) deps = [ dependency('gobject-2.0'), dependency('gio-2.0'), - cava + cava, ] astal_cava_lib = library( -- cgit v1.2.3