diff options
| -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 |
