Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | SUMMARY = "Sound server for Linux and Unix-like operating systems" |
Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame] | 2 | DESCRIPTION = "A general purpose sound server intended to run as a middleware \ |
| 3 | between your applications and your hardware devices, either using ALSA or OSS." |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 4 | HOMEPAGE = "http://www.pulseaudio.org" |
| 5 | AUTHOR = "Lennart Poettering" |
| 6 | SECTION = "libs/multimedia" |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 7 | |
| 8 | # Most of PulseAudio code is under LGPLv2.1+. There are a few exceptions: |
| 9 | # |
| 10 | # The "adrian" echo canceller variant has code under a non-standard permissive |
| 11 | # license. See src/modules/echo-cancel/adrian-license.txt for details. This |
| 12 | # recipe disables the adrian echo canceller to avoid hassle with the unusual |
| 13 | # license. |
| 14 | # |
| 15 | # The src/modules/reserve* and src/pulsecore/rtkit* files are under the MIT |
| 16 | # license. |
| 17 | # |
| 18 | # The src/pulsecore/filter/ directory contains code under the 3-clause BSD |
| 19 | # license. |
| 20 | # |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 21 | # People who distribute PulseAudio binaries need to also consider that there |
| 22 | # are some dependencies to GPL libraries. LGPL code that depends on GPL |
| 23 | # libraries probably becomes effectively GPL-licensed (at compile-time? or at |
| 24 | # at link-time?). I'm not a lawyer, though, so I'm not sure of the exact |
| 25 | # implications. The GPL dependencies only affect the server, not the client |
| 26 | # library, with the exception of libdbus that affects both. These are the GPL |
| 27 | # library dependencies: |
| 28 | # |
| 29 | # One of the resampler implementations uses libsamplerate. This recipe doesn't |
| 30 | # enable that resampler, however. |
| 31 | # |
| 32 | # One of the database implementations uses gdbm. This recipe doesn't enable |
| 33 | # that database implementation, however. |
| 34 | # |
| 35 | # module-lirc (enabled by PACKAGECONFIG[lirc]) uses LIRC. |
| 36 | # |
| 37 | # module-equalizer-sink uses FFTW. This recipe disables that, however. |
| 38 | # |
| 39 | # The dependency with the most complicated licensing considerations is libdbus. |
| 40 | # When PACKAGECONFIG[dbus] is enabled (like it is by default), libdbus will be |
| 41 | # used by both the server and the client library (libpulse). Does this affect |
| 42 | # applications that use libpulse? It should be also noted that libdbus is |
| 43 | # dual-licensed: either GPLv2+ or AFL-2 terms apply. Whose decision is it which |
| 44 | # of the licenses apply? What a mess. Some people hold the view that libdbus is |
| 45 | # a system library that is covered by the "special exception" in GPLv2's |
| 46 | # section 3, and therefore libdbus's GPL license doesn't affect PulseAudio. |
| 47 | LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause" |
| 48 | |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 49 | LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 50 | file://GPL;md5=4325afd396febcb659c36b49533135d4 \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 51 | file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 52 | file://src/modules/echo-cancel/adrian-license.txt;md5=abbab006a561fbffccedf1c3531f34ab \ |
| 53 | file://src/pulsecore/filter/LICENSE.WEBKIT;md5=49defbaffddf8c51faf606ff7fc3b1f7 \ |
| 54 | file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84 \ |
| 55 | file://src/modules/reserve.h;beginline=6;endline=28;md5=0e23094760367d51b6609750e9b31fbb \ |
| 56 | file://src/pulsecore/rtkit.h;beginline=6;endline=29;md5=3f00ff966716ae0817c31576d1473528 \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 57 | file://src/modules/echo-cancel/adrian-aec.h;beginline=3;endline=12;md5=d3ed4fad1c073f8b06f37495dc5d1026 \ |
| 58 | file://src/pulsecore/filter/biquad.h;beginline=1;endline=4;md5=6d46d1365206528a20137355924233c1 \ |
| 59 | " |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 60 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 61 | # libtool is needed for libltdl, used in module loading. |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 62 | DEPENDS = "libatomic-ops libsndfile1 libtool" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 63 | # optional |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 64 | DEPENDS += "udev alsa-lib glib-2.0" |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 65 | DEPENDS += "speexdsp libxml-parser-perl-native libcap" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 66 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 67 | inherit bash-completion meson pkgconfig useradd gettext perlnative systemd manpages gsettings |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 68 | |
| 69 | # *.desktop rules wont be generated during configure and build will fail |
| 70 | # if using --disable-nls |
| 71 | USE_NLS = "yes" |
| 72 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 73 | EXTRA_OEMESON = "\ |
| 74 | -Dhal-compat=false \ |
| 75 | -Dorc=disabled \ |
| 76 | -Daccess_group=audio \ |
| 77 | -Dopenssl=disabled \ |
| 78 | -Ddatabase=simple \ |
| 79 | -Dzshcompletiondir=no \ |
| 80 | -Dudevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \ |
| 81 | -Dvalgrind=disabled \ |
| 82 | -Dtests=false \ |
| 83 | -Drunning-from-build-tree=false \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 84 | " |
| 85 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 86 | # soxr (the SoX Resampler library) doesn't seem to be currently packaged in |
| 87 | # oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now. |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 88 | EXTRA_OEMESON += "-Dsoxr=disabled" |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 89 | |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 90 | # The FFTW dependency (for module-equalizer-sink) was removed in commit |
| 91 | # ddbd713293 without explaining why it was not made a PACKAGECONFIG item |
| 92 | # instead. Oh well, let's keep it disabled until someone expresses some |
| 93 | # interest in having it enabled. |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 94 | EXTRA_OEMESON += "-Dfftw=disabled" |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 95 | |
| 96 | # The "adrian" echo canceller implementation has a non-standard license |
| 97 | # (src/modules/echo-cancel/adrian-license.txt). It's a permissive license, so |
| 98 | # the licensing terms are probably not problematic, but it would be an extra |
| 99 | # hassle to add the license to OE-Core's set of licenses. The canceller isn't |
| 100 | # very good anyway, better alternatives exist (such as the webrtc canceller). |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 101 | EXTRA_OEMESON += "-Dadrian-aec=false" |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 102 | |
Brad Bishop | 96ff198 | 2019-08-19 13:50:42 -0400 | [diff] [blame] | 103 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 104 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 105 | ${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 106 | ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd x11', d)} \ |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 107 | dbus gsettings \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 108 | " |
| 109 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 110 | PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus" |
Andrew Geissler | d159c7f | 2021-09-02 21:05:58 -0500 | [diff] [blame] | 111 | PACKAGECONFIG[bluez5] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 112 | PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0-native glib-2.0" |
| 113 | PACKAGECONFIG[ofono] = "-Dbluez5-ofono-headset=true,-Dbluez5-ofono-headset=false,ofono" |
| 114 | PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" |
| 115 | PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemduserunitdir=${systemd_user_unitdir},-Dsystemd=disabled,systemd" |
| 116 | PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxtst libice libsm libxcb" |
| 117 | PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" |
| 118 | PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 119 | # Since many embedded systems don't have non-root users, it's useful to be |
| 120 | # able to use pulseaudio autospawn for root as well. |
| 121 | PACKAGECONFIG[autospawn-for-root] = ",,," |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 122 | PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc" |
| 123 | PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing" |
| 124 | PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false," |
| 125 | PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false," |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 126 | |
| 127 | export TARGET_PFPU = "${TARGET_FPU}" |
| 128 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 129 | set_cfg_value () { |
| 130 | sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1" |
| 131 | if ! grep -q "^$2 = $3\$" "$1"; then |
| 132 | die "Use of sed to set '$2' to '$3' in '$1' failed" |
| 133 | fi |
| 134 | } |
| 135 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 136 | do_compile:append () { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 137 | if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root', 'true', 'false', d)}; then |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 138 | set_cfg_value src/pulse/client.conf allow-autospawn-for-root yes |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 139 | fi |
| 140 | } |
| 141 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 142 | do_install:append() { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 143 | install -d ${D}${sysconfdir}/default/volatiles |
Andrew Geissler | 6ce62a2 | 2020-11-30 19:58:47 -0600 | [diff] [blame] | 144 | install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 145 | } |
| 146 | |
| 147 | USERADD_PACKAGES = "pulseaudio-server" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 148 | GROUPADD_PARAM:pulseaudio-server = "--system pulse" |
| 149 | USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 150 | --no-create-home --shell /bin/false \ |
| 151 | --groups audio,pulse --gid pulse pulse" |
| 152 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 153 | PACKAGES =+ "\ |
| 154 | libpulse \ |
| 155 | libpulse-mainloop-glib \ |
| 156 | libpulse-simple \ |
| 157 | libpulsecommon \ |
| 158 | libpulsecore \ |
| 159 | ${PN}-pa-info \ |
| 160 | ${PN}-server \ |
| 161 | ${PN}-misc \ |
| 162 | " |
| 163 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 164 | # The console-kit module is included here explicitly so bitbake can map to the |
| 165 | # RDEPENDS we define for it in this recipe, and thereby ensure that when |
| 166 | # adding the console-kit module to an image, we also get the necessary |
| 167 | # consolekit package produced. |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 168 | PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 169 | |
| 170 | #upgrade path: |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 171 | RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 172 | |
| 173 | PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*" |
| 174 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 175 | FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so" |
| 176 | FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 177 | |
| 178 | # client.conf configures the behaviour of libpulse, so it belongs in the same |
| 179 | # package. |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 180 | FILES:libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 181 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 182 | FILES:libpulse-simple = "${libdir}/libpulse-simple.so.*" |
| 183 | FILES:libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 184 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 185 | FILES:${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala" |
| 186 | FILES:${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse" |
| 187 | FILES:${PN}-pa-info = "${bindir}/pa-info" |
| 188 | FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 189 | |
| 190 | #SYSTEMD_PACKAGES = "${PN}-server" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 191 | SYSTEMD_SERVICE:${PN}-server = "pulseaudio.service" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 192 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 193 | FILES:${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 194 | |
| 195 | # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 196 | FILES:${PN} = "" |
| 197 | ALLOW_EMPTY:${PN} = "1" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 198 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 199 | CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 200 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 201 | CONFFILES:pulseaudio-server = "\ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 202 | ${sysconfdir}/pulse/default.pa \ |
| 203 | ${sysconfdir}/pulse/daemon.conf \ |
| 204 | ${sysconfdir}/pulse/system.pa \ |
| 205 | " |
| 206 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 207 | pkg_postinst:${PN}-server() { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 208 | if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then |
| 209 | ${sysconfdir}/init.d/populate-volatile.sh update |
| 210 | fi |
| 211 | } |
| 212 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 213 | python populate_packages:prepend() { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 214 | plugindir = d.expand('${libdir}/pulse-${PV}/modules/') |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 215 | do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True) |
| 216 | do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True) |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 217 | } |
| 218 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 219 | # pa-info is a bash script that collects information about the audio setup. |
| 220 | # It's primarily useful for attaching an information dump when reporting bugs. |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 221 | RDEPENDS:${PN}-pa-info = "\ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 222 | alsa-utils-amixer \ |
| 223 | alsa-utils-aplay \ |
| 224 | alsa-utils-scripts \ |
| 225 | bash \ |
| 226 | ${PN}-server \ |
| 227 | " |
| 228 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 229 | RDEPENDS:pulseaudio-server = " \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 230 | pulseaudio-module-filter-apply \ |
| 231 | pulseaudio-module-filter-heuristics \ |
| 232 | pulseaudio-module-udev-detect \ |
| 233 | pulseaudio-module-null-sink \ |
| 234 | pulseaudio-module-device-restore \ |
| 235 | pulseaudio-module-stream-restore \ |
| 236 | pulseaudio-module-card-restore \ |
| 237 | pulseaudio-module-augment-properties \ |
| 238 | pulseaudio-module-detect \ |
| 239 | pulseaudio-module-alsa-sink \ |
| 240 | pulseaudio-module-alsa-source \ |
| 241 | pulseaudio-module-alsa-card \ |
| 242 | pulseaudio-module-native-protocol-unix \ |
| 243 | pulseaudio-module-default-device-restore \ |
| 244 | pulseaudio-module-intended-roles \ |
| 245 | pulseaudio-module-rescue-streams \ |
| 246 | pulseaudio-module-always-sink \ |
| 247 | pulseaudio-module-suspend-on-idle \ |
| 248 | pulseaudio-module-position-event-sounds \ |
| 249 | pulseaudio-module-role-cork \ |
| 250 | pulseaudio-module-switch-on-port-available" |
| 251 | |
| 252 | # If the server is installed, it's usually desirable to make ALSA applications |
| 253 | # use PulseAudio. alsa-plugins-pulseaudio-conf will install the configuration |
| 254 | # that makes the PulseAudio plugin the default ALSA device. |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 255 | RDEPENDS:pulseaudio-server += "alsa-plugins-pulseaudio-conf" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 256 | |
| 257 | # pulseaudio-module-console-kit is built whenever dbus is enabled by PACKAGECONFIG |
| 258 | # but consolekit depends on libx11 and is available only for DISTRO with x11 in DISTRO_FEATURES |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 259 | RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}" |
| 260 | RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 261 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 262 | FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer" |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 263 | |
| 264 | GSETTINGS_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'gsettings', '${PN}-module-gsettings', '', d)}" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 265 | FILES:${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 266 | |
| 267 | # The console-kit module is good to have on X11 systems (it keeps PulseAudio |
| 268 | # running for the duration of the user login session). The device-manager and |
| 269 | # x11-* modules are referenced from the start-pulseaudio-x11 script, so those |
| 270 | # modules must be installed when X11 is enabled. |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 271 | RDEPENDS:pulseaudio-server += "\ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 272 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 273 | pulseaudio-module-device-manager \ |
| 274 | pulseaudio-module-x11-cork-request \ |
| 275 | pulseaudio-module-x11-publish \ |
| 276 | pulseaudio-module-x11-xsmp \ |
| 277 | ', '', d)}" |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 278 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 279 | RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \ |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 280 | bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \ |
| 281 | '', d)}" |