summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia')
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio.inc64
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch67
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb1
3 files changed, 97 insertions, 35 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 48759bca62..cf4be7ed40 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -56,49 +56,47 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
56 file://src/pulsecore/filter/biquad.h;beginline=1;endline=4;md5=6d46d1365206528a20137355924233c1 \ 56 file://src/pulsecore/filter/biquad.h;beginline=1;endline=4;md5=6d46d1365206528a20137355924233c1 \
57" 57"
58 58
59# libtool is needed for libltdl, used in module loading.
59DEPENDS = "libatomic-ops libsndfile1 libtool" 60DEPENDS = "libatomic-ops libsndfile1 libtool"
60# optional 61# optional
61DEPENDS += "udev alsa-lib glib-2.0" 62DEPENDS += "udev alsa-lib glib-2.0"
62DEPENDS += "speexdsp libxml-parser-perl-native libcap" 63DEPENDS += "speexdsp libxml-parser-perl-native libcap"
63 64
64inherit autotools bash-completion pkgconfig useradd gettext perlnative systemd manpages gsettings 65inherit bash-completion meson pkgconfig useradd gettext perlnative systemd manpages gsettings
65 66
66# *.desktop rules wont be generated during configure and build will fail 67# *.desktop rules wont be generated during configure and build will fail
67# if using --disable-nls 68# if using --disable-nls
68USE_NLS = "yes" 69USE_NLS = "yes"
69 70
70EXTRA_OECONF = "\ 71EXTRA_OEMESON = "\
71 --disable-hal-compat \ 72 -Dhal-compat=false \
72 --disable-orc \ 73 -Dorc=disabled \
73 --enable-tcpwrap=no \ 74 -Daccess_group=audio \
74 --with-access-group=audio \ 75 -Dopenssl=disabled \
75 --disable-openssl \ 76 -Ddatabase=simple \
76 --with-database=simple \ 77 -Dzshcompletiondir=no \
77 --without-zsh-completion-dir \ 78 -Dudevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \
78 --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ 79 -Dvalgrind=disabled \
79 ac_cv_header_valgrind_memcheck_h=no \ 80 -Dtests=false \
80 --disable-tests \ 81 -Drunning-from-build-tree=false \
81 --disable-running-from-build-tree \
82 --disable-esound \
83 --disable-gconf \
84" 82"
85 83
86# soxr (the SoX Resampler library) doesn't seem to be currently packaged in 84# 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. 85# oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now.
88EXTRA_OECONF += "--without-soxr" 86EXTRA_OEMESON += "-Dsoxr=disabled"
89 87
90# The FFTW dependency (for module-equalizer-sink) was removed in commit 88# The FFTW dependency (for module-equalizer-sink) was removed in commit
91# ddbd713293 without explaining why it was not made a PACKAGECONFIG item 89# ddbd713293 without explaining why it was not made a PACKAGECONFIG item
92# instead. Oh well, let's keep it disabled until someone expresses some 90# instead. Oh well, let's keep it disabled until someone expresses some
93# interest in having it enabled. 91# interest in having it enabled.
94EXTRA_OECONF += "--without-fftw" 92EXTRA_OEMESON += "-Dfftw=disabled"
95 93
96# The "adrian" echo canceller implementation has a non-standard license 94# The "adrian" echo canceller implementation has a non-standard license
97# (src/modules/echo-cancel/adrian-license.txt). It's a permissive license, so 95# (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 96# 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 97# 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). 98# very good anyway, better alternatives exist (such as the webrtc canceller).
101EXTRA_OECONF += "--disable-adrian-aec" 99EXTRA_OEMESON += "-Dadrian-aec=false"
102 100
103PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ 101PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
104 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ 102 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
@@ -107,26 +105,22 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5'
107 dbus gsettings \ 105 dbus gsettings \
108 " 106 "
109 107
110PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" 108PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
111PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" 109PACKAGECONFIG[bluez5] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc"
112PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0" 110PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0-native glib-2.0"
113PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono" 111PACKAGECONFIG[ofono] = "-Dbluez5-ofono-headset=true,-Dbluez5-ofono-headset=false,ofono"
114PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" 112PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
115PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal --with-systemduserunitdir=${systemd_user_unitdir},--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd" 113PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemduserunitdir=${systemd_user_unitdir},-Dsystemd=disabled,systemd"
116PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" 114PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxtst libice libsm libxcb"
117PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" 115PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
118PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" 116PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
119# Since many embedded systems don't have non-root users, it's useful to be 117# 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. 118# able to use pulseaudio autospawn for root as well.
121PACKAGECONFIG[autospawn-for-root] = ",,," 119PACKAGECONFIG[autospawn-for-root] = ",,,"
122PACKAGECONFIG[lirc] = "--enable-lirc,--disable-lirc,lirc" 120PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
123PACKAGECONFIG[webrtc] = "--enable-webrtc-aec,--disable-webrtc-aec,webrtc-audio-processing" 121PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing"
124PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 122PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false,"
125PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, " 123PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,"
126
127EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
128EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
129
130 124
131export TARGET_PFPU = "${TARGET_FPU}" 125export TARGET_PFPU = "${TARGET_FPU}"
132 126
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch
new file mode 100644
index 0000000000..d60a9a211f
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch
@@ -0,0 +1,67 @@
1From 6d202833a5ae241eeb648631cf95090c452198f9 Mon Sep 17 00:00:00 2001
2From: Tanu Kaskinen <tanuk@iki.fi>
3Date: Fri, 14 Feb 2020 07:29:33 +0200
4Subject: [PATCH] build-sys: Add an option for enabling/disabling Valgrind
5
6In OpenEmbedded the PulseAudio recipe currently disables Valgrind
7support by passing "ac_cv_header_valgrind_memcheck_h=no" to the
8configure script (this was added to make it deterministic whether
9Valgrdind support gets enabled or not). I'm converting the PulseAudio
10recipe to use Meson, and I needed an option to disable Valgrind.
11
12Upstream-Status: Backport
13
14Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
15---
16 meson.build | 6 +++++-
17 meson_options.txt | 3 +++
18 2 files changed, 8 insertions(+), 1 deletion(-)
19
20diff --git a/meson.build b/meson.build
21index 658eeee57..258962724 100644
22--- a/meson.build
23+++ b/meson.build
24@@ -220,7 +220,6 @@ check_headers = [
25 'sys/un.h',
26 'sys/wait.h',
27 'syslog.h',
28- 'valgrind/memcheck.h',
29 'xlocale.h',
30 ]
31
32@@ -231,6 +230,10 @@ foreach h : check_headers
33 endif
34 endforeach
35
36+if cc.has_header('valgrind/memcheck.h', required: get_option('valgrind'))
37+ cdata.set('HAVE_VALGRIND_MEMCHECK_H', 1)
38+endif
39+
40 # FIXME: move this to the above set
41 if cc.has_header('pthread.h')
42 cdata.set('HAVE_PTHREAD', 1)
43@@ -841,6 +844,7 @@ summary = [
44 'Enable SoXR (resampler): @0@'.format(soxr_dep.found()),
45 'Enable WebRTC echo canceller: @0@'.format(webrtc_dep.found()),
46 'Enable Gcov coverage: @0@'.format(get_option('gcov')),
47+ 'Enable Valgrind: @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')),
48 'Enable man pages: @0@'.format(get_option('man')),
49 'Enable unit tests: @0@'.format(get_option('tests')),
50 '',
51diff --git a/meson_options.txt b/meson_options.txt
52index 824f24e08..115cc84af 100644
53--- a/meson_options.txt
54+++ b/meson_options.txt
55@@ -138,6 +138,9 @@ option('systemd',
56 option('udev',
57 type : 'feature', value : 'auto',
58 description : 'Optional udev support')
59+option('valgrind',
60+ type : 'feature', value : 'auto',
61+ description : 'Optional Valgrind support')
62 option('x11',
63 type : 'feature', value : 'auto',
64 description : 'Optional X11 support')
65--
662.20.1
67
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb
index ac0c82e37d..63ef3a9c12 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb
@@ -3,6 +3,7 @@ require pulseaudio.inc
3SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ 3SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
4 file://0001-client-conf-Add-allow-autospawn-for-root.patch \ 4 file://0001-client-conf-Add-allow-autospawn-for-root.patch \
5 file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ 5 file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
6 file://0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch \
6 file://volatiles.04_pulse \ 7 file://volatiles.04_pulse \
7 " 8 "
8SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e" 9SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e"