diff options
author | Tanu Kaskinen <tanuk@iki.fi> | 2018-08-27 21:16:39 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-29 10:42:48 +0100 |
commit | 855e73c613620a188984db69ad780add7bc04eb4 (patch) | |
tree | e6d8900ddf274ecb9f074988ab01958f67f03958 /meta/recipes-multimedia | |
parent | a53b5dc5eba5a56c776cc5c23f909fc7a854ee74 (diff) | |
download | poky-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')
-rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 15 | ||||
-rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch | 66 | ||||
-rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch | 70 | ||||
-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. |
48 | LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause" | 45 | LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause" |
49 | 46 | ||
50 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a848e8d03f04976778eab2348b59ed2b \ | 47 | LIC_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). | ||
100 | EXTRA_OECONF += "--without-fftw" | 91 | EXTRA_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). |
107 | EXTRA_OECONF += "--disable-adrian-aec" | 98 | EXTRA_OECONF += "--disable-adrian-aec" |
108 | 99 | ||
100 | # FIXME: The gsettings module is temporarily disabled, because adding support | ||
101 | # for it is a bit complicated. | ||
102 | EXTRA_OECONF += "--disable-gsettings" | ||
103 | |||
109 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ | 104 | PACKAGECONFIG ??= "${@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 @@ | |||
1 | From 0cb66c0c5aafd48b63a755860746e70afb332c8d Mon Sep 17 00:00:00 2001 | ||
2 | From: Tanu Kaskinen <tanuk@iki.fi> | ||
3 | Date: Wed, 24 Jan 2018 03:51:49 +0200 | ||
4 | Subject: [PATCH] memfd-wrappers: only define memfd_create() if not already | ||
5 | defined | ||
6 | |||
7 | glibc 2.27 is to be released soon, and it will provide memfd_create(). | ||
8 | If glibc provides the function, we must not define it ourselves, | ||
9 | otherwise building fails due to conflict between the two implementations | ||
10 | of the same function. | ||
11 | |||
12 | BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733 | ||
13 | --- | ||
14 | Upstream-Status: Submitted [https://bugs.freedesktop.org/attachment.cgi?id=136927] | ||
15 | Signed-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 | |||
21 | diff --git a/configure.ac b/configure.ac | ||
22 | index 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.])) | ||
35 | diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h | ||
36 | index 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 | -- | ||
65 | 2.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 @@ | |||
1 | From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 6 Apr 2015 21:56:31 -0700 | ||
4 | Subject: [PATCH] padsp: Make it compile on musl | ||
5 | |||
6 | break assumptions on glibc and there is no stat64 on non | ||
7 | glibc C libraries | ||
8 | |||
9 | See pulseaudio bug | ||
10 | |||
11 | https://bugs.freedesktop.org/show_bug.cgi?id=85319 | ||
12 | |||
13 | Upstream-Status: Pending | ||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | --- | ||
16 | src/utils/padsp.c | 15 +++++++++------ | ||
17 | 1 file changed, 9 insertions(+), 6 deletions(-) | ||
18 | |||
19 | diff --git a/src/utils/padsp.c b/src/utils/padsp.c | ||
20 | index 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 | -- | ||
69 | 2.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 @@ | |||
1 | require pulseaudio.inc | 1 | require pulseaudio.inc |
2 | 2 | ||
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-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 | " |
9 | SRC_URI[md5sum] = "390de38231d5cdd6b43ada8939eb74f1" | 7 | SRC_URI[md5sum] = "c42f1f1465e8df9859d023dc184734bf" |
10 | SRC_URI[sha256sum] = "f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e" | 8 | SRC_URI[sha256sum] = "809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055" |
11 | 9 | ||
12 | do_compile_prepend() { | 10 | do_compile_prepend() { |
13 | mkdir -p ${S}/libltdl | 11 | mkdir -p ${S}/libltdl |