diff options
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. | ||
59 | DEPENDS = "libatomic-ops libsndfile1 libtool" | 60 | DEPENDS = "libatomic-ops libsndfile1 libtool" |
60 | # optional | 61 | # optional |
61 | DEPENDS += "udev alsa-lib glib-2.0" | 62 | DEPENDS += "udev alsa-lib glib-2.0" |
62 | DEPENDS += "speexdsp libxml-parser-perl-native libcap" | 63 | DEPENDS += "speexdsp libxml-parser-perl-native libcap" |
63 | 64 | ||
64 | inherit autotools bash-completion pkgconfig useradd gettext perlnative systemd manpages gsettings | 65 | inherit 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 |
68 | USE_NLS = "yes" | 69 | USE_NLS = "yes" |
69 | 70 | ||
70 | EXTRA_OECONF = "\ | 71 | EXTRA_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. |
88 | EXTRA_OECONF += "--without-soxr" | 86 | EXTRA_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. |
94 | EXTRA_OECONF += "--without-fftw" | 92 | EXTRA_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). |
101 | EXTRA_OECONF += "--disable-adrian-aec" | 99 | EXTRA_OEMESON += "-Dadrian-aec=false" |
102 | 100 | ||
103 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ | 101 | PACKAGECONFIG ??= "${@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 | ||
110 | PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" | 108 | PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus" |
111 | PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" | 109 | PACKAGECONFIG[bluez5] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc" |
112 | PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0" | 110 | PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0-native glib-2.0" |
113 | PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono" | 111 | PACKAGECONFIG[ofono] = "-Dbluez5-ofono-headset=true,-Dbluez5-ofono-headset=false,ofono" |
114 | PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" | 112 | PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" |
115 | PACKAGECONFIG[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" | 113 | PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemduserunitdir=${systemd_user_unitdir},-Dsystemd=disabled,systemd" |
116 | PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" | 114 | PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxtst libice libsm libxcb" |
117 | PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" | 115 | PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" |
118 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" | 116 | PACKAGECONFIG[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. |
121 | PACKAGECONFIG[autospawn-for-root] = ",,," | 119 | PACKAGECONFIG[autospawn-for-root] = ",,," |
122 | PACKAGECONFIG[lirc] = "--enable-lirc,--disable-lirc,lirc" | 120 | PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc" |
123 | PACKAGECONFIG[webrtc] = "--enable-webrtc-aec,--disable-webrtc-aec,webrtc-audio-processing" | 121 | PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing" |
124 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," | 122 | PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false," |
125 | PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, " | 123 | PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false," |
126 | |||
127 | EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" | ||
128 | EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" | ||
129 | |||
130 | 124 | ||
131 | export TARGET_PFPU = "${TARGET_FPU}" | 125 | export 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 @@ | |||
1 | From 6d202833a5ae241eeb648631cf95090c452198f9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tanu Kaskinen <tanuk@iki.fi> | ||
3 | Date: Fri, 14 Feb 2020 07:29:33 +0200 | ||
4 | Subject: [PATCH] build-sys: Add an option for enabling/disabling Valgrind | ||
5 | |||
6 | In OpenEmbedded the PulseAudio recipe currently disables Valgrind | ||
7 | support by passing "ac_cv_header_valgrind_memcheck_h=no" to the | ||
8 | configure script (this was added to make it deterministic whether | ||
9 | Valgrdind support gets enabled or not). I'm converting the PulseAudio | ||
10 | recipe to use Meson, and I needed an option to disable Valgrind. | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Signed-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 | |||
20 | diff --git a/meson.build b/meson.build | ||
21 | index 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 | '', | ||
51 | diff --git a/meson_options.txt b/meson_options.txt | ||
52 | index 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 | -- | ||
66 | 2.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 | |||
3 | SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ | 3 | SRC_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 | " |
8 | SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e" | 9 | SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e" |