From mboxrd@z Thu Jan 1 00:00:00 1970 From: Romain Naour Date: Mon, 1 Feb 2016 19:49:10 +0100 Subject: [Buildroot] [PATCH 1/1] package/pulseaudio: fix musl build In-Reply-To: <1454101549-32130-1-git-send-email-bernd.kuhls@t-online.de> References: <1454101549-32130-1-git-send-email-bernd.kuhls@t-online.de> Message-ID: <56AFA8A6.4000302@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hi Bernd, Le 29/01/2016 22:05, Bernd Kuhls a ?crit : > 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 Reviewed-by: Romain Naour Only build tested with musl and glibc. It seems upstream forget about this patch... Best regards, Romain > --- > .../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 > > diff --git a/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch b/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch > new file mode 100644 > index 0000000..128b80f > --- /dev/null > +++ b/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch > @@ -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 > + > + > +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/package/pulseaudio/0002-musl-fixes.patch b/package/pulseaudio/0002-musl-fixes.patch > new file mode 100644 > index 0000000..3fa40a8 > --- /dev/null > +++ b/package/pulseaudio/0002-musl-fixes.patch > @@ -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 > + > + > +Portability fixes for musl taken from voidlinux: > + > +- _WORDIZE is declared in via . > +- 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 > +--- 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 > + #include > + > ++#ifdef HAVE_CONFIG_H > ++#include > ++#endif > ++ > ++#ifdef HAVE_SYS_USER_H > ++#include /* required by _WORDIZE with musl */ > ++#endif > ++ > + #include > + #include > + #include > diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk > index 8450090..b7615a6 100644 > --- a/package/pulseaudio/pulseaudio.mk > +++ b/package/pulseaudio/pulseaudio.mk > @@ -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 >