aboutsummaryrefslogtreecommitdiff
path: root/audio/alsa-lib
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2014-08-09 15:20:35 +0000
committerJohn Marino <marino@FreeBSD.org>2014-08-09 15:20:35 +0000
commit46b7762a82cdc0c94eeafd3a686bad427433ccb4 (patch)
treee69277546fcd8c9ef3f433ee70374b1ae0d9db62 /audio/alsa-lib
parentc9c0fba3555ebe2bc14b5a4b9a85b7922a1c5083 (diff)
downloadports-46b7762a82cdc0c94eeafd3a686bad427433ccb4.tar.gz
ports-46b7762a82cdc0c94eeafd3a686bad427433ccb4.zip
Notes
Diffstat (limited to 'audio/alsa-lib')
-rw-r--r--audio/alsa-lib/Makefile20
-rw-r--r--audio/alsa-lib/distinfo4
-rw-r--r--audio/alsa-lib/files/asound.conf.sample68
-rw-r--r--audio/alsa-lib/files/byteswap.h13
-rw-r--r--audio/alsa-lib/files/linux/ioctl.h4
-rw-r--r--audio/alsa-lib/files/linux/types.h11
-rw-r--r--audio/alsa-lib/files/malloc.h4
-rw-r--r--audio/alsa-lib/files/patch-alsa-lib561
-rw-r--r--audio/alsa-lib/files/patch-include__pcm.h16
-rw-r--r--audio/alsa-lib/files/patch-src__async.c28
-rw-r--r--audio/alsa-lib/files/patch-src__pcm__pcm_direct.c19
-rw-r--r--audio/alsa-lib/files/patch-src__timer__timer_hw.c15
-rw-r--r--audio/alsa-lib/pkg-plist2
13 files changed, 138 insertions, 627 deletions
diff --git a/audio/alsa-lib/Makefile b/audio/alsa-lib/Makefile
index e4e1ac8fd26b..70debbc7eba1 100644
--- a/audio/alsa-lib/Makefile
+++ b/audio/alsa-lib/Makefile
@@ -2,35 +2,33 @@
# $FreeBSD$
PORTNAME= alsa-lib
-PORTVERSION= 1.0.27.2
-PORTREVISION= 2
+PORTVERSION= 1.0.28
CATEGORIES= audio
MASTER_SITES= ALSA/lib \
GENTOO/distfiles
-MAINTAINER= aragon@phat.za.net
+MAINTAINER= jbeich@vfemail.net
COMMENT= ALSA compatibility library
+LICENSE= LGPL21 # or any later version
+
USES= tar:bzip2 libtool:keepla
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-pkgconfdir="\$${prefix}/libdata/pkgconfig"
INSTALL_TARGET= install-strip
+CPPFLAGS+= -I${FILESDIR}
OPTIONS_DEFINE= PYTHON
-OPTIONS_SUB= ${OPTIONS_DEFINE}
-
-.include <bsd.port.options.mk>
+OPTIONS_SUB= yes
-.if ${PORT_OPTIONS:MPYTHON}
-USE_PYTHON= 2
-.else
-CONFIGURE_ARGS+=--disable-python
-.endif
+PYTHON_CONFIGURE_ENABLE=python
+PYTHON_USE= PYTHON=2
post-patch: .SILENT
${REINPLACE_CMD} -e '/LIBS/ { s/-ldl//g; s/-lrt//g; }' \
-e 's/python-config/${PYTHON_CMD:T}-config/g' \
+ -e '/pythonlibs/s/--libs/--ldflags/' \
-e '/-D_GNU_SOURCE/d' \
-e '/lt_cv_dlopen/s/-ldl//g' ${WRKSRC}/configure
${REINPLACE_CMD} '/LIBADD/s/-ldl//g' \
diff --git a/audio/alsa-lib/distinfo b/audio/alsa-lib/distinfo
index c993b60aefee..bdd89f50dc87 100644
--- a/audio/alsa-lib/distinfo
+++ b/audio/alsa-lib/distinfo
@@ -1,2 +1,2 @@
-SHA256 (alsa-lib-1.0.27.2.tar.bz2) = 690ed393e7efd4fc7e3a2d2cda5449298ca0c895197e5914e350882012430d19
-SIZE (alsa-lib-1.0.27.2.tar.bz2) = 906844
+SHA256 (alsa-lib-1.0.28.tar.bz2) = 3c074b85dde1b30e78ef4995579765833e5b693fbbd8f834c335e080cb734a6d
+SIZE (alsa-lib-1.0.28.tar.bz2) = 903786
diff --git a/audio/alsa-lib/files/asound.conf.sample b/audio/alsa-lib/files/asound.conf.sample
index f6fb895f08a1..686fca0b0445 100644
--- a/audio/alsa-lib/files/asound.conf.sample
+++ b/audio/alsa-lib/files/asound.conf.sample
@@ -1,13 +1,9 @@
#
# FreeBSD/OSS
#
-pcm_slave.oss {
- pcm.type oss
-}
-
pcm.!default {
type plug
- slave oss
+ slave.pcm.type oss
}
ctl.!default {
@@ -15,54 +11,6 @@ ctl.!default {
}
#
-# Remap all possible surround stuffs.
-#
-pcm.!front {
- type plug
- slave oss
-}
-
-pcm.!rear {
- type plug
- slave oss
-}
-
-pcm.!center_lfe {
- type plug
- slave oss
-}
-
-pcm.!side {
- type plug
- slave oss
-}
-
-pcm.!surround40 {
- type plug
- slave oss
-}
-
-pcm.!surround41 {
- type plug
- slave oss
-}
-
-pcm.!surround50 {
- type plug
- slave oss
-}
-
-pcm.!surround51 {
- type plug
- slave oss
-}
-
-pcm.!surround71 {
- type plug
- slave oss
-}
-
-#
# Pulseaudio
#
# pcm.!default {
@@ -72,3 +20,17 @@ pcm.!surround71 {
# ctl.!default {
# type pulse
# }
+
+#
+# Remap all possible surround stuffs.
+#
+pcm.!front pcm.default
+pcm.!rear pcm.default
+pcm.!center_lfe pcm.default
+pcm.!side pcm.default
+pcm.!surround21 pcm.default
+pcm.!surround40 pcm.default
+pcm.!surround41 pcm.default
+pcm.!surround50 pcm.default
+pcm.!surround51 pcm.default
+pcm.!surround71 pcm.default
diff --git a/audio/alsa-lib/files/byteswap.h b/audio/alsa-lib/files/byteswap.h
new file mode 100644
index 000000000000..0d28973e52e9
--- /dev/null
+++ b/audio/alsa-lib/files/byteswap.h
@@ -0,0 +1,13 @@
+#ifndef _BYTESWAP_H
+#define _BYTESWAP_H
+
+#ifdef __OpenBSD__
+#define bswap_16(x) swap16(x)
+#define bswap_32(x) swap32(x)
+#define bswap_64(x) swap64(x)
+#else
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
+#endif
+#endif /* _BYTESWAP_H */
diff --git a/audio/alsa-lib/files/linux/ioctl.h b/audio/alsa-lib/files/linux/ioctl.h
new file mode 100644
index 000000000000..6b07139219da
--- /dev/null
+++ b/audio/alsa-lib/files/linux/ioctl.h
@@ -0,0 +1,4 @@
+#ifndef _LINUX_IOCTL_H
+#define _LINUX_IOCTL_H
+#include <sys/ioccom.h>
+#endif /* _LINUX_IOCTL_H */
diff --git a/audio/alsa-lib/files/linux/types.h b/audio/alsa-lib/files/linux/types.h
new file mode 100644
index 000000000000..3fb397037f72
--- /dev/null
+++ b/audio/alsa-lib/files/linux/types.h
@@ -0,0 +1,11 @@
+#ifndef _LINUX_TYPES_H
+#define _LINUX_TYPES_H
+
+#define __bitwise
+
+typedef int __kernel_pid_t;
+typedef off_t __kernel_off_t;
+
+typedef uint32_t __u32;
+typedef uint64_t __u64;
+#endif /* _LINUX_TYPES_H */
diff --git a/audio/alsa-lib/files/malloc.h b/audio/alsa-lib/files/malloc.h
new file mode 100644
index 000000000000..23ab45e7fca0
--- /dev/null
+++ b/audio/alsa-lib/files/malloc.h
@@ -0,0 +1,4 @@
+#ifndef _MALLOC_H
+#define _MALLOC_H
+#include <stdlib.h>
+#endif /* _MALLOC_H */
diff --git a/audio/alsa-lib/files/patch-alsa-lib b/audio/alsa-lib/files/patch-alsa-lib
deleted file mode 100644
index 9897548a2113..000000000000
--- a/audio/alsa-lib/files/patch-alsa-lib
+++ /dev/null
@@ -1,561 +0,0 @@
---- include/asoundlib-head.h.orig 2009-09-09 20:34:54.000000000 +0800
-+++ include/asoundlib-head.h 2009-09-15 00:35:55.000000000 +0800
-@@ -34,7 +34,11 @@
- #include <string.h>
- #include <fcntl.h>
- #include <assert.h>
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#else
- #include <endian.h>
-+#endif
- #include <sys/poll.h>
- #include <errno.h>
- #include <stdarg.h>
-@@ -46,3 +50,31 @@
- #include <alsa/output.h>
- #include <alsa/error.h>
- #include <alsa/conf.h>
-+
-+#ifdef __FreeBSD__
-+
-+#define ESTRPIPE 0x7a69 /* Linux PCM suspend errno, fehh?! */
-+#define EBADFD EBADF
-+
-+#define bswap_16(x) bswap16(x)
-+#define bswap_32(x) bswap32(x)
-+#define bswap_64(x) bswap64(x)
-+
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+#define __cpu_to_le32(x) (x)
-+#define __cpu_to_be32(x) bswap_32(x)
-+#define __cpu_to_le16(x) (x)
-+#define __cpu_to_be16(x) bswap_16(x)
-+#else
-+#define __cpu_to_le32(x) bswap_32(x)
-+#define __cpu_to_be32(x) (x)
-+#define __cpu_to_le16(x) bswap_16(x)
-+#define __cpu_to_be16(x) (x)
-+#endif
-+
-+#define __le32_to_cpu __cpu_to_le32
-+#define __be32_to_cpu __cpu_to_be32
-+#define __le16_to_cpu __cpu_to_le16
-+#define __be16_to_cpu __cpu_to_be16
-+
-+#endif /* !__FreeBSD__ */
---- include/global.h.orig 2009-09-09 20:34:54.000000000 +0800
-+++ include/global.h 2009-09-15 00:39:54.000000000 +0800
-@@ -133,7 +133,7 @@
-
- int snd_user_file(const char *file, char **result);
-
--#if !defined(_POSIX_C_SOURCE) && !defined(_POSIX_SOURCE)
-+#if !defined(_POSIX_C_SOURCE) && !defined(_POSIX_SOURCE) && !defined(__FreeBSD__)
- struct timeval {
- time_t tv_sec; /* seconds */
- long tv_usec; /* microseconds */
---- include/local.h.orig 2009-09-09 20:34:54.000000000 +0800
-+++ include/local.h 2009-09-15 00:26:08.000000000 +0800
-@@ -28,11 +28,19 @@
- #include <string.h>
- #include <fcntl.h>
- #include <assert.h>
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#else
- #include <endian.h>
-+#endif
- #include <stdarg.h>
- #include <sys/poll.h>
- #include <errno.h>
-+#ifdef __linux__
- #include <linux/ioctl.h>
-+#else
-+#include <sys/ioctl.h>
-+#endif
-
- #include "config.h"
- #ifdef SUPPORT_RESMGR
---- include/search.h.orig 2009-09-09 20:34:54.000000000 +0800
-+++ include/search.h 2009-09-15 00:49:10.000000000 +0800
-@@ -20,7 +20,9 @@
- #ifndef _SEARCH_H
- #define _SEARCH_H 1
-
-+#ifndef __FreeBSD__
- #include <features.h>
-+#endif
-
- #define __need_size_t
- #include <stddef.h>
-@@ -49,10 +51,18 @@
- #endif
-
-
-+#ifdef __FreeBSD__
-+#define __PMT __P
-+#endif
-+
- /* For use with hsearch(3). */
- #ifndef __COMPAR_FN_T
- # define __COMPAR_FN_T
-+#ifdef __FreeBSD__
-+typedef int (*__compar_fn_t) __PMT ((__const void *, __const void *));
-+#else
- typedef int (*__compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
-+#endif
-
- # ifdef __USE_GNU
- typedef __compar_fn_t comparison_fn_t;
---- include/sound/asound.h.orig 2009-09-09 20:34:54.000000000 +0800
-+++ include/sound/asound.h 2009-09-15 00:44:37.000000000 +0800
-@@ -23,9 +23,42 @@
- #ifndef _UAPI__SOUND_ASOUND_H
- #define _UAPI__SOUND_ASOUND_H
-
-+#ifdef __linux__
- #include <linux/types.h>
-+#else
-+#define __bitwise
-+typedef uint32_t __u32;
-+typedef int __kernel_pid_t;
-+#endif
-+
-
-+#ifdef __FreeBSD__
-+#define ESTRPIPE 0x7a69 /* Linux PCM suspend errno, fehh?! */
-+#define EBADFD EBADF
-+
-+typedef uint64_t __u64;
-+
-+#define bswap_16(x) bswap16(x)
-+#define bswap_32(x) bswap32(x)
-+#define bswap_64(x) bswap64(x)
-+
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+#define __cpu_to_le32(x) (x)
-+#define __cpu_to_be32(x) bswap_32(x)
-+#define __cpu_to_le16(x) (x)
-+#define __cpu_to_be16(x) bswap_16(x)
-+#else
-+#define __cpu_to_le32(x) bswap_32(x)
-+#define __cpu_to_be32(x) (x)
-+#define __cpu_to_le16(x) bswap_16(x)
-+#define __cpu_to_be16(x) (x)
-+#endif
-
-+#define __le32_to_cpu __cpu_to_le32
-+#define __be32_to_cpu __cpu_to_be32
-+#define __le16_to_cpu __cpu_to_le16
-+#define __be16_to_cpu __cpu_to_be16
-+#endif
- /*
- * protocol version
- */
---- include/sound/type_compat.h.orig 2009-09-09 20:34:54.000000000 +0800
-+++ include/sound/type_compat.h 2009-09-15 00:36:14.000000000 +0800
-@@ -10,8 +10,15 @@
- typedef int16_t __s16;
- typedef int32_t __s32;
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define bswap_16(x) bswap16(x)
-+#define bswap_32(x) bswap32(x)
-+#define bswap_64(x) bswap64(x)
-+#else
- #include <endian.h>
- #include <byteswap.h>
-+#endif
- #if __BYTE_ORDER == __LITTLE_ENDIAN
- #define __cpu_to_le32(x) (x)
- #define __cpu_to_be32(x) bswap_32(x)
-$NetBSD: patch-bk,v 1.1 2008/12/25 13:18:00 hasso Exp $
-
---- src/async.c.orig 2008-12-25 08:18:22 +0200
-+++ src/async.c 2008-12-25 08:20:39 +0200
-@@ -51,6 +51,15 @@ static LIST_HEAD(snd_async_handlers);
-
- static void snd_async_handler(int signo ATTRIBUTE_UNUSED, siginfo_t *siginfo, void *context ATTRIBUTE_UNUSED)
- {
-+#if defined(__DragonFly__) || defined(__FreeBSD__)
-+ /* XXX XXX XXX */
-+ struct list_head *i;
-+ list_for_each(i, &snd_async_handlers) {
-+ snd_async_handler_t *h = list_entry(i, snd_async_handler_t, glist);
-+ if (h->callback)
-+ h->callback(h);
-+ }
-+#else
- int fd;
- struct list_head *i;
- //assert(siginfo->si_code == SI_SIGIO);
-@@ -60,6 +61,7 @@
- if (h->fd == fd && h->callback)
- h->callback(h);
- }
-+#endif
- }
-
- /**
---- src/compat/hsearch_r.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/compat/hsearch_r.c 2009-09-15 00:22:11.000000000 +0800
-@@ -18,7 +18,11 @@
- Boston, MA 02111-1307, USA. */
-
- #include <errno.h>
-+#ifdef __GLIBC__
- #include <malloc.h>
-+#else
-+#include <stdlib.h>
-+#endif
- #include <string.h>
-
- #define __USE_GNU
---- src/conf.c.orig
-+++ src/conf.c
-@@ -428,7 +428,11 @@ beginning:</P>
-
- #ifdef HAVE_LIBPTHREAD
- static pthread_mutex_t snd_config_update_mutex =
-+#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-+#else
-+ PTHREAD_MUTEX_INITIALIZER;
-+#endif
- #endif
-
- struct _snd_config {
---- src/pcm/pcm.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm.c 2009-09-15 00:19:09.000000000 +0800
-@@ -630,7 +630,9 @@
-
- #include <stdio.h>
- #include <string.h>
-+#ifndef __FreeBSD__
- #include <malloc.h>
-+#endif
- #include <stdarg.h>
- #include <signal.h>
- #include <sys/poll.h>
---- src/pcm/pcm_adpcm.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_adpcm.c 2009-09-15 00:19:14.000000000 +0800
-@@ -56,7 +56,9 @@
- come across a good description of XA yet.
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_alaw.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_alaw.c 2009-09-15 00:19:19.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_copy.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_copy.c 2009-09-15 00:21:29.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_direct.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_direct.c 2009-09-15 00:45:34.000000000 +0800
-@@ -44,12 +44,14 @@
- *
- */
-
-+#ifndef __FreeBSD__
- union semun {
- int val; /* Value for SETVAL */
- struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
- unsigned short *array; /* Array for GETALL, SETALL */
- struct seminfo *__buf; /* Buffer for IPC_INFO (Linux specific) */
- };
-+#endif
-
- /*
- * FIXME:
---- src/pcm/pcm_dmix_generic.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_dmix_generic.c 2009-09-15 00:18:52.000000000 +0800
-@@ -125,7 +125,9 @@
- (1ULL << SND_PCM_FORMAT_S24_3LE) | \
- (1ULL << SND_PCM_FORMAT_U8))
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
-
- static void generic_mix_areas_16_native(unsigned int size,
- volatile signed short *dst,
---- src/pcm/pcm_file.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_file.c 2009-09-15 00:21:10.000000000 +0800
-@@ -26,8 +26,12 @@
- *
- */
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#else
- #include <endian.h>
- #include <byteswap.h>
-+#endif
- #include <ctype.h>
- #include <string.h>
- #include "pcm_local.h"
---- src/pcm/pcm_iec958.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_iec958.c 2009-09-15 00:19:44.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_lfloat.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_lfloat.c 2009-09-15 00:21:48.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_linear.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_linear.c 2009-09-15 00:21:37.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_meter.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_meter.c 2009-09-15 00:18:38.000000000 +0800
-@@ -27,7 +27,9 @@
- */
-
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <time.h>
- #include <pthread.h>
- #include <dlfcn.h>
---- src/pcm/pcm_misc.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_misc.c 2009-09-15 00:18:31.000000000 +0800
-@@ -23,7 +23,9 @@
- #include <stdlib.h>
- #include <unistd.h>
- #include <string.h>
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
-
-
---- src/pcm/pcm_mmap.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_mmap.c 2009-09-15 00:17:43.000000000 +0800
-@@ -19,7 +19,9 @@
- */
-
- #include <stdio.h>
-+#ifndef __FreeBSD__
- #include <malloc.h>
-+#endif
- #include <string.h>
- #include <sys/poll.h>
- #include <sys/mman.h>
---- src/pcm/pcm_mulaw.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_mulaw.c 2009-09-15 00:21:21.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
-
---- src/pcm/pcm_null.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_null.c 2009-09-15 00:19:32.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <limits.h>
- #include <sys/shm.h>
- #include "pcm_local.h"
---- src/pcm/pcm_rate.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_rate.c 2009-09-15 00:21:43.000000000 +0800
-@@ -28,7 +28,9 @@
- *
- */
- #include <inttypes.h>
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
- #include "pcm_rate.h"
---- src/pcm/pcm_rate_linear.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_rate_linear.c 2009-09-15 00:19:26.000000000 +0800
-@@ -21,7 +21,9 @@
- */
-
- #include <inttypes.h>
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include "pcm_local.h"
- #include "pcm_plugin.h"
- #include "pcm_rate.h"
---- src/pcm/pcm_route.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_route.c 2009-09-15 00:19:38.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <math.h>
- #include "pcm_local.h"
- #include "pcm_plugin.h"
---- src/pcm/pcm_softvol.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/pcm/pcm_softvol.c 2009-09-15 00:19:02.000000000 +0800
-@@ -26,7 +26,9 @@
- *
- */
-
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <math.h>
- #include "pcm_local.h"
- #include "pcm_plugin.h"
---- src/seq/seq_midi_event.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/seq/seq_midi_event.c 2009-09-15 00:21:55.000000000 +0800
-@@ -28,7 +28,9 @@
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-+#ifndef __FreeBSD__
- #include <malloc.h>
-+#endif
- #include "local.h"
-
- #ifndef DOC_HIDDEN
---- src/shmarea.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/shmarea.c 2009-09-15 00:22:00.000000000 +0800
-@@ -19,7 +19,11 @@
- */
-
- #include <stdio.h>
-+#ifdef __GLIBC__
- #include <malloc.h>
-+#else
-+#include <stdlib.h>
-+#endif
- #include <string.h>
- #include <errno.h>
- #include <sys/poll.h>
---- src/userfile.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/userfile.c 2009-09-18 00:57:22.000000000 +0800
-@@ -19,9 +19,47 @@
- */
-
- #include <config.h>
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#endif
- #include <string.h>
- #include <errno.h>
-
-+/*
-+ * XXX Something is definitely wrong, very very wrong, here or there.
-+ * Apparently mplayer (so far) is the only app that break, returning
-+ * WRDE_SYNTAX. For now, this simple home/path expansion should work.
-+ * I'll investigate this further in future.
-+ */
-+#ifdef __FreeBSD__
-+int snd_user_file(const char *file, char **result)
-+{
-+
-+ if (file == NULL)
-+ return -EINVAL;
-+
-+ if (strlen(file) > 2 && strncmp(file, "~/", 2) == 0) {
-+ char *homedir, *path;
-+
-+ homedir = getenv("HOME");
-+ if (homedir == NULL)
-+ return -EINVAL;
-+
-+ /* offset -1 by removing '~' */
-+ path = malloc(strlen(homedir) + strlen(file));
-+ if (path == NULL)
-+ return -ENOMEM;
-+
-+ strcpy(path, homedir); /* copy home directory */
-+ strcat(path, file + 1); /* discard '~', start with '/' */
-+
-+ *result = path;
-+ } else
-+ *result = strdup(file);
-+
-+ return 0;
-+}
-+#else
- /**
- * \brief Get the full file name
- * \param file The file name string to parse
-@@ -70,3 +108,4 @@
- return 0;
- }
- #endif /* HAVE_WORDEXP_H */
-+#endif /* __FreeBSD__ */
---- src/timer/timer_hw.c.orig 2009-09-09 20:34:54.000000000 +0800
-+++ src/timer/timer_hw.c 2009-09-15 00:46:06.000000000 +0800
-@@ -92,10 +92,12 @@
- }
- if (sig < 0)
- return 0;
-+#ifndef __FreeBSD__
- if (fcntl(fd, F_SETSIG, (long)sig) < 0) {
- SYSERR("F_SETSIG failed");
- return -errno;
- }
-+#endif
- if (fcntl(fd, F_SETOWN, (long)pid) < 0) {
- SYSERR("F_SETOWN failed");
- return -errno;
diff --git a/audio/alsa-lib/files/patch-include__pcm.h b/audio/alsa-lib/files/patch-include__pcm.h
new file mode 100644
index 000000000000..ab9f6709a3dd
--- /dev/null
+++ b/audio/alsa-lib/files/patch-include__pcm.h
@@ -0,0 +1,16 @@
+--- include/pcm.h~
++++ include/pcm.h
+@@ -29,6 +29,13 @@
+ #ifndef __ALSA_PCM_H
+ #define __ALSA_PCM_H
+
++#ifndef ESTRPIPE
++#define ESTRPIPE EPIPE
++#endif
++#ifndef EBADFD
++#define EBADFD EBADF
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
diff --git a/audio/alsa-lib/files/patch-src__async.c b/audio/alsa-lib/files/patch-src__async.c
new file mode 100644
index 000000000000..09d019004c13
--- /dev/null
+++ b/audio/alsa-lib/files/patch-src__async.c
@@ -0,0 +1,28 @@
+$NetBSD: patch-bk,v 1.1 2008/12/25 13:18:00 hasso Exp $
+
+--- src/async.c~
++++ src/async.c
+@@ -51,6 +51,15 @@ static LIST_HEAD(snd_async_handlers);
+
+ static void snd_async_handler(int signo ATTRIBUTE_UNUSED, siginfo_t *siginfo, void *context ATTRIBUTE_UNUSED)
+ {
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++ /* XXX XXX XXX */
++ struct list_head *i;
++ list_for_each(i, &snd_async_handlers) {
++ snd_async_handler_t *h = list_entry(i, snd_async_handler_t, glist);
++ if (h->callback)
++ h->callback(h);
++ }
++#else
+ int fd;
+ struct list_head *i;
+ //assert(siginfo->si_code == SI_SIGIO);
+@@ -60,6 +69,7 @@ static void snd_async_handler(int signo
+ if (h->fd == fd && h->callback)
+ h->callback(h);
+ }
++#endif
+ }
+
+ /**
diff --git a/audio/alsa-lib/files/patch-src__pcm__pcm_direct.c b/audio/alsa-lib/files/patch-src__pcm__pcm_direct.c
new file mode 100644
index 000000000000..ba2ee2b2e6af
--- /dev/null
+++ b/audio/alsa-lib/files/patch-src__pcm__pcm_direct.c
@@ -0,0 +1,19 @@
+--- src/pcm/pcm_direct.c~
++++ src/pcm/pcm_direct.c
+@@ -44,12 +44,16 @@
+ *
+ */
+
++#if defined(__NetBSD__)
++typedef __semun semun;
++#elif !defined(__DragonFly__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+ union semun {
+ int val; /* Value for SETVAL */
+ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
+ unsigned short *array; /* Array for GETALL, SETALL */
+ struct seminfo *__buf; /* Buffer for IPC_INFO (Linux specific) */
+ };
++#endif
+
+ /*
+ * FIXME:
diff --git a/audio/alsa-lib/files/patch-src__timer__timer_hw.c b/audio/alsa-lib/files/patch-src__timer__timer_hw.c
new file mode 100644
index 000000000000..8f21d3cd4139
--- /dev/null
+++ b/audio/alsa-lib/files/patch-src__timer__timer_hw.c
@@ -0,0 +1,15 @@
+--- src/timer/timer_hw.c~
++++ src/timer/timer_hw.c
+@@ -91,10 +91,12 @@ static int snd_timer_hw_async(snd_timer_
+ }
+ if (sig < 0)
+ return 0;
++#ifdef F_SETSIG
+ if (fcntl(fd, F_SETSIG, (long)sig) < 0) {
+ SYSERR("F_SETSIG failed");
+ return -errno;
+ }
++#endif
+ if (fcntl(fd, F_SETOWN, (long)pid) < 0) {
+ SYSERR("F_SETOWN failed");
+ return -errno;
diff --git a/audio/alsa-lib/pkg-plist b/audio/alsa-lib/pkg-plist
index d612ead86aba..b01c7efd3e5e 100644
--- a/audio/alsa-lib/pkg-plist
+++ b/audio/alsa-lib/pkg-plist
@@ -86,6 +86,7 @@ share/alsa/cards/ICE1724.conf
share/alsa/cards/ICH-MODEM.conf
share/alsa/cards/ICH.conf
share/alsa/cards/ICH4.conf
+share/alsa/cards/Loopback.conf
share/alsa/cards/Maestro3.conf
share/alsa/cards/NFORCE.conf
share/alsa/cards/PC-Speaker.conf
@@ -121,6 +122,7 @@ share/alsa/pcm/iec958.conf
share/alsa/pcm/modem.conf
share/alsa/pcm/rear.conf
share/alsa/pcm/side.conf
+share/alsa/pcm/surround21.conf
share/alsa/pcm/surround40.conf
share/alsa/pcm/surround41.conf
share/alsa/pcm/surround50.conf