summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenning Heinold <heinold@inf.fu-berlin.de>2008-07-20 20:56:57 +0000
committerHenning Heinold <heinold@inf.fu-berlin.de>2008-07-20 20:56:57 +0000
commit2a10b31ff00050bb4cece8ab90ec25ed55f59fae (patch)
tree52c12cfab7fe69acd2b9e2db25e4b296e7122c30
parent7c196f7439f45d4553120433ce14c6cfb1bbb283 (diff)
alsa-oss: fix stdioemu.c for uclibc
*on none glibc systems libio.h is not there and FILE._fileno is not defined *on uclibc _fileno is _filedes *provide autoconf magic which check for structure *bump PR
-rw-r--r--packages/alsa/alsa-oss_1.0.15.bb5
-rw-r--r--packages/alsa/files/libio.patch43
2 files changed, 47 insertions, 1 deletions
diff --git a/packages/alsa/alsa-oss_1.0.15.bb b/packages/alsa/alsa-oss_1.0.15.bb
index b11947e86a..3cfe886d61 100644
--- a/packages/alsa/alsa-oss_1.0.15.bb
+++ b/packages/alsa/alsa-oss_1.0.15.bb
@@ -2,8 +2,11 @@ DESCRIPTION = "Alsa OSS Compatibility Package"
SECTION = "libs/multimedia"
LICENSE = "GPL"
DEPENDS = "alsa-lib"
+PR = "1"
-SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2"
+SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
+ file://libio.patch;patch=1 \
+ "
inherit autotools
diff --git a/packages/alsa/files/libio.patch b/packages/alsa/files/libio.patch
new file mode 100644
index 0000000000..83345a98d3
--- /dev/null
+++ b/packages/alsa/files/libio.patch
@@ -0,0 +1,43 @@
+Index: alsa-oss-1.0.15/alsa/stdioemu.c
+===================================================================
+--- alsa-oss-1.0.15.orig/alsa/stdioemu.c 2007-10-15 10:50:40.000000000 +0200
++++ alsa-oss-1.0.15/alsa/stdioemu.c 2008-07-20 22:29:46.767474560 +0200
+@@ -37,7 +37,9 @@
+ #endif
+
+ #include <stdio.h>
++#ifdef HAVE_LIBIO_H
+ #include <libio.h>
++#endif
+
+ struct fd_cookie {
+ int fd;
+@@ -99,7 +101,11 @@
+
+ if (open_mode && fdc->fd > 0) {
+ result = fopencookie (fdc,"w", fns);
++#ifdef HAVE_FILENO
+ result->_fileno = fdc->fd; /* ugly patchy slimy kludgy hack */
++else
++ result->_filedes = fdc->fd;
++#endif
+ }
+ return result;
+ }
+Index: alsa-oss-1.0.15/configure.in
+===================================================================
+--- alsa-oss-1.0.15.orig/configure.in 2007-10-15 10:50:40.000000000 +0200
++++ alsa-oss-1.0.15/configure.in 2008-07-20 22:49:45.455837502 +0200
+@@ -33,6 +33,12 @@
+ LIBS="$OLD_LIBS"
+ fi
+
++AC_CHECK_HEADERS_ONCE([libio.h])
++
++AC_CHECK_MEMBER([struct _IO_FILE._fileno],
++ [AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])],
++ [],[])
++
+ AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \
+ oss-redir/Makefile test/Makefile \
+ alsa/testaoss test/testaoss)