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" |
