agl-service-audiomixer: switch to gerrit
[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 "
25
26 GST_VER = "1.0"
27
28 # systemd integration
29 PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
30
31 # SPA plugins
32 PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,udev alsa-lib"
33 PACKAGECONFIG[audioconvert] = "-Daudioconvert=true,-Daudioconvert=false,speexdsp"
34 PACKAGECONFIG[audiotestsrc] = "-Daudiotestsrc=true,-Daudiotestsrc=false, "
35 PACKAGECONFIG[bluez5] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc"
36 PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false,udev v4l-utils"
37 PACKAGECONFIG[videotestsrc] = "-Dvideotestsrc=true,-Dvideotestsrc=false, "
38
39 # alsa plugin to redirect audio to pipewire
40 PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=true,-Dpipewire-alsa=false,alsa-lib"
41 # pulseaudio drop-in replacement library
42 PACKAGECONFIG[pipewire-pulseaudio] = "-Dpipewire-pulseaudio=true,-Dpipewire-pulseaudio=false,pulseaudio glib-2.0"
43 # jack drop-in replacement library
44 PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=true,-Dpipewire-jack=false,jack"
45
46 # GStreamer plugins
47 PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreamer${GST_VER} gstreamer${GST_VER}-plugins-base"
48
49 # man pages
50 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
51
52 do_install_append() {
53     # only install the alsa config file if the alsa-lib plugin has been built
54     # this avoids creating the pipewire-alsa package when the pipewire-alsa
55     # feature is not enabled
56     if [ -d ${D}${libdir}/alsa-lib ]
57     then
58         mkdir -p ${D}${datadir}/alsa/alsa.conf.d
59         install -m 0644 ${S}/pipewire-alsa/conf/50-pipewire.conf ${D}${datadir}/alsa/alsa.conf.d/50-pipewire.conf
60     fi
61 }
62
63 PACKAGES =+ "\
64     ${PN}-spa-plugins \
65     ${PN}-alsa \
66     ${PN}-pulseaudio \
67     ${PN}-jack \
68     ${PN}-config \
69     gstreamer${GST_VER}-${PN} \
70     lib${PN} \
71     lib${PN}-modules \
72 "
73
74 FILES_${PN} = "\
75     ${bindir}/pipewire* \
76     ${systemd_user_unitdir}/* \
77 "
78
79 FILES_lib${PN} = "\
80     ${libdir}/libpipewire-*.so.* \
81 "
82
83 FILES_lib${PN}-modules = "\
84     ${libdir}/pipewire-*/* \
85 "
86
87 FILES_${PN}-spa-plugins = "\
88     ${bindir}/spa-* \
89     ${libdir}/spa/* \
90 "
91
92 FILES_${PN}-alsa = "\
93     ${libdir}/alsa-lib/* \
94     ${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
95 "
96
97 FILES_${PN}-pulseaudio = "\
98     ${libdir}/libpulse*.so.* \
99 "
100
101 FILES_gstreamer${GST_VER}-${PN} = "\
102     ${libdir}/gstreamer-${GST_VER}/* \
103 "
104
105 RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
106
107 # The default pipewire config.
108 # Replace in your own package using
109 # "virtual/pipewire-config"
110 FILES_${PN}-config = "\
111     ${sysconfdir}/pipewire/pipewire.conf \
112 "
113 CONFFILES_${PN}-config += "\
114     ${sysconfdir}/pipewire/pipewire.conf \
115 "
116 RPROVIDES_${PN}-config += "virtual/pipewire-config"