summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/pulseaudio
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2018-08-27 21:16:39 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-29 10:42:48 +0100
commit855e73c613620a188984db69ad780add7bc04eb4 (patch)
treee6d8900ddf274ecb9f074988ab01958f67f03958 /meta/recipes-multimedia/pulseaudio
parenta53b5dc5eba5a56c776cc5c23f909fc7a854ee74 (diff)
downloadpoky-855e73c613620a188984db69ad780add7bc04eb4.tar.gz
pulseaudio: 11.1 -> 12.2
Release notes for 12.0: https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/12.0/ 12.1 contains a few regression fixes: https://lists.freedesktop.org/archives/pulseaudio-discuss/2018-July/030259.html 12.2 is just a fixup for the configure script brokenness in the 12.1 tarball. qpaeq changed license from AGPL to LGPL, so now there's no AGPL licensed code any more. This removes the excuse to not enable fftw support (i.e. module-equalizer-sink and qpaeq). I'll enable fftw in a separate patch. There's a new gsettings module that should be enabled, but I'll do that in a separate patch. It's not particularly important, because the module is only used by the paprefs GUI application that doesn't seem to be packaged for OE at the moment. Removed upstreamed patches: 0001-padsp-Make-it-compile-on-musl.patch 0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch License-Update: qpaeq changed license from AGPL to LGPL: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/61217528a1cb5043ca3fa1051a73ad3268cfb3d8 (From OE-Core rev: 9bc3a8ec4a007fe75dc8f44faf6357517b1fb020) Signed-off-by: Tanu Kaskinen <tanuk@iki.fi> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/pulseaudio')
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio.inc15
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch66
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch70
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb)6
4 files changed, 7 insertions, 150 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 8189a569e1..f526690390 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -16,9 +16,6 @@ SECTION = "libs/multimedia"
16# The src/pulsecore/filter/ directory contains code under the 3-clause BSD 16# The src/pulsecore/filter/ directory contains code under the 3-clause BSD
17# license. 17# license.
18# 18#
19# src/utils/qpaeq is licensed under AGPL. qpaeq is not installed by this
20# recipe, however, which is why AGPL is not mentioned in LICENSE.
21#
22# People who distribute PulseAudio binaries need to also consider that there 19# People who distribute PulseAudio binaries need to also consider that there
23# are some dependencies to GPL libraries. LGPL code that depends on GPL 20# are some dependencies to GPL libraries. LGPL code that depends on GPL
24# libraries probably becomes effectively GPL-licensed (at compile-time? or at 21# libraries probably becomes effectively GPL-licensed (at compile-time? or at
@@ -47,16 +44,14 @@ SECTION = "libs/multimedia"
47# section 3, and therefore libdbus's GPL license doesn't affect PulseAudio. 44# section 3, and therefore libdbus's GPL license doesn't affect PulseAudio.
48LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause" 45LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause"
49 46
50LIC_FILES_CHKSUM = "file://LICENSE;md5=a848e8d03f04976778eab2348b59ed2b \ 47LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
51 file://GPL;md5=4325afd396febcb659c36b49533135d4 \ 48 file://GPL;md5=4325afd396febcb659c36b49533135d4 \
52 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ 49 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
53 file://AGPL;md5=73f1eb20517c55bf9493b7dd6e480788 \
54 file://src/modules/echo-cancel/adrian-license.txt;md5=abbab006a561fbffccedf1c3531f34ab \ 50 file://src/modules/echo-cancel/adrian-license.txt;md5=abbab006a561fbffccedf1c3531f34ab \
55 file://src/pulsecore/filter/LICENSE.WEBKIT;md5=49defbaffddf8c51faf606ff7fc3b1f7 \ 51 file://src/pulsecore/filter/LICENSE.WEBKIT;md5=49defbaffddf8c51faf606ff7fc3b1f7 \
56 file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84 \ 52 file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84 \
57 file://src/modules/reserve.h;beginline=6;endline=28;md5=0e23094760367d51b6609750e9b31fbb \ 53 file://src/modules/reserve.h;beginline=6;endline=28;md5=0e23094760367d51b6609750e9b31fbb \
58 file://src/pulsecore/rtkit.h;beginline=6;endline=29;md5=3f00ff966716ae0817c31576d1473528 \ 54 file://src/pulsecore/rtkit.h;beginline=6;endline=29;md5=3f00ff966716ae0817c31576d1473528 \
59 file://src/utils/qpaeq;beginline=2;endline=16;md5=7f62515a4762f0c3fc3d4201858bb964 \
60 file://src/modules/echo-cancel/adrian-aec.h;beginline=3;endline=12;md5=d3ed4fad1c073f8b06f37495dc5d1026 \ 55 file://src/modules/echo-cancel/adrian-aec.h;beginline=3;endline=12;md5=d3ed4fad1c073f8b06f37495dc5d1026 \
61 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 \
62" 57"
@@ -93,10 +88,6 @@ EXTRA_OECONF += "--without-soxr"
93# ddbd713293 without explaining why it was not made a PACKAGECONFIG item 88# ddbd713293 without explaining why it was not made a PACKAGECONFIG item
94# instead. Oh well, let's keep it disabled until someone expresses some 89# instead. Oh well, let's keep it disabled until someone expresses some
95# interest in having it enabled. 90# interest in having it enabled.
96#
97# One nice thing about disabling this is that it also prevents qpaeq from
98# being installed, so we avoid adding AGPL to the list of licenses (nothing
99# else in PulseAudio is licensed under AGPL).
100EXTRA_OECONF += "--without-fftw" 91EXTRA_OECONF += "--without-fftw"
101 92
102# The "adrian" echo canceller implementation has a non-standard license 93# The "adrian" echo canceller implementation has a non-standard license
@@ -106,6 +97,10 @@ EXTRA_OECONF += "--without-fftw"
106# very good anyway, better alternatives exist (such as the webrtc canceller). 97# very good anyway, better alternatives exist (such as the webrtc canceller).
107EXTRA_OECONF += "--disable-adrian-aec" 98EXTRA_OECONF += "--disable-adrian-aec"
108 99
100# FIXME: The gsettings module is temporarily disabled, because adding support
101# for it is a bit complicated.
102EXTRA_OECONF += "--disable-gsettings"
103
109PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ 104PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
110 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ 105 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
111 ${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \ 106 ${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch
deleted file mode 100644
index 0391f3785b..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1From 0cb66c0c5aafd48b63a755860746e70afb332c8d Mon Sep 17 00:00:00 2001
2From: Tanu Kaskinen <tanuk@iki.fi>
3Date: Wed, 24 Jan 2018 03:51:49 +0200
4Subject: [PATCH] memfd-wrappers: only define memfd_create() if not already
5 defined
6
7glibc 2.27 is to be released soon, and it will provide memfd_create().
8If glibc provides the function, we must not define it ourselves,
9otherwise building fails due to conflict between the two implementations
10of the same function.
11
12BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733
13---
14Upstream-Status: Submitted [https://bugs.freedesktop.org/attachment.cgi?id=136927]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16
17 configure.ac | 3 +++
18 src/pulsecore/memfd-wrappers.h | 7 ++++---
19 2 files changed, 7 insertions(+), 3 deletions(-)
20
21diff --git a/configure.ac b/configure.ac
22index 77b5ff5..3a71fd8 100644
23--- a/configure.ac
24+++ b/configure.ac
25@@ -607,6 +607,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"],
26 [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
27 *** Use linux v3.17 or higher for such a feature.])])
28
29+AS_IF([test "x$HAVE_MEMFD" = "x1"],
30+ AC_CHECK_FUNCS([memfd_create]))
31+
32 AC_SUBST(HAVE_MEMFD)
33 AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
34 AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
35diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h
36index 3bed9b2..c7aadfd 100644
37--- a/src/pulsecore/memfd-wrappers.h
38+++ b/src/pulsecore/memfd-wrappers.h
39@@ -20,13 +20,14 @@
40 License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
41 ***/
42
43-#ifdef HAVE_MEMFD
44+#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE)
45
46 #include <sys/syscall.h>
47 #include <fcntl.h>
48
49 /*
50- * No glibc wrappers exist for memfd_create(2), so provide our own.
51+ * Before glibc version 2.27 there was no wrapper for memfd_create(2),
52+ * so we have to provide our own.
53 *
54 * Also define memfd fcntl sealing macros. While they are already
55 * defined in the kernel header file <linux/fcntl.h>, that file as
56@@ -63,6 +64,6 @@ static inline int memfd_create(const char *name, unsigned int flags) {
57 #define F_SEAL_WRITE 0x0008 /* prevent writes */
58 #endif
59
60-#endif /* HAVE_MEMFD */
61+#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */
62
63 #endif
64--
652.16.1
66
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch
deleted file mode 100644
index 85559950e8..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch
+++ /dev/null
@@ -1,70 +0,0 @@
1From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 6 Apr 2015 21:56:31 -0700
4Subject: [PATCH] padsp: Make it compile on musl
5
6break assumptions on glibc and there is no stat64 on non
7glibc C libraries
8
9See pulseaudio bug
10
11https://bugs.freedesktop.org/show_bug.cgi?id=85319
12
13Upstream-Status: Pending
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/utils/padsp.c | 15 +++++++++------
17 1 file changed, 9 insertions(+), 6 deletions(-)
18
19diff --git a/src/utils/padsp.c b/src/utils/padsp.c
20index e61373c..684721a 100644
21--- a/src/utils/padsp.c
22+++ b/src/utils/padsp.c
23@@ -2368,7 +2368,7 @@ fail:
24 return ret;
25 }
26
27-#ifdef sun
28+#ifndef __GLIBC__
29 int ioctl(int fd, int request, ...) {
30 #else
31 int ioctl(int fd, unsigned long request, ...) {
32@@ -2508,10 +2508,13 @@ int stat(const char *pathname, struct stat *buf) {
33
34 return 0;
35 }
36-
37 #ifdef HAVE_OPEN64
38-
39+#undef stat64
40+#ifdef __GLIBC__
41 int stat64(const char *pathname, struct stat64 *buf) {
42+#else
43+int stat64(const char *pathname, struct stat *buf) {
44+#endif
45 struct stat oldbuf;
46 int ret;
47
48@@ -2544,7 +2547,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
49
50 return 0;
51 }
52-
53+#undef open64
54 int open64(const char *filename, int flags, ...) {
55 va_list args;
56 mode_t mode = 0;
57@@ -2670,8 +2673,8 @@ FILE* fopen(const char *filename, const char *mode) {
58 }
59
60 #ifdef HAVE_OPEN64
61-
62-FILE *fopen64(const char *filename, const char *mode) {
63+#undef fopen64
64+FILE *fopen64(const char *__restrict filename, const char *__restrict mode) {
65
66 debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL");
67
68--
692.1.4
70
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
index 245302d2bc..36d92bcae9 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_11.1.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
@@ -1,13 +1,11 @@
1require pulseaudio.inc 1require pulseaudio.inc
2 2
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-padsp-Make-it-compile-on-musl.patch \
5 file://0001-client-conf-Add-allow-autospawn-for-root.patch \ 4 file://0001-client-conf-Add-allow-autospawn-for-root.patch \
6 file://volatiles.04_pulse \ 5 file://volatiles.04_pulse \
7 file://0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch \
8 " 6 "
9SRC_URI[md5sum] = "390de38231d5cdd6b43ada8939eb74f1" 7SRC_URI[md5sum] = "c42f1f1465e8df9859d023dc184734bf"
10SRC_URI[sha256sum] = "f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e" 8SRC_URI[sha256sum] = "809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055"
11 9
12do_compile_prepend() { 10do_compile_prepend() {
13 mkdir -p ${S}/libltdl 11 mkdir -p ${S}/libltdl