All of lore.kernel.org
 help / color / mirror / Atom feed
From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/pulseaudio: fix musl build
Date: Mon, 1 Feb 2016 19:49:10 +0100	[thread overview]
Message-ID: <56AFA8A6.4000302@gmail.com> (raw)
In-Reply-To: <1454101549-32130-1-git-send-email-bernd.kuhls@t-online.de>

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 <bernd.kuhls@t-online.de>

Reviewed-by: Romain Naour <romain.naour@gmail.com>
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 <bernd.kuhls@t-online.de>
> +
> +
> +From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +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 <raj.khem@gmail.com>
> +---
> + 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 <bernd.kuhls@t-online.de>
> +
> +
> +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>
> 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
> 

  reply	other threads:[~2016-02-01 18:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-29 21:05 [Buildroot] [PATCH 1/1] package/pulseaudio: fix musl build Bernd Kuhls
2016-02-01 18:49 ` Romain Naour [this message]
2016-02-07 14:23 ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56AFA8A6.4000302@gmail.com \
    --to=romain.naour@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.