meta-agl: split wireplumber to run in multiple instances
[AGL/meta-agl.git] / meta-pipewire / recipes-multimedia / wireplumber / wireplumber-config-agl_git.bb
1 SUMMARY     = "AGL configuration file for wireplumber"
2 HOMEPAGE    = "https://gitlab.freedesktop.org/gkiagia/wireplumber"
3 BUGTRACKER  = "https://jira.automotivelinux.org"
4 AUTHOR      = "George Kiagiadakis <george.kiagiadakis@collabora.com>"
5 SECTION     = "multimedia"
6 LICENSE = "MIT"
7 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
8 SRC_URI = "\
9     file://bluetooth.lua.d/ \
10     file://host.lua.d/ \
11     file://policy.lua.d \
12     file://00-functions.lua \
13     file://alsa-suspend.lua \
14     file://bluetooth.conf \
15     file://policy.conf \
16     file://wireplumber.conf \
17     file://wireplumber-bluetooth.conf \
18 "
19 PACKAGE_ARCH = "${MACHINE_ARCH}"
20
21 do_configure[noexec] = "1"
22 do_compile[noexec] = "1"
23 do_install:append() {
24     config_dir="${D}${sysconfdir}/wireplumber/"
25     scripts_dir="${D}${datadir}/wireplumber/scripts/"
26     dbus_config_dir="${D}${sysconfdir}/dbus-1/system.d/"
27     systemd_dir="${D}${sysconfdir}/systemd/system/pipewire.service.wants/"
28
29     install -d ${config_dir}
30     install -m 0644 ${WORKDIR}/00-functions.lua ${config_dir}
31
32     # config of the main (host) instance
33     install -d ${config_dir}/host.lua.d/
34     ln -s ../00-functions.lua ${config_dir}/host.lua.d/00-functions.lua
35     install -m 0644 ${WORKDIR}/host.lua.d/*.lua ${config_dir}/host.lua.d/
36     install -m 0644 ${WORKDIR}/wireplumber.conf ${config_dir}
37
38     # config of the policy instance
39     install -d ${config_dir}/policy.lua.d/
40     ln -s ../00-functions.lua ${config_dir}/policy.lua.d/00-functions.lua
41     install -m 0644 ${WORKDIR}/policy.lua.d/*.lua ${config_dir}/policy.lua.d/
42     install -m 0644 ${WORKDIR}/policy.conf ${config_dir}
43
44     # config of the bluetooth instance
45     install -d ${config_dir}/bluetooth.lua.d/
46     ln -s ../00-functions.lua ${config_dir}/bluetooth.lua.d/00-functions.lua
47     install -m 0644 ${WORKDIR}/bluetooth.lua.d/*.lua ${config_dir}/bluetooth.lua.d/
48     install -m 0644 ${WORKDIR}/bluetooth.conf ${config_dir}
49
50     # install the alsa-suspend script, loaded by the main instance
51     install -d ${scripts_dir}
52     install -m 0644 ${WORKDIR}/alsa-suspend.lua ${scripts_dir}
53
54     # install dbus daemon configuration
55     install -d ${dbus_config_dir}
56     install -m 0644 ${WORKDIR}/wireplumber-bluetooth.conf ${dbus_config_dir}
57
58     # enable additional systemd services
59     install -d ${systemd_dir}
60     ln -s ${systemd_system_unitdir}/wireplumber@.service ${systemd_dir}/wireplumber@policy.service
61     ln -s ${systemd_system_unitdir}/wireplumber@.service ${systemd_dir}/wireplumber@bluetooth.service
62 }
63
64 FILES:${PN} += "\
65     ${sysconfdir}/* \
66     ${datadir}/wireplumber/* \
67 "
68 CONFFILES:${PN} += "\
69     ${sysconfdir}/* \
70 "
71 RPROVIDES:${PN} += "virtual/wireplumber-config"