--- a/ChangeLog Fri Aug 10 19:40:18 2007 +0000
+++ b/ChangeLog Sat Aug 11 18:36:26 2007 +0000
@@ -1,3 +1,31 @@
+2007-08-30 Doug Scott <[email protected]>
+
+ * SFEalsa-lib.spec: *NEW* Advanced Linux Sound Architecture Library
+ * SFEalsa-utils.spec: *NEW* ALSA Utils
+ * SFEalsa-plugins.spec: *NEW* ALSA plugins - Uses OSS driver
+ * SFEtea.spec: Bump to 17.1.4
+ * SFElibx264.spec: Add SFEgpac as requirement
+ * patches/alsa-utils-02-configure.diff: Add autoconf rules
+ * patches/alsa-lib-12-compat.diff: Add extra headers for Solaris
+ * patches/alsa-lib-10-err.diff: Wrap err.h
+ * patches/alsa-utils-01-endian.diff: Endian patch
+ * patches/alsa-lib-07-aflocal.diff: AF_LOCAL -> AF_UNIX
+ * patches/alsa-plugins-03-dsp.diff: patch for maemo plugin
+ * patches/alsa-lib-06-async.diff: Solaris does not have O_ASYNC
+ * patches/alsa-lib-08-mapfile.diff: Solaris does not have MAP_FILE
+ * patches/alsa-plugins-02-oss.diff: Add Solaris headers
+ * patches/alsa-lib-11-sockio.diff: Add sys/sockio.h
+ * patches/alsa-lib-02-byteorder.diff: Byte Order patch
+ * patches/alsa-lib-04-inttypes.diff: add u_int8_t etc
+ * patches/alsa-lib-09-search.diff: Hack GNU search compat function
+ * patches/alsa-lib-05-ioctl.diff: Add Solaris headers
+ * patches/alsa-lib-01-configure.diff: Add autoconf rules
+ * patches/alsa-plugins-01-configure.diff: Add autoconf rules
+ * patches/alsa-lib-03-alloca.diff: Add alloca.h
+ * include/byteswap-compat.h: Hack to create <byteswap.h> - needs work :)
+ * include/endian-compat.h: Hack to create <endian.h> - needs work :)
+ * include/asound.conf: Sample asound.conf to enable alsa to use OSS
+
2007-08-10 Laszlo (Laca) Peter <[email protected]>
* SUNWlxml.spec: (new) libxml2 - copied from JDS 2-12 branch
@@ -94,6 +122,7 @@
2007-08-30 Doug Scott <[email protected]>
+
* SFEffmpeg.spec: Bumped export version
Added codecs
Created ffmpeg.pc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEalsa-lib.spec Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,114 @@
+#
+# spec file for package SFEalsa-lib
+#
+# includes module(s): alsa-lib
+#
+%include Solaris.inc
+
+Name: SFEalsa-lib
+Summary: alsa-lib
+Version: 1.0.14a
+Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{version}.tar.bz2
+Source1: byteswap-compat.h
+Source2: endian-compat.h
+Patch1: alsa-lib-01-configure.diff
+Patch2: alsa-lib-02-byteorder.diff
+Patch3: alsa-lib-03-alloca.diff
+Patch4: alsa-lib-04-inttypes.diff
+Patch5: alsa-lib-05-ioctl.diff
+Patch6: alsa-lib-06-async.diff
+Patch7: alsa-lib-07-aflocal.diff
+Patch8: alsa-lib-08-mapfile.diff
+Patch9: alsa-lib-09-search.diff
+Patch10: alsa-lib-10-err.diff
+Patch11: alsa-lib-11-sockio.diff
+Patch12: alsa-lib-12-compat.diff
+SUNW_BaseDir: %{_basedir}
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%include default-depend.inc
+
+%package devel
+Summary: %{summary} - development files
+SUNW_BaseDir: %{_basedir}
+%include default-depend.inc
+Requires: %name
+
+%prep
+%setup -q -n alsa-lib-%version
+cp %{SOURCE1} include
+cp %{SOURCE2} include
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+
+%build
+CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
+if test "x$CPUS" = "x" -o $CPUS = 0; then
+ CPUS=1
+fi
+
+# /usr/bin/sed is busted. Find a better one :)
+export PATH=/usr/xpg4/bin:$PATH
+
+CC=/usr/sfw/bin/gcc
+export CPPFLAGS="-D_POSIX_SOURCE -D__EXTENSIONS__ -D_XPG4_2"
+export CFLAGS="-O3"
+export LDFLAGS="%_ldflags"
+libtoolize -f -c
+aclocal
+autoheader
+automake -f -a
+autoconf -f
+./configure --prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --datadir=%{_datadir} \
+ --mandir=%{_mandir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} \
+ --sysconfdir=%{_sysconfdir} \
+ --enable-shared \
+ --disable-static \
+ --without-versioned
+
+gmake -j$CPUS
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a
+rm -f $RPM_BUILD_ROOT%{_libdir}/alsa-lib/*/*la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, bin)
+%{_bindir}
+%dir %attr (0755, root, bin) %{_libdir}
+%{_libdir}/lib*.so*
+%{_libdir}/alsa-lib
+%dir %attr (0755, root, sys) %{_datadir}
+%{_datadir}/alsa
+
+%files devel
+%defattr (-, root, bin)
+%{_includedir}
+%dir %attr (0755, root, bin) %{_libdir}
+%dir %attr (0755, root, other) %{_libdir}/pkgconfig
+%{_libdir}/pkgconfig/*
+%dir %attr (0755, root, sys) %{_datadir}
+%dir %attr (0755, root, other) %{_datadir}/aclocal
+%{_datadir}/aclocal/*
+
+%changelog
+* Sat Aug 11 2007 - [email protected]
+- Initial version
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEalsa-plugins.spec Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,85 @@
+#
+# spec file for package SFEalsa-plugins
+#
+# includes module(s): alsa-plugins
+#
+%include Solaris.inc
+
+Name: SFEalsa-plugins
+Summary: alsa-plugins
+Version: 1.0.14
+Source: ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-%{version}.tar.bz2
+Source1: asound.conf
+Patch1: alsa-plugins-01-configure.diff
+Patch2: alsa-plugins-02-oss.diff
+Patch3: alsa-plugins-03-dsp.diff
+SUNW_BaseDir: %{_basedir}
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%include default-depend.inc
+Requires: oss
+BuildRequires: SUNWdbus-devel
+Requires: SUNWdbus
+BuildRequires: SUNWspeex-devel
+Requires: SUNWspeex
+
+%package root
+Summary: %{summary} - / filesystem
+SUNW_BaseDir: /
+%include default-depend.inc
+
+%prep
+%setup -q -n alsa-plugins-%version
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+
+%build
+CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
+if test "x$CPUS" = "x" -o $CPUS = 0; then
+ CPUS=1
+fi
+
+CC=/usr/sfw/bin/gcc
+export CPPFLAGS="-D_POSIX_SOURCE -D__EXTENSIONS__ -D_XPG4_2"
+export CFLAGS="-O3"
+export LDFLAGS="%_ldflags"
+libtoolize -f -c
+aclocal
+autoheader
+automake -f -a
+autoconf -f
+./configure --prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --datadir=%{_datadir} \
+ --mandir=%{_mandir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} \
+ --sysconfdir=%{_sysconfdir} \
+ --enable-shared \
+ --disable-static
+
+gmake -j$CPUS
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+rm -f $RPM_BUILD_ROOT%{_libdir}/alsa-lib/*.la
+
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
+cp %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, bin)
+%{_libdir}
+
+%files root
+%defattr (-, root, sys)
+%dir %attr (0755, root, sys) %{_sysconfdir}
+%config %{_sysconfdir}/asound.conf
+
+%changelog
+* Sun Aug 12 2007 - [email protected]
+- Initial version
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEalsa-utils.spec Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,72 @@
+#
+# spec file for package SFEalsa-utils
+#
+# includes module(s): alsa-utils
+#
+%include Solaris.inc
+
+Name: SFEalsa-utils
+Summary: alsa-utils
+Version: 1.0.14
+Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2
+Patch1: alsa-utils-01-endian.diff
+Patch2: alsa-utils-02-configure.diff
+SUNW_BaseDir: %{_basedir}
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%include default-depend.inc
+BuildRequires: SFEalsa-lib-devel
+Requires: SFEalsa-lib
+
+%prep
+%setup -q -n alsa-utils-%version
+%patch1 -p1
+%patch2 -p1
+
+%build
+CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
+if test "x$CPUS" = "x" -o $CPUS = 0; then
+ CPUS=1
+fi
+
+CC=/usr/sfw/bin/gcc
+export CPPFLAGS="-D_POSIX_SOURCE -D__EXTENSIONS__ -D_XPG4_2"
+export CFLAGS="-O3"
+export LDFLAGS="%_ldflags"
+libtoolize -f -c
+aclocal
+autoheader
+automake -f -a
+autoconf -f
+./configure --prefix=%{_prefix} \
+ --sbindir=%{_sbindir} \
+ --bindir=%{_bindir} \
+ --datadir=%{_datadir} \
+ --mandir=%{_mandir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} \
+ --sysconfdir=%{_sysconfdir} \
+ --enable-shared \
+ --disable-static \
+ --disable-alsamixer
+
+make -j$CPUS
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, bin)
+%{_bindir}
+%{_sbindir}
+%dir %attr (0755, root, sys) %{_datadir}
+%{_datadir}/alsa
+%{_datadir}/sounds
+%{_mandir}
+
+%changelog
+* Sat Aug 11 2007 - [email protected]
+- Initial version
--- a/SFElibx264.spec Fri Aug 10 19:40:18 2007 +0000
+++ b/SFElibx264.spec Sat Aug 11 18:36:26 2007 +0000
@@ -19,6 +19,8 @@
SUNW_BaseDir: %{_basedir}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%include default-depend.inc
+BuildRequires: SFEgpac-devel
+Requires: SFEgpac
%package devel
Summary: %{summary} - development files
@@ -101,5 +103,7 @@
%endif
%changelog
+* Sun Aug 12 2007 - [email protected]
+- Added SFEgpac as Required
* Fri Aug 3 2007 - [email protected]
- initial version
--- a/SFEtea.spec Fri Aug 10 19:40:18 2007 +0000
+++ b/SFEtea.spec Sat Aug 11 18:36:26 2007 +0000
@@ -5,7 +5,7 @@
#
%include Solaris.inc
-%define src_ver 17.1.1
+%define src_ver 17.1.4
%define src_name tea
%define src_url http://nchc.dl.sourceforge.net/sourceforge/tea-editor
@@ -98,5 +98,7 @@
%endif
%changelog
+* Tue Aug 7 2007 - [email protected]
+- Bump to 17.1.4
* Sun Jul 29 2007 - [email protected]
- Initial spec
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/include/asound.conf Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,19 @@
+pcm.oss {
+ type oss
+ device /dev/dsp
+}
+
+pcm.!default {
+ type oss
+ device /dev/dsp
+}
+
+ctl.oss {
+ type oss
+ device /dev/mixer
+}
+
+ctl.!default {
+ type oss
+ device /dev/mixer
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/include/byteswap-compat.h Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,86 @@
+/*
+ * copyright (c) 2006 Michael Niedermayer <[email protected]>
+ * copyright (c) 2007 Doug Scott <[email protected]>
+ *
+ * This file is came from FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdint.h>
+#ifndef HAVE_BYTESWAP_COMPAT_H
+#define HAVE_BYTESWAP_COMPAT_H 1
+
+#ifdef __amd64
+# define LEGACY_REGS "=Q"
+#else
+# define LEGACY_REGS "=q"
+#endif
+
+static inline uint16_t bswap_16(uint16_t x)
+{
+#if defined(__i386)
+ __asm("rorw $8, %0" :
+ LEGACY_REGS (x) :
+ "0" (x));
+#else
+ x= (x>>8) | (x<<8);
+#endif
+ return x;
+}
+
+static inline uint32_t bswap_32(uint32_t x)
+{
+#if defined(__i386)
+#if __CPU__ != 386
+ __asm("bswap %0":
+ "=r" (x) :
+#else
+ __asm("xchgb %b0,%h0\n"
+ " rorl $16,%0\n"
+ " xchgb %b0,%h0":
+ LEGACY_REGS (x) :
+#endif
+ "0" (x));
+#else
+ x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
+ x= (x>>16) | (x<<16);
+#endif
+ return x;
+}
+
+static inline uint64_t bswap_64(uint64_t x)
+{
+#if 0
+ x= ((x<< 8)&0xFF00FF00FF00FF00ULL) | ((x>> 8)&0x00FF00FF00FF00FFULL);
+ x= ((x<<16)&0xFFFF0000FFFF0000ULL) | ((x>>16)&0x0000FFFF0000FFFFULL);
+ return (x>>32) | (x<<32);
+#elif defined(__amd64)
+ __asm("bswap %0":
+ "=r" (x) :
+ "0" (x));
+ return x;
+#else
+ union {
+ uint64_t ll;
+ uint32_t l[2];
+ } w, r;
+ w.ll = x;
+ r.l[0] = bswap_32 (w.l[1]);
+ r.l[1] = bswap_32 (w.l[0]);
+ return r.ll;
+#endif
+}
+#endif /* HAVE_BYTESWAP_COMPAT_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/include/endian-compat.h Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,33 @@
+/*
+ * copyright (c) 2007 Doug Scott <[email protected]>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef HAVE_ENDIAN_COMPAT_H
+#define HAVE_ENDIAN_COMPAT_H 1
+
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+
+#include <sys/byteorder.h>
+
+#if defined(_BIG_ENDIAN)
+#define __BYTE_ORDER __BIG_ENDIAN
+#else
+#define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
+
+#endif /* HAVE_ENDIAN_COMPAT_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-01-configure.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,51 @@
+diff -ur alsa-lib-1.0.14a.orig/configure.in alsa-lib-1.0.14a/configure.in
+--- alsa-lib-1.0.14a.orig/configure.in 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/configure.in 2007-08-11 14:53:26.474751213 +0700
+@@ -278,6 +278,47 @@
+ AC_DEFINE(SUPPORT_RESMGR, "1", [Support resmgr with alsa-lib])
+ fi
+
++dnl Check for headers
++AC_CHECK_HEADERS([alloca.h endian.h byteswap.h sys/byteorder.h search.h err.h])
++AC_CHECK_HEADERS([sys/sockio.h features.h sys/ioccom.h])
++
++dnl Check for -lnsl
++AC_CHECK_LIB([nsl], [gethostent], [HAVE_LIBNSL="yes"])
++if test "$HAVE_LIBNSL" = "yes"; then
++ ALSA_DEPLIBS="$ALSA_DEPLIBS -lnsl"
++ AC_DEFINE([HAVE_LIBNSL], 1, [Have libnsl])
++fi
++
++dnl Check for -lsocket
++AC_CHECK_LIB([socket], [setsockopt], [HAVE_LIBSOCKET="yes"])
++if test "$HAVE_LIBSOCKET" = "yes"; then
++ ALSA_DEPLIBS="$ALSA_DEPLIBS -lsocket"
++ AC_DEFINE([HAVE_LIBSOCKET], 1, [Have libsocket])
++fi
++
++dnl not all systems have fcntl(, F_SETFL, O_ASYNC)
++AC_MSG_CHECKING([if fcntl() supports F_SETFL+O_ASYNC])
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM(
++ [[
++#if HAVE_SYS_TYPES_H
++#include <sys/types.h>
++#endif
++#if HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++#if HAVE_FCNTL_H
++#include <fcntl.h>
++#endif
++ ]],[[
++ fcntl(STDIN_FILENO, F_GETFL);
++ fcntl(STDIN_FILENO, F_SETFL, O_ASYNC);
++ ]]
++ )],
++ [AC_DEFINE(HAVE_FCNTL_ASYNC, 1, [Define to 1 if fcntl() supports F_SETFL+O_ASYNC])
++ AC_MSG_RESULT(yes)],
++ [AC_MSG_RESULT(no)])
++
+ dnl Check for aload* support...
+ AC_MSG_CHECKING(for aload* support)
+ AC_ARG_ENABLE(aload,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-02-byteorder.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,306 @@
+diff -ur alsa-lib-1.0.14a.orig/include/asoundlib.h alsa-lib-1.0.14a/include/asoundlib.h
+--- alsa-lib-1.0.14a.orig/include/asoundlib.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/asoundlib.h 2007-08-11 14:03:01.837329447 +0700
+@@ -34,7 +34,11 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <assert.h>
++#ifdef HAVE_ENDIAN_H
+ #include <endian.h>
++#else
++#include <alsa/endian-compat.h>
++#endif
+ #include <sys/poll.h>
+ #include <errno.h>
+ #include <stdarg.h>
+diff -ur alsa-lib-1.0.14a.orig/include/local.h alsa-lib-1.0.14a/include/local.h
+--- alsa-lib-1.0.14a.orig/include/local.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/local.h 2007-08-11 14:03:17.933790724 +0700
+@@ -28,7 +28,11 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <assert.h>
++#ifdef HAVE_ENDIAN_H
+ #include <endian.h>
++#else
++#include <alsa/endian-compat.h>
++#endif
+ #include <stdarg.h>
+ #include <sys/poll.h>
+ #include <errno.h>
+diff -ur alsa-lib-1.0.14a.orig/include/sound/asound.h alsa-lib-1.0.14a/include/sound/asound.h
+--- alsa-lib-1.0.14a.orig/include/sound/asound.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/sound/asound.h 2007-08-11 14:02:53.141520907 +0700
+@@ -43,7 +43,12 @@
+
+ #else /* !__KERNEL__ */
+
++#ifdef HAVE_ENDIAN_H
+ #include <endian.h>
++#else
++#include <alsa/endian-compat.h>
++#endif
++
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+ #define SNDRV_LITTLE_ENDIAN
+ #elif __BYTE_ORDER == __BIG_ENDIAN
+diff -ur alsa-lib-1.0.14a.orig/include/sound/type_compat.h alsa-lib-1.0.14a/include/sound/type_compat.h
+--- alsa-lib-1.0.14a.orig/include/sound/type_compat.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/sound/type_compat.h 2007-08-11 14:06:44.305834002 +0700
+@@ -10,8 +10,16 @@
+ typedef int16_t __s16;
+ typedef int32_t __s32;
+
++#ifdef HAVE_ENDIAN_H
+ #include <endian.h>
++#else
++#include <alsa/endian-compat.h>
++#endif
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+ #define __cpu_to_le32(x) (x)
+ #define __cpu_to_be32(x) bswap_32(x)
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_adpcm.c alsa-lib-1.0.14a/src/pcm/pcm_adpcm.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_adpcm.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_adpcm.c 2007-08-11 14:05:00.631926236 +0700
+@@ -56,7 +56,11 @@
+ come across a good description of XA yet.
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_alaw.c alsa-lib-1.0.14a/src/pcm/pcm_alaw.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_alaw.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_alaw.c 2007-08-11 14:05:08.832045082 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_copy.c alsa-lib-1.0.14a/src/pcm/pcm_copy.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_copy.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_copy.c 2007-08-11 14:06:09.393168524 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_dmix_generic.c alsa-lib-1.0.14a/src/pcm/pcm_dmix_generic.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_dmix_generic.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_dmix_generic.c 2007-08-11 14:04:42.919412616 +0700
+@@ -124,7 +124,11 @@
+ (1ULL << SND_PCM_FORMAT_S16_BE) | (1ULL << SND_PCM_FORMAT_S32_BE) |
+ (1ULL << SND_PCM_FORMAT_S24_3LE);
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+
+ static void mix_areas1_native(unsigned int size,
+ volatile signed short *dst, signed short *src,
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_file.c alsa-lib-1.0.14a/src/pcm/pcm_file.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_file.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_file.c 2007-08-11 14:05:52.848965270 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include <ctype.h>
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_iec958.c alsa-lib-1.0.14a/src/pcm/pcm_iec958.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_iec958.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_iec958.c 2007-08-11 14:05:45.112882542 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_lfloat.c alsa-lib-1.0.14a/src/pcm/pcm_lfloat.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_lfloat.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_lfloat.c 2007-08-11 14:06:36.049921855 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_linear.c alsa-lib-1.0.14a/src/pcm/pcm_linear.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_linear.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_linear.c 2007-08-11 14:06:17.297449712 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_meter.c alsa-lib-1.0.14a/src/pcm/pcm_meter.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_meter.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_meter.c 2007-08-11 14:04:34.767640584 +0700
+@@ -27,7 +27,11 @@
+ */
+
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include <time.h>
+ #include <pthread.h>
+ #include <dlfcn.h>
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_misc.c alsa-lib-1.0.14a/src/pcm/pcm_misc.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_misc.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_misc.c 2007-08-11 14:04:25.871344136 +0700
+@@ -23,7 +23,11 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_mulaw.c alsa-lib-1.0.14a/src/pcm/pcm_mulaw.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_mulaw.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_mulaw.c 2007-08-11 14:06:00.833149377 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_null.c alsa-lib-1.0.14a/src/pcm/pcm_null.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_null.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_null.c 2007-08-11 14:05:28.760342796 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include <limits.h>
+ #include <sys/shm.h>
+ #include "pcm_local.h"
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_rate.c alsa-lib-1.0.14a/src/pcm/pcm_rate.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_rate.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_rate.c 2007-08-11 14:06:26.977911230 +0700
+@@ -28,7 +28,11 @@
+ *
+ */
+ #include <inttypes.h>
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+ #include "pcm_rate.h"
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_rate_linear.c alsa-lib-1.0.14a/src/pcm/pcm_rate_linear.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_rate_linear.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_rate_linear.c 2007-08-11 14:05:17.144146272 +0700
+@@ -21,7 +21,11 @@
+ */
+
+ #include <inttypes.h>
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+ #include "pcm_rate.h"
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_route.c alsa-lib-1.0.14a/src/pcm/pcm_route.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_route.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_route.c 2007-08-11 14:05:36.768712133 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include <math.h>
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_softvol.c alsa-lib-1.0.14a/src/pcm/pcm_softvol.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_softvol.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_softvol.c 2007-08-11 14:04:52.543827323 +0700
+@@ -26,7 +26,11 @@
+ *
+ */
+
++#ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+ #include <math.h>
+ #include "pcm_local.h"
+ #include "pcm_plugin.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-03-alloca.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,26 @@
+diff -ur alsa-lib-1.0.14a.orig/include/asoundlib.h alsa-lib-1.0.14a/include/asoundlib.h
+--- alsa-lib-1.0.14a.orig/include/asoundlib.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/asoundlib.h 2007-08-11 14:23:22.238291008 +0700
+@@ -38,6 +38,9 @@
+ #include <sys/poll.h>
+ #include <errno.h>
+ #include <stdarg.h>
++#ifdef HAVE_ALLOCA_H
++#include <alloca.h>
++#endif
+
+ #include <alsa/asoundef.h>
+ #include <alsa/version.h>
+diff -ur alsa-lib-1.0.14a.orig/include/local.h alsa-lib-1.0.14a/include/local.h
+--- alsa-lib-1.0.14a.orig/include/local.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/local.h 2007-08-11 14:22:27.829399072 +0700
+@@ -32,6 +32,9 @@
+ #include <stdarg.h>
+ #include <sys/poll.h>
+ #include <errno.h>
++#ifdef HAVE_ALLOCA_H
++#include <alloca.h>
++#endif
+
+ #include "config.h"
+ #ifdef SUPPORT_RESMGR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-04-inttypes.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,44 @@
+diff -ur alsa-lib-1.0.14a.orig/include/asoundlib.h alsa-lib-1.0.14a/include/asoundlib.h
+--- alsa-lib-1.0.14a.orig/include/asoundlib.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/asoundlib.h 2007-08-11 14:33:53.978819804 +0700
+@@ -28,6 +28,18 @@
+ #ifndef __ASOUNDLIB_H
+ #define __ASOUNDLIB_H
+
++#if defined(sun)
++#include <sys/inttypes.h>
++typedef uint8_t u_int8_t;
++typedef uint16_t u_int16_t;
++typedef uint32_t u_int32_t;
++typedef uint64_t u_int64_t;
++#endif
++
++#ifdef HAVE_SYS_IOCCOM_H
++#include <sys/ioccom.h>
++#endif
++
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff -ur alsa-lib-1.0.14a.orig/include/sound/asound.h alsa-lib-1.0.14a/include/sound/asound.h
+--- alsa-lib-1.0.14a.orig/include/sound/asound.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/sound/asound.h 2007-08-11 14:37:19.175407508 +0700
+@@ -23,6 +23,18 @@
+ #ifndef __SOUND_ASOUND_H
+ #define __SOUND_ASOUND_H
+
++#if defined(sun)
++#include <sys/inttypes.h>
++typedef uint8_t u_int8_t;
++typedef uint16_t u_int16_t;
++typedef uint32_t u_int32_t;
++typedef uint64_t u_int64_t;
++#endif
++
++#ifdef HAVE_SYS_IOCCOM_H
++#include <sys/ioccom.h>
++#endif
++
+ #if defined(LINUX) || defined(__LINUX__) || defined(__linux__)
+
+ #include <linux/ioctl.h>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-05-ioctl.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,19 @@
+diff -ur alsa-lib-1.0.14a.orig/include/sound/asequencer.h alsa-lib-1.0.14a/include/sound/asequencer.h
+--- alsa-lib-1.0.14a.orig/include/sound/asequencer.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/sound/asequencer.h 2007-08-11 14:43:34.518949852 +0700
+@@ -23,8 +23,15 @@
+ #define __SOUND_ASEQUENCER_H
+
+ #ifndef __KERNEL__
++#if defined(sun)
++#include <unistd.h>
++#include <stropts.h>
++#include <sys/ioctl.h>
++#include <sys/ioccom.h>
++#else
+ #include <linux/ioctl.h>
+ #endif
++#endif
+
+ #include <sound/asound.h>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-06-async.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,115 @@
+diff -ur alsa-lib-1.0.14a.orig/src/control/control_hw.c alsa-lib-1.0.14a/src/control/control_hw.c
+--- alsa-lib-1.0.14a.orig/src/control/control_hw.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/control/control_hw.c 2007-08-11 16:33:34.452035669 +0700
+@@ -84,6 +84,7 @@
+ snd_ctl_hw_t *hw = ctl->private_data;
+ int fd = hw->fd;
+
++#ifdef HAVE_FCNTL_ASYNC
+ if ((flags = fcntl(fd, F_GETFL)) < 0) {
+ SYSERR("F_GETFL failed");
+ return -errno;
+@@ -96,12 +97,15 @@
+ SYSERR("F_SETFL for O_ASYNC failed");
+ return -errno;
+ }
++#endif /* HAVE_FCNTL_ASYNC */
+ if (sig < 0)
+ return 0;
++#if !defined(sun)
+ 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;
+@@ -376,8 +380,10 @@
+ fmode = O_RDWR;
+ if (mode & SND_CTL_NONBLOCK)
+ fmode |= O_NONBLOCK;
++#ifdef HAVE_FCNTL_ASYNC
+ if (mode & SND_CTL_ASYNC)
+ fmode |= O_ASYNC;
++#endif /* HAVE_FCNTL_ASYNC */
+ fd = snd_open_device(filename, fmode);
+ if (fd < 0) {
+ snd_card_load(card);
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_hw.c alsa-lib-1.0.14a/src/pcm/pcm_hw.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_hw.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_hw.c 2007-08-11 16:30:29.928834321 +0700
+@@ -174,6 +174,7 @@
+ snd_pcm_hw_t *hw = pcm->private_data;
+ int fd = hw->fd, err;
+
++#ifdef HAVE_FCNTL_ASYNC
+ if ((flags = fcntl(fd, F_GETFL)) < 0) {
+ err = -errno;
+ SYSMSG("F_GETFL failed");
+@@ -188,13 +189,16 @@
+ SYSMSG("F_SETFL for O_ASYNC failed");
+ return err;
+ }
++#endif /* HAVE_FCNTL_ASYNC */
+ if (sig < 0)
+ return 0;
++#if !defined(sun)
+ if (fcntl(fd, F_SETSIG, (long)sig) < 0) {
+ err = -errno;
+ SYSMSG("F_SETSIG failed");
+ return err;
+ }
++#endif /* sun */
+ if (fcntl(fd, F_SETOWN, (long)pid) < 0) {
+ err = -errno;
+ SYSMSG("F_SETOWN failed");
+@@ -1095,8 +1099,10 @@
+ mode = 0;
+ if (fmode & O_NONBLOCK)
+ mode |= SND_PCM_NONBLOCK;
++#ifdef HAVE_FCNTL_ASYNC
+ if (fmode & O_ASYNC)
+ mode |= SND_PCM_ASYNC;
++#endif /* HAVE_FCNTL_ASYNC */
+
+ #if 0
+ /*
+@@ -1232,8 +1238,10 @@
+ fmode = O_RDWR;
+ if (mode & SND_PCM_NONBLOCK)
+ fmode |= O_NONBLOCK;
++#ifdef HAVE_FCNTL_ASYNC
+ if (mode & SND_PCM_ASYNC)
+ fmode |= O_ASYNC;
++#endif /* HAVE_FCNTL_ASYNC */
+ if (mode & SND_PCM_APPEND)
+ fmode |= O_APPEND;
+ fd = snd_open_device(filename, fmode);
+diff -ur alsa-lib-1.0.14a.orig/src/timer/timer_hw.c alsa-lib-1.0.14a/src/timer/timer_hw.c
+--- alsa-lib-1.0.14a.orig/src/timer/timer_hw.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/timer/timer_hw.c 2007-08-11 16:32:13.850322154 +0700
+@@ -78,6 +78,7 @@
+
+ assert(timer);
+ fd = timer->poll_fd;
++#ifdef HAVE_FCNTL_ASYNC
+ if ((flags = fcntl(fd, F_GETFL)) < 0) {
+ SYSERR("F_GETFL failed");
+ return -errno;
+@@ -90,12 +91,15 @@
+ SYSERR("F_SETFL for O_ASYNC failed");
+ return -errno;
+ }
++#endif /* HAVE_FCNTL_ASYNC */
+ if (sig < 0)
+ return 0;
++#if !defined(sun)
+ if (fcntl(fd, F_SETSIG, (long)sig) < 0) {
+ SYSERR("F_SETSIG failed");
+ return -errno;
+ }
++#endif /* !sun */
+ if (fcntl(fd, F_SETOWN, (long)pid) < 0) {
+ SYSERR("F_SETOWN failed");
+ return -errno;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-07-aflocal.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,36 @@
+diff -ur alsa-lib-1.0.14a.orig/include/aserver.h alsa-lib-1.0.14a/include/aserver.h
+--- alsa-lib-1.0.14a.orig/include/aserver.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/aserver.h 2007-08-11 15:32:38.229765762 +0700
+@@ -22,6 +22,14 @@
+ #include "../src/pcm/pcm_local.h"
+ #include "../src/control/control_local.h"
+
++#if !defined(PF_LOCAL) && defined(PF_UNIX)
++#define PF_LOCAL PF_UNIX
++#endif
++
++#if !defined(AF_LOCAL) && defined(AF_UNIX)
++#define AF_LOCAL AF_UNIX
++#endif
++
+ int snd_receive_fd(int sock, void *data, size_t len, int *fd);
+ int snd_is_local(struct hostent *hent);
+
+diff -ur alsa-lib-1.0.14a.orig/include/local.h alsa-lib-1.0.14a/include/local.h
+--- alsa-lib-1.0.14a.orig/include/local.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/local.h 2007-08-11 15:34:57.628949597 +0700
+@@ -43,6 +43,14 @@
+ #define RTLD_NOW 0
+ #endif
+
++#if !defined(PF_LOCAL) && defined(PF_UNIX)
++#define PF_LOCAL PF_UNIX
++#endif
++
++#if !defined(AF_LOCAL) && defined(AF_UNIX)
++#define AF_LOCAL AF_UNIX
++#endif
++
+ #define _snd_config_iterator list_head
+ #define _snd_interval sndrv_interval
+ #define _snd_pcm_info sndrv_pcm_info
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-08-mapfile.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,39 @@
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_hw.c alsa-lib-1.0.14a/src/pcm/pcm_hw.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_hw.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_hw.c 2007-08-11 15:19:53.179010431 +0700
+@@ -39,6 +39,9 @@
+ #include <sys/shm.h>
+ #include "pcm_local.h"
+ #include "../control/control_local.h"
++#ifndef MAP_FILE
++# define MAP_FILE 0
++#endif
+
+ //#define DEBUG_RW /* use to debug readi/writei/readn/writen */
+ //#define DEBUG_MMAP /* debug mmap_commit */
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_mmap.c alsa-lib-1.0.14a/src/pcm/pcm_mmap.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_mmap.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_mmap.c 2007-08-11 15:19:28.242297858 +0700
+@@ -25,6 +25,9 @@
+ #include <sys/mman.h>
+ #include <sys/shm.h>
+ #include "pcm_local.h"
++#ifndef MAP_FILE
++# define MAP_FILE 0
++#endif
+
+ size_t page_size(void)
+ {
+diff -ur alsa-lib-1.0.14a.orig/src/pcm/pcm_shm.c alsa-lib-1.0.14a/src/pcm/pcm_shm.c
+--- alsa-lib-1.0.14a.orig/src/pcm/pcm_shm.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/pcm/pcm_shm.c 2007-08-11 15:20:10.739130537 +0700
+@@ -44,6 +44,9 @@
+ #include <net/if.h>
+ #include <netdb.h>
+ #include "aserver.h"
++#ifndef MAP_FILE
++# define MAP_FILE 0
++#endif
+
+ #ifndef PIC
+ /* entry for static linking */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-09-search.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,94 @@
+diff -ur alsa-lib-1.0.14a.orig/include/search.h alsa-lib-1.0.14a/include/search.h
+--- alsa-lib-1.0.14a.orig/include/search.h 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/search.h 2007-08-11 17:18:24.934396510 +0700
+@@ -17,6 +17,17 @@
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
++#if defined(sun)
++#include "/usr/include/search.h"
++#define __USE_GNU
++struct hsearch_data
++ {
++ struct _ENTRY *table;
++ unsigned int size;
++ unsigned int filled;
++ };
++#endif
++
+ #ifndef _SEARCH_H
+ #define _SEARCH_H 1
+
+@@ -48,17 +59,34 @@
+ extern void remque __P ((void *__elem));
+ #endif
+
++#ifndef __const
++#define __const const
++#endif /* __const */
++
++#if !defined(__PMT)
++#define __PMT(args) args
++#endif
++
++#if !defined(__P)
++#define __P(args) args
++#endif
++
++#if !defined(__ptr_t)
++#define __ptr_t void *
++#endif
++
+
+ /* For use with hsearch(3). */
+ #ifndef __COMPAR_FN_T
+ # define __COMPAR_FN_T
+-typedef int (*__compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
++typedef int (*compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
+
+ # ifdef __USE_GNU
+-typedef __compar_fn_t comparison_fn_t;
++typedef compar_fn_t comparison_fn_t;
+ # endif
+ #endif
+
++
+ /* Action which shall be performed in the call the hsearch. */
+ typedef enum
+ {
+@@ -128,16 +156,16 @@
+ /* Search for an entry matching the given KEY in the tree pointed to
+ by *ROOTP and insert a new element if not found. */
+ extern void *tsearch __PMT ((__const void *__key, void **__rootp,
+- __compar_fn_t __compar));
++ compar_fn_t __compar));
+
+ /* Search for an entry matching the given KEY in the tree pointed to
+ by *ROOTP. If no matching entry is available return NULL. */
+ extern void *tfind __PMT ((__const void *__key, void *__const *__rootp,
+- __compar_fn_t __compar));
++ compar_fn_t __compar));
+
+ /* Remove the element matching KEY from the tree pointed to by *ROOTP. */
+ extern void *tdelete __PMT ((__const void *__key, void **__rootp,
+- __compar_fn_t __compar));
++ compar_fn_t __compar));
+
+ #ifndef __ACTION_FN_T
+ # define __ACTION_FN_T
+@@ -164,13 +192,13 @@
+ [BASE,BASE+NMEMB*SIZE). */
+ extern void *lfind __PMT ((__const void *__key, __const void *__base,
+ size_t *__nmemb, size_t __size,
+- __compar_fn_t __compar));
++ compar_fn_t __compar));
+
+ /* Perform linear search for KEY by comparing by COMPAR function in
+ array [BASE,BASE+NMEMB*SIZE) and insert entry if not found. */
+ extern void *lsearch __PMT ((__const void *__key, void *__base,
+ size_t *__nmemb, size_t __size,
+- __compar_fn_t __compar));
++ compar_fn_t __compar));
+
+ __END_DECLS
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-10-err.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,37 @@
+diff -ur alsa-lib-1.0.14a.orig/alsalisp/alsalisp.c alsa-lib-1.0.14a/alsalisp/alsalisp.c
+--- alsa-lib-1.0.14a.orig/alsalisp/alsalisp.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/alsalisp/alsalisp.c 2007-08-11 15:53:42.572035395 +0700
+@@ -23,7 +23,9 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
++#ifdef HAVE_ERR_H
+ #include <err.h>
++#endif
+
+ #include "asoundlib.h"
+ #include "alisp.h"
+diff -ur alsa-lib-1.0.14a.orig/src/alisp/alisp.c alsa-lib-1.0.14a/src/alisp/alisp.c
+--- alsa-lib-1.0.14a.orig/src/alisp/alisp.c 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/src/alisp/alisp.c 2007-08-11 15:53:29.644261894 +0700
+@@ -29,7 +29,9 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <math.h>
++#ifdef HAVE_ERR_H
+ #include <err.h>
++#endif
+
+ #define alisp_seq_iterator alisp_object
+
+diff -ur alsa-lib-1.0.14a.orig/test/namehint.c alsa-lib-1.0.14a/test/namehint.c
+--- alsa-lib-1.0.14a.orig/test/namehint.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/test/namehint.c 2007-08-11 15:53:17.715140599 +0700
+@@ -1,5 +1,7 @@
+ #include "../include/asoundlib.h"
++#ifdef HAVE_ERR_H
+ #include <err.h>
++#endif
+
+ int main(int argc, char *argv[])
+ {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-11-sockio.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,13 @@
+diff -ur alsa-lib-1.0.14a.orig/src/socket.c alsa-lib-1.0.14a/src/socket.c
+--- alsa-lib-1.0.14a.orig/src/socket.c 2007-06-11 15:53:14.000000000 +0700
++++ alsa-lib-1.0.14a/src/socket.c 2007-08-11 17:29:27.720607562 +0700
+@@ -38,6 +38,9 @@
+ #include <net/if.h>
+ #include <netdb.h>
+ #include "local.h"
++#ifdef HAVE_SYS_SOCKIO_H
++#include <sys/sockio.h>
++#endif
+
+ #ifndef DOC_HIDDEN
+ int snd_send_fd(int sock, void *data, size_t len, int fd)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-lib-12-compat.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,13 @@
+diff -ur alsa-lib-1.0.14a.orig/include/Makefile.am alsa-lib-1.0.14a/include/Makefile.am
+--- alsa-lib-1.0.14a.orig/include/Makefile.am 2007-06-11 15:53:13.000000000 +0700
++++ alsa-lib-1.0.14a/include/Makefile.am 2007-08-11 18:30:28.178039422 +0700
+@@ -10,7 +10,8 @@
+ seq_event.h seq.h seqmid.h seq_midi_event.h \
+ conv.h instr.h iatomic.h \
+ alisp.h pcm_external.h pcm_ioplug.h pcm_extplug.h \
+- pcm_rate.h control_external.h
++ pcm_rate.h control_external.h byteswap-compat.h \
++ endian-compat.h
+
+ noinst_HEADERS = alsa sys.h search.h list.h aserver.h local.h alsa-symbols.h
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-plugins-01-configure.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,27 @@
+diff -ur alsa-plugins-1.0.14.orig/configure.in alsa-plugins-1.0.14/configure.in
+--- alsa-plugins-1.0.14.orig/configure.in 2007-05-31 15:06:51.000000000 +0700
++++ alsa-plugins-1.0.14/configure.in 2007-08-12 00:10:12.158016751 +0700
+@@ -31,6 +31,23 @@
+ AC_DEFINE(USE_RESOURCE_MANAGER, 1,"Use dbus server as a resouce manager")
+ fi
+
++AC_CHECK_HEADERS([alloca.h endian.h byteswap.h sys/byteorder.h search.h err.h])
++AC_CHECK_HEADERS([sys/sockio.h features.h sys/ioccom.h linux/soundcard.h])
++
++dnl Check for -lnsl
++AC_CHECK_LIB([nsl], [gethostent], [HAVE_LIBNSL="yes"])
++if test "$HAVE_LIBNSL" = "yes"; then
++ LIBS="$LIBS -lnsl"
++ AC_DEFINE([HAVE_LIBNSL], 1, [Have libnsl])
++fi
++
++dnl Check for -lsocket
++AC_CHECK_LIB([socket], [setsockopt], [HAVE_LIBSOCKET="yes"])
++if test "$HAVE_LIBSOCKET" = "yes"; then
++ LIBS="$LIBS -lsocket"
++ AC_DEFINE([HAVE_LIBSOCKET], 1, [Have libsocket])
++fi
++
+ AC_ARG_WITH([avcodec-includedir],
+ AS_HELP_STRING([--with-avcodec-includedir=dir],
+ [AVcodec include directory]),
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-plugins-02-oss.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,68 @@
+diff -ur alsa-plugins-1.0.14.orig/oss/ctl_oss.c alsa-plugins-1.0.14/oss/ctl_oss.c
+--- alsa-plugins-1.0.14.orig/oss/ctl_oss.c 2007-05-31 15:06:51.000000000 +0700
++++ alsa-plugins-1.0.14/oss/ctl_oss.c 2007-08-12 00:42:43.821350537 +0700
+@@ -26,7 +26,11 @@
+ #include <sys/ioctl.h>
+ #include <alsa/asoundlib.h>
+ #include <alsa/control_external.h>
++#if defined(HAVE_LINUX_SOUNDCARD_H)
+ #include <linux/soundcard.h>
++#else
++#include <sys/soundcard.h>
++#endif
+
+ typedef struct snd_ctl_oss {
+ snd_ctl_ext_t ext;
+@@ -61,11 +65,17 @@
+ [SOUND_MIXER_DIGITAL1] = "IEC958 Playback Volume",
+ [SOUND_MIXER_DIGITAL2] = "Digital Playback Volume",
+ [SOUND_MIXER_DIGITAL3] = "Digital1 Playback Volume",
++#ifdef SOUND_MIXER_PHONEIN
+ [SOUND_MIXER_PHONEIN] = "Phone Playback Volume",
++#endif
++#ifdef SOUND_MIXER_PHONEOUT
+ [SOUND_MIXER_PHONEOUT] = "Master Mono Playback Volume",
++#endif
+ [SOUND_MIXER_VIDEO] = "Video Playback Volume",
+ [SOUND_MIXER_RADIO] = "Radio Playback Volume",
++#ifdef SOUND_MIXER_MONITOR
+ [SOUND_MIXER_MONITOR] = "Monitor Playback Volume",
++#endif
+ };
+
+ static const char *rec_devices[SOUND_MIXER_NRDEVICES] = {
+@@ -81,7 +91,9 @@
+ [SOUND_MIXER_DIGITAL1] = "IEC958 Capture Switch",
+ [SOUND_MIXER_DIGITAL2] = "Digital Capture Switch",
+ [SOUND_MIXER_DIGITAL3] = "Digital1 Capture Switch",
++#ifdef SOUND_MIXER_PHONEIN
+ [SOUND_MIXER_PHONEIN] = "Phone Capture Switch",
++#endif
+ [SOUND_MIXER_VIDEO] = "Video Capture Switch",
+ [SOUND_MIXER_RADIO] = "Radio Capture Switch",
+ };
+@@ -99,7 +111,9 @@
+ [SOUND_MIXER_DIGITAL1] = "IEC958",
+ [SOUND_MIXER_DIGITAL2] = "Digital",
+ [SOUND_MIXER_DIGITAL3] = "Digital1",
++#ifdef SOUND_MIXER_PHONEIN
+ [SOUND_MIXER_PHONEIN] = "Phone",
++#endif
+ [SOUND_MIXER_VIDEO] = "Video",
+ [SOUND_MIXER_RADIO] = "Radio",
+ };
+diff -ur alsa-plugins-1.0.14.orig/oss/pcm_oss.c alsa-plugins-1.0.14/oss/pcm_oss.c
+--- alsa-plugins-1.0.14.orig/oss/pcm_oss.c 2007-05-31 15:06:51.000000000 +0700
++++ alsa-plugins-1.0.14/oss/pcm_oss.c 2007-08-12 00:37:48.119259201 +0700
+@@ -22,7 +22,11 @@
+ #include <sys/ioctl.h>
+ #include <alsa/asoundlib.h>
+ #include <alsa/pcm_external.h>
++#if defined(HAVE_LINUX_SOUNDCARD_H)
+ #include <linux/soundcard.h>
++#else
++#include <sys/soundcard.h>
++#endif
+
+ typedef struct snd_pcm_oss {
+ snd_pcm_ioplug_t io;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-plugins-03-dsp.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,22 @@
+diff -ur alsa-plugins-1.0.14.orig/maemo/dsp-protocol.h alsa-plugins-1.0.14/maemo/dsp-protocol.h
+--- alsa-plugins-1.0.14.orig/maemo/dsp-protocol.h 2007-05-31 15:06:51.000000000 +0700
++++ alsa-plugins-1.0.14/maemo/dsp-protocol.h 2007-08-12 01:04:07.119131897 +0700
+@@ -25,11 +25,18 @@
+ #define _DSP_PROTOCOL_H
+
+ #define __USE_GNU
++#ifdef HAVE_FEATURES_H
+ #include <features.h>
++#endif
+ #include <pthread.h>
++#ifndef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
++#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER
++#endif
+ #include <semaphore.h>
+ #include "types.h"
+
++#include <errno.h>
++
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+ #endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-utils-01-endian.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,36 @@
+diff -ur alsa-utils-1.0.14.orig/aplay/formats.h alsa-utils-1.0.14/aplay/formats.h
+--- alsa-utils-1.0.14.orig/aplay/formats.h 2007-05-31 15:07:21.000000000 +0700
++++ alsa-utils-1.0.14/aplay/formats.h 2007-08-11 23:49:56.165480359 +0700
+@@ -1,8 +1,17 @@
+ #ifndef FORMATS_H
+ #define FORMATS_H 1
+
++#if defined(HAVE_ENDIAN_H)
+ #include <endian.h>
++#else
++#include <alsa/endian-compat.h>
++#endif
++
++#if defined(HAVE_BYTESWAP_H)
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+
+ /* Definitions for .VOC files */
+
+diff -ur alsa-utils-1.0.14.orig/speaker-test/speaker-test.c alsa-utils-1.0.14/speaker-test/speaker-test.c
+--- alsa-utils-1.0.14.orig/speaker-test/speaker-test.c 2007-05-31 15:07:21.000000000 +0700
++++ alsa-utils-1.0.14/speaker-test/speaker-test.c 2007-08-11 23:50:14.606172227 +0700
+@@ -47,7 +47,11 @@
+ #ifdef ENABLE_NLS
+ #include <locale.h>
+ #endif
++#if defined(HAVE_BYTESWAP_H)
+ #include <byteswap.h>
++#else
++#include <alsa/byteswap-compat.h>
++#endif
+
+ #define ALSA_PCM_NEW_HW_PARAMS_API
+ #define ALSA_PCM_NEW_SW_PARAMS_API
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/alsa-utils-02-configure.diff Sat Aug 11 18:36:26 2007 +0000
@@ -0,0 +1,27 @@
+--- alsa-utils-1.0.14/configure.in.orig 2007-08-11 23:45:19.106647289 +0700
++++ alsa-utils-1.0.14/configure.in 2007-08-11 23:45:23.730817885 +0700
+@@ -95,6 +95,24 @@
+ dnl Enable largefile support
+ AC_SYS_LARGEFILE
+
++AC_CHECK_HEADERS([alloca.h endian.h byteswap.h sys/byteorder.h search.h err.h])
++AC_CHECK_HEADERS([sys/sockio.h features.h sys/ioccom.h])
++
++dnl Check for -lnsl
++AC_CHECK_LIB([nsl], [gethostent], [HAVE_LIBNSL="yes"])
++if test "$HAVE_LIBNSL" = "yes"; then
++ LIBS="$LIBS -lnsl"
++ AC_DEFINE([HAVE_LIBNSL], 1, [Have libnsl])
++fi
++
++dnl Check for -lsocket
++AC_CHECK_LIB([socket], [setsockopt], [HAVE_LIBSOCKET="yes"])
++if test "$HAVE_LIBSOCKET" = "yes"; then
++ LIBS="$LIBS -lsocket"
++ AC_DEFINE([HAVE_LIBSOCKET], 1, [Have libsocket])
++fi
++
++
+ SAVE_UTIL_VERSION
+
+ AC_OUTPUT(Makefile alsactl/Makefile alsamixer/Makefile amidi/Makefile amixer/Makefile \