From 87a55935a6d5f038c5a8a4c7f2357dd972d2fa92 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Apr 2015 18:20:43 -0700 Subject: pulseaudio: Fix build with musl It reimplements some of standard C library functions but then it assumed glibc so we need to break that assumption into conditional defines Change-Id: I92109c2e4c48ab4c3565f64e68d9cbb165823b45 Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- .../0001-padsp-Make-it-compile-on-musl.patch | 70 ++++++++++++++++++++++ .../pulseaudio/pulseaudio_6.0.bb | 1 + 2 files changed, 71 insertions(+) create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch (limited to 'meta/recipes-multimedia') 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 new file mode 100644 index 0000000000..85559950e8 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch @@ -0,0 +1,70 @@ +From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 6 Apr 2015 21:56:31 -0700 +Subject: [PATCH] padsp: Make it compile on musl + +break assumptions on glibc and there is no stat64 on non +glibc C libraries + +See pulseaudio bug + +https://bugs.freedesktop.org/show_bug.cgi?id=85319 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/utils/padsp.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/src/utils/padsp.c b/src/utils/padsp.c +index e61373c..684721a 100644 +--- a/src/utils/padsp.c ++++ b/src/utils/padsp.c +@@ -2368,7 +2368,7 @@ fail: + return ret; + } + +-#ifdef sun ++#ifndef __GLIBC__ + int ioctl(int fd, int request, ...) { + #else + int ioctl(int fd, unsigned long request, ...) { +@@ -2508,10 +2508,13 @@ int stat(const char *pathname, struct stat *buf) { + + return 0; + } +- + #ifdef HAVE_OPEN64 +- ++#undef stat64 ++#ifdef __GLIBC__ + int stat64(const char *pathname, struct stat64 *buf) { ++#else ++int stat64(const char *pathname, struct stat *buf) { ++#endif + struct stat oldbuf; + int ret; + +@@ -2544,7 +2547,7 @@ int stat64(const char *pathname, struct stat64 *buf) { + + return 0; + } +- ++#undef open64 + int open64(const char *filename, int flags, ...) { + va_list args; + mode_t mode = 0; +@@ -2670,8 +2673,8 @@ FILE* fopen(const char *filename, const char *mode) { + } + + #ifdef HAVE_OPEN64 +- +-FILE *fopen64(const char *filename, const char *mode) { ++#undef fopen64 ++FILE *fopen64(const char *__restrict filename, const char *__restrict mode) { + + debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL"); + +-- +2.1.4 + diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb index 91027bf654..fb33c7c85d 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb @@ -1,6 +1,7 @@ require pulseaudio.inc SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ + file://0001-padsp-Make-it-compile-on-musl.patch \ file://volatiles.04_pulse \ " SRC_URI[md5sum] = "b691e83b7434c678dffacfa3a027750e" -- cgit 1.2.3-korg