pipewire: security-manager: add patch to grant dbus privilege to pipewire
[AGL/meta-agl-devel.git] / meta-pipewire / recipes-multimedia / pipewire / pipewire.inc
1 SUMMARY     = "Multimedia processing server for Linux"
2 HOMEPAGE    = "https://pipewire.org"
3 BUGTRACKER  = "https://github.com/PipeWire/pipewire/issues"
4 AUTHOR      = "Wim Taymans <wtaymans@redhat.com>"
5 SECTION     = "multimedia"
6
7 LICENSE = "MIT & LGPL-2.1"
8 LIC_FILES_CHKSUM = "\
9     file://COPYING;beginline=3;md5=b3adc775ca6ee80056383a5ae814cc75 \
10     file://pipewire-alsa/LICENSE;md5=fc178bcd425090939a8b634d1d6a9594 \
11     file://pipewire-jack/LICENSE;md5=fc178bcd425090939a8b634d1d6a9594 \
12     file://pipewire-pulseaudio/LICENSE;md5=fc178bcd425090939a8b634d1d6a9594 \
13 "
14
15 inherit meson pkgconfig systemd manpages
16
17 DEPENDS = "dbus"
18
19 PACKAGECONFIG ??= "\
20     ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
21     ${@bb.utils.filter('DISTRO_FEATURES', 'bluez5', d)} \
22     alsa audioconvert \
23     pipewire-alsa \
24     gstreamer \
25 "
26
27 GST_VER = "1.0"
28
29 # systemd integration
30 PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
31
32 # SPA plugins
33 PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,udev alsa-lib"
34 PACKAGECONFIG[audioconvert] = "-Daudioconvert=true,-Daudioconvert=false,speexdsp"
35 PACKAGECONFIG[audiotestsrc] = "-Daudiotestsrc=true,-Daudiotestsrc=false, "
36 PACKAGECONFIG[bluez5] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc"
37 PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false,udev v4l-utils"
38 PACKAGECONFIG[videotestsrc] = "-Dvideotestsrc=true,-Dvideotestsrc=false, "
39
40 # alsa plugin to redirect audio to pipewire
41 PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=true,-Dpipewire-alsa=false,alsa-lib"
42 # pulseaudio drop-in replacement library
43 PACKAGECONFIG[pipewire-pulseaudio] = "-Dpipewire-pulseaudio=true,-Dpipewire-pulseaudio=false,pulseaudio glib-2.0"
44 # jack drop-in replacement library
45 PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=true,-Dpipewire-jack=false,jack"
46
47 # GStreamer plugins
48 PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreamer${GST_VER} gstreamer${GST_VER}-plugins-base"
49
50 # man pages
51 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
52
53 do_install_append() {
54     # only install the alsa config file if the alsa-lib plugin has been built
55     # this avoids creating the pipewire-alsa package when the pipewire-alsa
56     # feature is not enabled
57     if [ -d ${D}${libdir}/alsa-lib ]
58     then
59         mkdir -p ${D}${datadir}/alsa/alsa.conf.d
60         install -m 0644 ${S}/pipewire-alsa/conf/50-pipewire.conf ${D}${datadir}/alsa/alsa.conf.d/50-pipewire.conf
61     fi
62 }
63
64 PACKAGES =+ "\
65     ${PN}-spa-plugins \
66     ${PN}-alsa \
67     ${PN}-pulseaudio \
68     ${PN}-jack \
69     ${PN}-config \
70     gstreamer${GST_VER}-${PN} \
71     lib${PN} \
72     lib${PN}-modules \
73 "
74
75 FILES_${PN} = "\
76     ${bindir}/pipewire* \
77     ${systemd_user_unitdir}/* \
78 "
79
80 FILES_lib${PN} = "\
81     ${libdir}/libpipewire-*.so.* \
82 "
83
84 FILES_lib${PN}-modules = "\
85     ${libdir}/pipewire-*/* \
86 "
87
88 FILES_${PN}-spa-plugins = "\
89     ${bindir}/spa-* \
90     ${libdir}/spa/* \
91 "
92
93 FILES_${PN}-alsa = "\
94     ${libdir}/alsa-lib/* \
95     ${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
96 "
97
98 FILES_${PN}-pulseaudio = "\
99     ${libdir}/libpulse*.so.* \
100 "
101
102 FILES_gstreamer${GST_VER}-${PN} = "\
103     ${libdir}/gstreamer-${GST_VER}/* \
104 "
105
106 RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
107
108 # The default pipewire config.
109 # Replace in your own package using
110 # "virtual/pipewire-config"
111 FILES_${PN}-config = "\
112     ${sysconfdir}/pipewire/pipewire.conf \
113 "
114 CONFFILES_${PN}-config += "\
115     ${sysconfdir}/pipewire/pipewire.conf \
116 "
117 RPROVIDES_${PN}-config += "virtual/pipewire-config"