package/pulseaudio: fix musl build
PATCH 1/1 package/pulseaudio: fix musl build
Fixes build errors in previous version which are still present
http://autobuild.buildroot.net/results/879/879260f0efc80c2c9061d89d3e99ad107083f72a/
http://autobuild.buildroot.net/results/1e5/1e5f6a5f349800226d8b07601dab68ffe7794461/
http://autobuild.buildroot.net/results/0f8/0f8d68b11c6807a9d1d4c40a66430ac096902720/
--- .../0001-padsp-Make-it-compile-on-musl.patch | 79 ++++++++++++++++++++++ package/pulseaudio/0002-musl-fixes.patch | 44 ++++++++++++ package/pulseaudio/pulseaudio.mk | 2 + 3 files changed, 125 insertions(+) create mode 100644 package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch create mode 100644 package/pulseaudio/0002-musl-fixes.patch
package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch new file +79 -0
@@ -0,0 +1,79 @@ +Fix musl build + +Downloaded from +http://git.alpinelinux.org/cgit/aports/tree/testing/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch +and adjusted paths + +Signed-off-by: Bernd Kuhls <[email protected]> + + +From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +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 <[email protected]> +--- + 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 +
package/pulseaudio/0002-musl-fixes.patch new file +44 -0
44 lines not on this page · raw message
package/pulseaudio/pulseaudio.mk +2 -0
@@ -7,6 +7,8 @@ PULSEAUDIO_VERSION = 8.0 PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases +# 0002-musl-fixes.patch patches configure.ac +PULSEAUDIO_AUTORECONF = YES PULSEAUDIO_INSTALL_STAGING = YES PULSEAUDIO_LICENSE = LGPLv2.1+ (specific license for modules, see LICENSE file) PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL
Signature · 1 line
2.7.0.rc3
PATCH 1/1 package/pulseaudio: fix musl build
Hi Bernd,
Le 29/01/2016 22:05, Bernd Kuhls a ?crit :
Quoted 6 lines
Fixes build errors in previous version which are still present
http://autobuild.buildroot.net/results/879/879260f0efc80c2c9061d89d3e99ad107083f72a/
http://autobuild.buildroot.net/results/1e5/1e5f6a5f349800226d8b07601dab68ffe7794461/
http://autobuild.buildroot.net/results/0f8/0f8d68b11c6807a9d1d4c40a66430ac096902720/Signed-off-by Bernd Kuhls <[email protected]>
Only build tested with musl and glibc.
It seems upstream forget about this patch...
Best regards,
Romain
Quoted 157 lines
--- .../0001-padsp-Make-it-compile-on-musl.patch | 79 ++++++++++++++++++++++ package/pulseaudio/0002-musl-fixes.patch | 44 ++++++++++++ package/pulseaudio/pulseaudio.mk | 2 + 3 files changed, 125 insertions(+) create mode 100644 package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch create mode 100644 package/pulseaudio/0002-musl-fixes.patchpackage/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch new file +79
-0@@ -0,0 +1,79 @@ +Fix musl build + +Downloaded from +http://git.alpinelinux.org/cgit/aports/tree/testing/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch +and adjusted paths + +Signed-off-by: Bernd Kuhls <[email protected]> + + +From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +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 <[email protected]> +--- + 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 +package/pulseaudio/0002-musl-fixes.patch new file +44
-0@@ -0,0 +1,44 @@ +Fix musl build + +Downloaded from +http://git.alpinelinux.org/cgit/aports/tree/testing/pulseaudio/musl-fixes.patch +and adjusted paths + +Signed-off-by: Bernd Kuhls <[email protected]> + + +Portability fixes for musl taken from voidlinux: + +- _WORDIZE is declared in <bits/user.h> via <sys/user.h>. +- <xlocale.h> does not exist, check for it correctly. + + --xtraeme + +--- a/configure.ac.orig 2015-09-24 11:36:06.107661526 +0200 ++++ b/configure.ac 2015-09-24 11:36:40.420036775 +0200 +@@ -407,7 +407,7 @@ AC_HEADER_STDC + # POSIX + AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \ + netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \ +- sys/mman.h sys/select.h sys/socket.h sys/wait.h \ ++ sys/mman.h sys/select.h sys/socket.h sys/wait.h sys/user.h xlocale.h \ + sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h]) + AC_CHECK_HEADERS([netinet/ip.h], [], [], + [#include <sys/types.h> +--- a/src/pulsecore/sample-util.h.orig 2015-09-24 11:37:57.773677238 +0200 ++++ b/src/pulsecore/sample-util.h 2015-09-24 11:38:46.668208677 +0200 +@@ -24,6 +24,14 @@ + #include <inttypes.h> + #include <limits.h> + ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ ++#ifdef HAVE_SYS_USER_H ++#include <sys/user.h> /* required by _WORDIZE with musl */ ++#endif ++ + #include <pulse/gccmacro.h> + #include <pulse/sample.h> + #include <pulse/volume.h>package/pulseaudio/pulseaudio.mk +2
-0@@ -7,6 +7,8 @@ PULSEAUDIO_VERSION = 8.0 PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases +# 0002-musl-fixes.patch patches configure.ac +PULSEAUDIO_AUTORECONF = YES PULSEAUDIO_INSTALL_STAGING = YES PULSEAUDIO_LICENSE = LGPLv2.1+ (specific license for modules, see LICENSE file) PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL
PATCH 1/1 package/pulseaudio: fix musl build
In reply to Bernd KuhlsDear Bernd Kuhls,
Quoted 5 lines · Bernd Kuhls
Fixes build errors in previous version which are still present
http://autobuild.buildroot.net/results/879/879260f0efc80c2c9061d89d3e99ad107083f72a/
http://autobuild.buildroot.net/results/1e5/1e5f6a5f349800226d8b07601dab68ffe7794461/
http://autobuild.buildroot.net/results/0f8/0f8d68b11c6807a9d1d4c40a66430ac096902720/
Quoted 8 lines
Signed-off-by Bernd Kuhls <[email protected]>--- .../0001-padsp-Make-it-compile-on-musl.patch | 79 ++++++++++++++++++++++ package/pulseaudio/0002-musl-fixes.patch | 44 ++++++++++++ package/pulseaudio/pulseaudio.mk | 2 + 3 files changed, 125 insertions(+) create mode 100644 package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch create mode 100644 package/pulseaudio/0002-musl-fixes.patch
Applied after some changes:
[Thomas:
- Rework patch 0001-padsp-Make-it-compile-on-musl.patch to put Bernd's comment and SoB *after* the original commit log.
- Rework patch 0002-musl-fixes.patch for the same reason, and also to remove the xlocale.h part, which has already been fixed upstream.]
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com