summaryrefslogtreecommitdiff
path: root/recipes/pulseaudio
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/pulseaudio')
-rw-r--r--recipes/pulseaudio/files/asound.conf.pulseaudio7
-rw-r--r--recipes/pulseaudio/files/disable-using-glibc-tls.patch25
-rw-r--r--recipes/pulseaudio/files/fix-dbus-without-hal.patch15
-rw-r--r--recipes/pulseaudio/files/fix-shm.patch20
-rw-r--r--recipes/pulseaudio/files/gcc4-compile-fix.patch18
-rw-r--r--recipes/pulseaudio/files/volatiles.04_pulse2
-rw-r--r--recipes/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch15
-rw-r--r--recipes/pulseaudio/libatomics-ops_1.2.bb17
-rw-r--r--recipes/pulseaudio/libcanberra_0.10.bb27
-rw-r--r--recipes/pulseaudio/padevchooser_0.9.3.bb9
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.10/2113.diff19
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.10/2114.diff15
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.10/libiconv.patch22
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.10/libpulsedsp-references-libpulsecore.patch24
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.10/libtool2.patch48
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.10/pa-drop-caps-returns-void.patch17
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/2113.diff19
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/2114.diff15
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/buildfix.patch13
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/libiconv.patch22
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/libpulsedsp-references-libpulsecore.patch24
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/libtool2.patch48
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.11/pa-drop-caps-returns-void.patch17
-rw-r--r--recipes/pulseaudio/pulseaudio-alsa-wrapper.bb43
-rw-r--r--recipes/pulseaudio/pulseaudio-esd-wrapper.bb42
-rw-r--r--recipes/pulseaudio/pulseaudio-meta/asound.conf8
-rwxr-xr-xrecipes/pulseaudio/pulseaudio-meta/pulseaudio50
-rw-r--r--recipes/pulseaudio/pulseaudio-meta/session36
-rw-r--r--recipes/pulseaudio/pulseaudio-meta_0.9.10.bb66
-rw-r--r--recipes/pulseaudio/pulseaudio.inc101
-rw-r--r--recipes/pulseaudio/pulseaudio_0.9.10.bb27
-rw-r--r--recipes/pulseaudio/pulseaudio_0.9.11.bb31
-rw-r--r--recipes/pulseaudio/pulseaudio_0.9.6.bb4
-rw-r--r--recipes/pulseaudio/pulseaudio_0.9.9.bb16
34 files changed, 882 insertions, 0 deletions
diff --git a/recipes/pulseaudio/files/asound.conf.pulseaudio b/recipes/pulseaudio/files/asound.conf.pulseaudio
new file mode 100644
index 0000000000..71f01f2c3c
--- /dev/null
+++ b/recipes/pulseaudio/files/asound.conf.pulseaudio
@@ -0,0 +1,7 @@
+pcm.pulse {
+ type pulse
+}
+
+ctl.pulse {
+ type pulse
+}
diff --git a/recipes/pulseaudio/files/disable-using-glibc-tls.patch b/recipes/pulseaudio/files/disable-using-glibc-tls.patch
new file mode 100644
index 0000000000..31d147be7d
--- /dev/null
+++ b/recipes/pulseaudio/files/disable-using-glibc-tls.patch
@@ -0,0 +1,25 @@
+Index: pulseaudio-0.9.9/configure.ac
+===================================================================
+--- pulseaudio-0.9.9.orig/configure.ac 2008-01-24 01:06:06.000000000 +0000
++++ pulseaudio-0.9.9/configure.ac 2008-02-05 17:45:59.000000000 +0000
+@@ -139,8 +139,8 @@
+ ret=$?
+ rm -f conftest.o conftest
+ if test $ret -eq 0 ; then
+- AC_DEFINE([HAVE_TLS_BUILTIN], 1, [Have __thread().])
+- AC_MSG_RESULT([yes])
++dnl AC_DEFINE([HAVE_TLS_BUILTIN], 1, [Have __thread().])
++ AC_MSG_RESULT([no])
+ else
+ AC_MSG_RESULT([no])
+ fi
+@@ -325,8 +325,7 @@
+ rm -f conftest.o conftest
+
+ if test $ret -eq 0 ; then
+- AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
+- AC_MSG_RESULT([yes])
++ AC_MSG_RESULT([no])
+ else
+ AC_MSG_RESULT([no])
+ fi
diff --git a/recipes/pulseaudio/files/fix-dbus-without-hal.patch b/recipes/pulseaudio/files/fix-dbus-without-hal.patch
new file mode 100644
index 0000000000..f8ac5674a6
--- /dev/null
+++ b/recipes/pulseaudio/files/fix-dbus-without-hal.patch
@@ -0,0 +1,15 @@
+Index: pulseaudio-0.9.8/src/Makefile.am
+===================================================================
+--- pulseaudio-0.9.8.orig/src/Makefile.am
++++ pulseaudio-0.9.8/src/Makefile.am
+@@ -1424,8 +1424,8 @@
+ # HAL
+ libdbus_util_la_SOURCES = modules/dbus-util.c modules/dbus-util.h
+ libdbus_util_la_LDFLAGS = -avoid-version
+-libdbus_util_la_LIBADD = $(AM_LIBADD) $(HAL_LIBS) libpulsecore.la
+-libdbus_util_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS)
++libdbus_util_la_LIBADD = $(AM_LIBADD) $(HAL_LIBS) $(DBUS_LIBS) libpulsecore.la
++libdbus_util_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS) $(DBUS_CFLAGS)
+
+ module_hal_detect_la_SOURCES = modules/module-hal-detect.c
+ module_hal_detect_la_LDFLAGS = -module -avoid-version
diff --git a/recipes/pulseaudio/files/fix-shm.patch b/recipes/pulseaudio/files/fix-shm.patch
new file mode 100644
index 0000000000..3bf61d0d34
--- /dev/null
+++ b/recipes/pulseaudio/files/fix-shm.patch
@@ -0,0 +1,20 @@
+# fixes building against uclibc
+# fixed upstream, see http://www.pulseaudio.org/ticket/200
+Index: pulseaudio-0.9.9/src/pulsecore/shm.c
+===================================================================
+--- pulseaudio-0.9.9/src/pulsecore/shm.c (revision 1971)
++++ pulseaudio-0.9.9/src/pulsecore/shm.c (revision 2110)
+@@ -319,4 +319,5 @@
+ int pa_shm_cleanup(void) {
+
++#ifdef HAVE_SHM_OPEN
+ #ifdef SHM_PATH
+ DIR *d;
+@@ -376,5 +377,6 @@
+
+ closedir(d);
+-#endif
++#endif /* SHM_PATH */
++#endif /* HAVE_SHM_OPEN */
+
+ return 0;
diff --git a/recipes/pulseaudio/files/gcc4-compile-fix.patch b/recipes/pulseaudio/files/gcc4-compile-fix.patch
new file mode 100644
index 0000000000..34ad026e4d
--- /dev/null
+++ b/recipes/pulseaudio/files/gcc4-compile-fix.patch
@@ -0,0 +1,18 @@
+| fix for more strict syntax compliance in gcc4.x
+| pulsecore/core-util.c: In function 'pa_raise_priority':
+| pulsecore/core-util.c:547: error: label at end of compound statement
+| Signed off: mickey@openmoko.org
+|
+Index: pulseaudio-0.9.6/src/pulsecore/core-util.c
+===================================================================
+--- pulseaudio-0.9.6.orig/src/pulsecore/core-util.c
++++ pulseaudio-0.9.6/src/pulsecore/core-util.c
+@@ -535,7 +535,7 @@ void pa_raise_priority(void) {
+ pa_log_info("Successfully gained high priority class.");
+ #endif
+
+-fail:
++fail:;
+
+ #if defined(HAVE_SYS_CAPABILITY_H)
+ if (caps) {
diff --git a/recipes/pulseaudio/files/volatiles.04_pulse b/recipes/pulseaudio/files/volatiles.04_pulse
new file mode 100644
index 0000000000..5b1998032b
--- /dev/null
+++ b/recipes/pulseaudio/files/volatiles.04_pulse
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d pulse pulse 0755 /var/run/pulse none
diff --git a/recipes/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch b/recipes/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch
new file mode 100644
index 0000000000..51161dbe0f
--- /dev/null
+++ b/recipes/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch
@@ -0,0 +1,15 @@
+http://cvs.fedoraproject.org/viewcvs/devel/libatomic_ops/libatomic_ops-1.2-ppclwzfix.patch
+
+* add fix for bad variable handling on PPC
+
+--- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:29:52.000000000 +0200
++++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:30:48.000000000 +0200
+@@ -72,7 +72,7 @@
+ /* registers. I always got "impossible constraint" when I */
+ /* tried the "y" constraint. */
+ __asm__ __volatile__ (
+- "lwz %0,%1\n"
++ "lwz%U1%X1 %0,%1\n"
+ "cmpw cr7,%0,%0\n"
+ "bne- cr7,1f\n"
+ "1: isync\n"
diff --git a/recipes/pulseaudio/libatomics-ops_1.2.bb b/recipes/pulseaudio/libatomics-ops_1.2.bb
new file mode 100644
index 0000000000..847b4cc660
--- /dev/null
+++ b/recipes/pulseaudio/libatomics-ops_1.2.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "A library for atomic integer operations"
+LICENSE = "MIT"
+
+PR = "r1"
+
+SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-1.2.tar.gz \
+ file://fedora/libatomic_ops-1.2-ppclwzfix.patch;patch=1"
+
+S = "${WORKDIR}/libatomic_ops-${PV}"
+
+ARM_INSTRUCTION_SET = "arm"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/pulseaudio/libcanberra_0.10.bb b/recipes/pulseaudio/libcanberra_0.10.bb
new file mode 100644
index 0000000000..c88ad4e731
--- /dev/null
+++ b/recipes/pulseaudio/libcanberra_0.10.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
+LICENSE = "LGPL"
+DEPENDS = "gtk+ pulseaudio alsa-lib"
+
+inherit gconf autotools
+
+SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz"
+
+EXTRA_OECONF = " --disable-oss "
+# This needs autoconf 2.62, which isn't used by any distro in OE atm
+do_configure() {
+ gnu-configize --force
+ oe_runconf
+}
+
+FILES_${PN} += "${libdir}/gtk-2.0/modules/ ${datadir}/gnome"
+FILES_${PN}-dbg += "${libdir}/gtk-2.0/modules/.debug"
+
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+do_stage() {
+ autotools_stage_all
+}
+
+
+
+
diff --git a/recipes/pulseaudio/padevchooser_0.9.3.bb b/recipes/pulseaudio/padevchooser_0.9.3.bb
new file mode 100644
index 0000000000..535e871242
--- /dev/null
+++ b/recipes/pulseaudio/padevchooser_0.9.3.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "PulseAudio Device Chooser (padevchooser) is a simple GTK tool which registers an icon in the tray area and allows quick access to some features of the PulseAudio sound server"
+LICENSE = "GPLv2"
+DEPENDS = "gtk+ libnotify gconf pulseaudio"
+
+SRC_URI = "http://0pointer.de/lennart/projects/padevchooser/padevchooser-${PV}.tar.gz"
+
+inherit autotools
+
+
diff --git a/recipes/pulseaudio/pulseaudio-0.9.10/2113.diff b/recipes/pulseaudio/pulseaudio-0.9.10/2113.diff
new file mode 100644
index 0000000000..666ed34ad3
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.10/2113.diff
@@ -0,0 +1,19 @@
+from upstream svn r2113
+
+Index: configure.ac
+===================================================================
+--- configure.ac (wersja 2112)
++++ configure.ac (wersja 2113)
+@@ -172,6 +172,12 @@
+ AC_SUBST(LIBLTDL)
+ AC_CONFIG_SUBDIRS(libltdl)
+
++old_LIBS=$LIBS
++LIBS="$LIBS $LIBLTDL"
++AC_CHECK_FUNCS([lt_dlmutex_register])
++LIBS=$old_LIBS
++AC_CHECK_TYPES([lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
++
+ if test "x$enable_ltdl_install" = "xno" && test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then
+ AC_MSG_ERROR([[
+
diff --git a/recipes/pulseaudio/pulseaudio-0.9.10/2114.diff b/recipes/pulseaudio/pulseaudio-0.9.10/2114.diff
new file mode 100644
index 0000000000..cbd82eeb84
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.10/2114.diff
@@ -0,0 +1,15 @@
+from upstream svn r2114
+
+Index: configure.ac
+===================================================================
+--- configure.ac (wersja 2113)
++++ configure.ac (wersja 2114)
+@@ -176,7 +176,7 @@
+ LIBS="$LIBS $LIBLTDL"
+ AC_CHECK_FUNCS([lt_dlmutex_register])
+ LIBS=$old_LIBS
+-AC_CHECK_TYPES([lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
++AC_CHECK_TYPES([struct lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
+
+ if test "x$enable_ltdl_install" = "xno" && test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then
+ AC_MSG_ERROR([[
diff --git a/recipes/pulseaudio/pulseaudio-0.9.10/libiconv.patch b/recipes/pulseaudio/pulseaudio-0.9.10/libiconv.patch
new file mode 100644
index 0000000000..273b446d78
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.10/libiconv.patch
@@ -0,0 +1,22 @@
+Index: pulseaudio-0.9.10/src/Makefile.am
+===================================================================
+--- pulseaudio-0.9.10.orig/src/Makefile.am 2008-07-20 13:16:51.548858829 +0200
++++ pulseaudio-0.9.10/src/Makefile.am 2008-07-20 13:43:39.842031837 +0200
+@@ -551,7 +551,7 @@
+
+ libpulse_la_CFLAGS = $(AM_CFLAGS)
+ libpulse_la_LDFLAGS = -version-info $(LIBPULSE_VERSION_INFO) -Wl,-version-script=$(srcdir)/map-file
+-libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LIBICONV)
++libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV)
+
+ if HAVE_X11
+ libpulse_la_CFLAGS += $(X_CFLAGS)
+@@ -771,7 +771,7 @@
+
+ libpulsecore_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBOIL_CFLAGS)
+ libpulsecore_la_LDFLAGS = -version-info $(LIBPULSECORE_VERSION_INFO)
+-libpulsecore_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LIBOIL_LIBS) $(LIBICONV) libspeex-resampler-fixed.la libspeex-resampler-float.la libffmpeg-resampler.la
++libpulsecore_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LIBOIL_LIBS) $(LTLIBICONV) libspeex-resampler-fixed.la libspeex-resampler-float.la libffmpeg-resampler.la
+
+ ###################################
+ # Plug-in support libraries #
diff --git a/recipes/pulseaudio/pulseaudio-0.9.10/libpulsedsp-references-libpulsecore.patch b/recipes/pulseaudio/pulseaudio-0.9.10/libpulsedsp-references-libpulsecore.patch
new file mode 100644
index 0000000000..4234af5f53
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.10/libpulsedsp-references-libpulsecore.patch
@@ -0,0 +1,24 @@
+upstream: http://pulseaudio.org/ticket/287
+
+Index: pulseaudio-0.9.10/src/Makefile.am
+===================================================================
+--- pulseaudio-0.9.10.orig/src/Makefile.am 2008-03-30 03:43:05.000000000 +0200
++++ pulseaudio-0.9.10/src/Makefile.am 2008-05-03 11:55:46.000000000 +0200
+@@ -605,7 +605,7 @@
+
+ libpulsedsp_la_SOURCES = utils/padsp.c
+ libpulsedsp_la_CFLAGS = $(AM_CFLAGS)
+-libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la
++libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecore.la
+ libpulsedsp_la_LDFLAGS = -avoid-version
+
+ ###################################
+@@ -888,7 +888,7 @@
+
+ libpstream_util_la_SOURCES = pulsecore/pstream-util.c pulsecore/pstream-util.h
+ libpstream_util_la_LDFLAGS = -avoid-version
+-libpstream_util_la_LIBADD = $(AM_LIBADD) libpacket.la libpstream.la libtagstruct.la
++libpstream_util_la_LIBADD = $(AM_LIBADD) libpacket.la libpstream.la libtagstruct.la libpulsecore.la
+
+ libpdispatch_la_SOURCES = pulsecore/pdispatch.c pulsecore/pdispatch.h
+ libpdispatch_la_LDFLAGS = -avoid-version
diff --git a/recipes/pulseaudio/pulseaudio-0.9.10/libtool2.patch b/recipes/pulseaudio/pulseaudio-0.9.10/libtool2.patch
new file mode 100644
index 0000000000..9e9e5f55d3
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.10/libtool2.patch
@@ -0,0 +1,48 @@
+Tell where is libltdl from libtool - was needed to get it built with libtool 2.2.4
+
+---
+ configure.ac | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+--- pulseaudio-0.9.10.orig/configure.ac
++++ pulseaudio-0.9.10/configure.ac
+@@ -242,20 +242,32 @@ if test $ret -eq 0 ; then
+ else
+ AC_MSG_RESULT([no])
+ fi
+
+ #### libtool stuff ####
+-
+-AC_LTDL_ENABLE_INSTALL
+-AC_LIBLTDL_INSTALLABLE
+-AC_LIBTOOL_DLOPEN
+-AC_LIBTOOL_WIN32_DLL
++LT_PREREQ([2.2])
++LT_INIT([dlopen win32-dll])
+ AC_PROG_LIBTOOL
+-AC_SUBST(LTDLINCL)
+-AC_SUBST(LIBLTDL)
++#AC_SUBST(LTDLINCL)
++#AC_SUBST(LIBLTDL)
+ AC_CONFIG_SUBDIRS(libltdl)
+
++AC_ARG_WITH(libltdl-libs,
++ [ --with-libltdl-libs=DIR path to libltdl libs], libltdl_libs_prefix=$withval)
++if test x$libltdl_libs_prefix != x; then
++ LIBLTDL="-L${libltdl_libs_prefix}/libltdl.so -lltdl"
++fi
++AC_SUBST(LIBLTDL)
++
++AC_ARG_WITH(libltdl-includes,
++ [ --with-libltdl-includes=DIR path to libltdl includes], libltdl_prefix=$withval)
++if test x$libltdl_prefix != x; then
++ LTDLINCL="-I${libltdl_prefix} ${libltdl_libs_prefix}/libltdl.so"
++fi
++AC_SUBST(LTDLINCL)
++
++
+ old_LIBS=$LIBS
+ LIBS="$LIBS $LIBLTDL"
+ AC_CHECK_FUNCS([lt_dlmutex_register])
+ LIBS=$old_LIBS
+ AC_CHECK_TYPES([struct lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
diff --git a/recipes/pulseaudio/pulseaudio-0.9.10/pa-drop-caps-returns-void.patch b/recipes/pulseaudio/pulseaudio-0.9.10/pa-drop-caps-returns-void.patch
new file mode 100644
index 0000000000..74ea6ac060
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.10/pa-drop-caps-returns-void.patch
@@ -0,0 +1,17 @@
+upstream: http://pulseaudio.org/changeset/2213
+
+Index: pulseaudio-0.9.10/src/daemon/caps.c
+===================================================================
+--- pulseaudio-0.9.10.orig/src/daemon/caps.c 2008-05-03 12:10:26.000000000 +0200
++++ pulseaudio-0.9.10/src/daemon/caps.c 2008-05-03 12:10:30.000000000 +0200
+@@ -131,9 +131,8 @@
+ return 0;
+ }
+
+-int pa_drop_caps(void) {
++void pa_drop_caps(void) {
+ pa_drop_root();
+- return 0;
+ }
+
+ #endif
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/2113.diff b/recipes/pulseaudio/pulseaudio-0.9.11/2113.diff
new file mode 100644
index 0000000000..666ed34ad3
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/2113.diff
@@ -0,0 +1,19 @@
+from upstream svn r2113
+
+Index: configure.ac
+===================================================================
+--- configure.ac (wersja 2112)
++++ configure.ac (wersja 2113)
+@@ -172,6 +172,12 @@
+ AC_SUBST(LIBLTDL)
+ AC_CONFIG_SUBDIRS(libltdl)
+
++old_LIBS=$LIBS
++LIBS="$LIBS $LIBLTDL"
++AC_CHECK_FUNCS([lt_dlmutex_register])
++LIBS=$old_LIBS
++AC_CHECK_TYPES([lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
++
+ if test "x$enable_ltdl_install" = "xno" && test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then
+ AC_MSG_ERROR([[
+
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/2114.diff b/recipes/pulseaudio/pulseaudio-0.9.11/2114.diff
new file mode 100644
index 0000000000..cbd82eeb84
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/2114.diff
@@ -0,0 +1,15 @@
+from upstream svn r2114
+
+Index: configure.ac
+===================================================================
+--- configure.ac (wersja 2113)
++++ configure.ac (wersja 2114)
+@@ -176,7 +176,7 @@
+ LIBS="$LIBS $LIBLTDL"
+ AC_CHECK_FUNCS([lt_dlmutex_register])
+ LIBS=$old_LIBS
+-AC_CHECK_TYPES([lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
++AC_CHECK_TYPES([struct lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
+
+ if test "x$enable_ltdl_install" = "xno" && test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then
+ AC_MSG_ERROR([[
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/buildfix.patch b/recipes/pulseaudio/pulseaudio-0.9.11/buildfix.patch
new file mode 100644
index 0000000000..ca01e0d80f
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/buildfix.patch
@@ -0,0 +1,13 @@
+Index: pulseaudio-0.9.11/src/pulsecore/atomic.h
+===================================================================
+--- pulseaudio-0.9.11.orig/src/pulsecore/atomic.h
++++ pulseaudio-0.9.11/src/pulsecore/atomic.h
+@@ -40,6 +40,8 @@
+ #error "Please include config.h before including this file!"
+ #endif
+
++#include "macro.h"
++
+ #ifdef HAVE_ATOMIC_BUILTINS
+
+ /* __sync based implementation */
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/libiconv.patch b/recipes/pulseaudio/pulseaudio-0.9.11/libiconv.patch
new file mode 100644
index 0000000000..273b446d78
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/libiconv.patch
@@ -0,0 +1,22 @@
+Index: pulseaudio-0.9.10/src/Makefile.am
+===================================================================
+--- pulseaudio-0.9.10.orig/src/Makefile.am 2008-07-20 13:16:51.548858829 +0200
++++ pulseaudio-0.9.10/src/Makefile.am 2008-07-20 13:43:39.842031837 +0200
+@@ -551,7 +551,7 @@
+
+ libpulse_la_CFLAGS = $(AM_CFLAGS)
+ libpulse_la_LDFLAGS = -version-info $(LIBPULSE_VERSION_INFO) -Wl,-version-script=$(srcdir)/map-file
+-libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LIBICONV)
++libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV)
+
+ if HAVE_X11
+ libpulse_la_CFLAGS += $(X_CFLAGS)
+@@ -771,7 +771,7 @@
+
+ libpulsecore_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBOIL_CFLAGS)
+ libpulsecore_la_LDFLAGS = -version-info $(LIBPULSECORE_VERSION_INFO)
+-libpulsecore_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LIBOIL_LIBS) $(LIBICONV) libspeex-resampler-fixed.la libspeex-resampler-float.la libffmpeg-resampler.la
++libpulsecore_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LIBOIL_LIBS) $(LTLIBICONV) libspeex-resampler-fixed.la libspeex-resampler-float.la libffmpeg-resampler.la
+
+ ###################################
+ # Plug-in support libraries #
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/libpulsedsp-references-libpulsecore.patch b/recipes/pulseaudio/pulseaudio-0.9.11/libpulsedsp-references-libpulsecore.patch
new file mode 100644
index 0000000000..4234af5f53
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/libpulsedsp-references-libpulsecore.patch
@@ -0,0 +1,24 @@
+upstream: http://pulseaudio.org/ticket/287
+
+Index: pulseaudio-0.9.10/src/Makefile.am
+===================================================================
+--- pulseaudio-0.9.10.orig/src/Makefile.am 2008-03-30 03:43:05.000000000 +0200
++++ pulseaudio-0.9.10/src/Makefile.am 2008-05-03 11:55:46.000000000 +0200
+@@ -605,7 +605,7 @@
+
+ libpulsedsp_la_SOURCES = utils/padsp.c
+ libpulsedsp_la_CFLAGS = $(AM_CFLAGS)
+-libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la
++libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecore.la
+ libpulsedsp_la_LDFLAGS = -avoid-version
+
+ ###################################
+@@ -888,7 +888,7 @@
+
+ libpstream_util_la_SOURCES = pulsecore/pstream-util.c pulsecore/pstream-util.h
+ libpstream_util_la_LDFLAGS = -avoid-version
+-libpstream_util_la_LIBADD = $(AM_LIBADD) libpacket.la libpstream.la libtagstruct.la
++libpstream_util_la_LIBADD = $(AM_LIBADD) libpacket.la libpstream.la libtagstruct.la libpulsecore.la
+
+ libpdispatch_la_SOURCES = pulsecore/pdispatch.c pulsecore/pdispatch.h
+ libpdispatch_la_LDFLAGS = -avoid-version
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/libtool2.patch b/recipes/pulseaudio/pulseaudio-0.9.11/libtool2.patch
new file mode 100644
index 0000000000..9e9e5f55d3
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/libtool2.patch
@@ -0,0 +1,48 @@
+Tell where is libltdl from libtool - was needed to get it built with libtool 2.2.4
+
+---
+ configure.ac | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+--- pulseaudio-0.9.10.orig/configure.ac
++++ pulseaudio-0.9.10/configure.ac
+@@ -242,20 +242,32 @@ if test $ret -eq 0 ; then
+ else
+ AC_MSG_RESULT([no])
+ fi
+
+ #### libtool stuff ####
+-
+-AC_LTDL_ENABLE_INSTALL
+-AC_LIBLTDL_INSTALLABLE
+-AC_LIBTOOL_DLOPEN
+-AC_LIBTOOL_WIN32_DLL
++LT_PREREQ([2.2])
++LT_INIT([dlopen win32-dll])
+ AC_PROG_LIBTOOL
+-AC_SUBST(LTDLINCL)
+-AC_SUBST(LIBLTDL)
++#AC_SUBST(LTDLINCL)
++#AC_SUBST(LIBLTDL)
+ AC_CONFIG_SUBDIRS(libltdl)
+
++AC_ARG_WITH(libltdl-libs,
++ [ --with-libltdl-libs=DIR path to libltdl libs], libltdl_libs_prefix=$withval)
++if test x$libltdl_libs_prefix != x; then
++ LIBLTDL="-L${libltdl_libs_prefix}/libltdl.so -lltdl"
++fi
++AC_SUBST(LIBLTDL)
++
++AC_ARG_WITH(libltdl-includes,
++ [ --with-libltdl-includes=DIR path to libltdl includes], libltdl_prefix=$withval)
++if test x$libltdl_prefix != x; then
++ LTDLINCL="-I${libltdl_prefix} ${libltdl_libs_prefix}/libltdl.so"
++fi
++AC_SUBST(LTDLINCL)
++
++
+ old_LIBS=$LIBS
+ LIBS="$LIBS $LIBLTDL"
+ AC_CHECK_FUNCS([lt_dlmutex_register])
+ LIBS=$old_LIBS
+ AC_CHECK_TYPES([struct lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
diff --git a/recipes/pulseaudio/pulseaudio-0.9.11/pa-drop-caps-returns-void.patch b/recipes/pulseaudio/pulseaudio-0.9.11/pa-drop-caps-returns-void.patch
new file mode 100644
index 0000000000..74ea6ac060
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.11/pa-drop-caps-returns-void.patch
@@ -0,0 +1,17 @@
+upstream: http://pulseaudio.org/changeset/2213
+
+Index: pulseaudio-0.9.10/src/daemon/caps.c
+===================================================================
+--- pulseaudio-0.9.10.orig/src/daemon/caps.c 2008-05-03 12:10:26.000000000 +0200
++++ pulseaudio-0.9.10/src/daemon/caps.c 2008-05-03 12:10:30.000000000 +0200
+@@ -131,9 +131,8 @@
+ return 0;
+ }
+
+-int pa_drop_caps(void) {
++void pa_drop_caps(void) {
+ pa_drop_root();
+- return 0;
+ }
+
+ #endif
diff --git a/recipes/pulseaudio/pulseaudio-alsa-wrapper.bb b/recipes/pulseaudio/pulseaudio-alsa-wrapper.bb
new file mode 100644
index 0000000000..e555d50075
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-alsa-wrapper.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "Meta package to make alsa transparently use pulseaudio"
+LICENSE = "GPLv2"
+
+PR = "r1"
+
+SRC_URI = "file://asound.conf.pulseaudio"
+
+RDEPENDS = "hal \
+ pulseaudio-server \
+ pulseaudio-misc \
+ pulseaudio-module-alsa-sink \
+ pulseaudio-module-alsa-source \
+ pulseaudio-module-hal-detect \
+ pulseaudio-module-volume-restore \
+ pulseaudio-module-default-device-restore \
+ pulseaudio-module-rescue-streams \
+ pulseaudio-module-suspend-on-idle \
+ libasound-module-ctl-pulse \
+ libasound-module-pcm-pulse \
+"
+
+do_install() {
+ install -d ${D}/${sysconfdir}
+ install -m 0644 ${WORKDIR}/asound.conf.pulseaudio ${D}/${sysconfdir}
+}
+
+PACKAGE_ARCH = "all"
+
+pkg_postinst_${PN} () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+mkdir -p /etc/pulse || true
+# Remove existing entries
+if [ -e /etc/pulse/session ] ; then
+ sed -i -e /load-module\ module-hal-detect/d /etc/pulse/session
+fi
+# Load hal-detect module to avoid alsa->pulse-alsa-pulse->.. loops
+echo "load-module module-hal-detect" >> /etc/pulse/session
+}
+
diff --git a/recipes/pulseaudio/pulseaudio-esd-wrapper.bb b/recipes/pulseaudio/pulseaudio-esd-wrapper.bb
new file mode 100644
index 0000000000..d1ae362c14
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-esd-wrapper.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Drop-in Esound replacement"
+LICENSE = "GPLv2"
+
+PR = "r1"
+
+RCONFLICTS = "esd"
+RREPLACES = "esd"
+
+RDEPENDS = " \
+ pulseaudio-server \
+ pulseaudio-misc \
+ pulseaudio-lib-protocol-esound \
+ pulseaudio-module-esound-compat-spawnfd \
+ pulseaudio-module-esound-compat-spawnpid \
+ pulseaudio-module-esound-protocol-tcp \
+ pulseaudio-module-esound-protocol-unix \
+"
+
+do_install() {
+ install -d ${D}/${bindir}
+ ln -sf ${bindir}/esdcompat ${D}/${bindir}/esd
+}
+
+
+PACKAGE_ARCH = "all"
+
+pkg_postinst_${PN} () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+mkdir -p /etc/pulse || true
+# Remove existing entries
+if [ -e /etc/pulse/session ] ; then
+ sed -i -e /load-module\ module-esound-protocol-unix/d -e /load-module\ module-esound-protocol-tcp/d /etc/pulse/session
+fi
+# Load esound modules
+echo "load-module module-esound-protocol-tcp" >> /etc/pulse/session
+echo "load-module module-esound-protocol-unix" >> /etc/pulse/session
+}
+
diff --git a/recipes/pulseaudio/pulseaudio-meta/asound.conf b/recipes/pulseaudio/pulseaudio-meta/asound.conf
new file mode 100644
index 0000000000..b435184575
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-meta/asound.conf
@@ -0,0 +1,8 @@
+# set default output to pulseaudio
+pcm.!default {
+ type pulse
+}
+
+ctl.!default {
+ type pulse
+}
diff --git a/recipes/pulseaudio/pulseaudio-meta/pulseaudio b/recipes/pulseaudio/pulseaudio-meta/pulseaudio
new file mode 100755
index 0000000000..e0d33bd2b9
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-meta/pulseaudio
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# pulseaudio This shell script starts and stops pulseaudio.
+#
+# chkconfig: 345 90 40
+# description: Pulseaudio manages the sound input/output
+# processname: pulseaudio
+
+# Source function library.
+#. /etc/rc.d/init.d/functions
+
+RETVAL=0
+prog="pulseaudio"
+
+start() {
+ echo -n "Starting audio server: "
+ # FIXME once alsa/shm permissions have been fixed, supply --system
+ start-stop-daemon -S -x /usr/bin/pulseaudio -- --no-cpu-limit --resample-method=sinc-fastest -D -nF /etc/pulse/session
+
+ if [ $? = 0 ]; then
+ echo "$prog (warning ignores)." # FIXME remove comment on warning
+ else
+ echo "(failed.)"
+ fi
+}
+
+stop() {
+ echo -n "Stopping audio server: "
+ start-stop-daemon -K -x /usr/bin/pulseaudio
+ echo "pulseaudio."
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ stop
+ start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $RETVAL
diff --git a/recipes/pulseaudio/pulseaudio-meta/session b/recipes/pulseaudio/pulseaudio-meta/session
new file mode 100644
index 0000000000..55f2c16f26
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-meta/session
@@ -0,0 +1,36 @@
+#!/usr/bin/pulseaudio -nF
+
+#
+# Barebones PA Session File for Devices w/ ALSA
+# (C) Michael 'Mickey' Lauer <mlauer@vanille-media.de>
+#
+
+# Create autoload entries for the device drivers
+add-autoload-sink output module-alsa-sink device=hw:0 sink_name=output
+add-autoload-source input module-alsa-source device=hw:0 source_name=input
+
+# Core protocols
+load-module module-esound-protocol-unix
+load-module module-simple-protocol-tcp
+load-module module-native-protocol-unix
+load-module module-cli-protocol-unix
+
+# Suspend on idle
+load-module module-suspend-on-idle
+
+# Set default sink and source
+set-default-sink output
+set-default-source input
+
+# Don't fail if the audio files referred to below don't exist
+.nofail
+
+# Load an audio to the sample cache for usage with module-x11-bell
+#load-sample-lazy x11-bell /usr/share/openmoko/sounds/notify_doorbell.wav
+#load-module module-x11-bell sample=x11-bell
+
+# Load samples
+#load-sample startup /usr/share/openmoko/sounds/startup_unintrusive.wav
+#load-sample touchscreen /usr/share/openmoko/sounds/touchscreen_click.wav
+#load-sample ringtone /usr/share/openmoko/sounds/ringtone_classy.wav
+
diff --git a/recipes/pulseaudio/pulseaudio-meta_0.9.10.bb b/recipes/pulseaudio/pulseaudio-meta_0.9.10.bb
new file mode 100644
index 0000000000..7f5f72dad5
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-meta_0.9.10.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "Pulseaudio Meta package w/ initscript et. al."
+SECTION = "audio"
+RDEPENDS = "\
+ pulseaudio-server \
+ pulseaudio-module-alsa-sink \
+ pulseaudio-module-alsa-source \
+ pulseaudio-module-cli \
+ pulseaudio-module-default-device-restore \
+ pulseaudio-module-detect\
+ pulseaudio-module-esound-protocol-unix \
+ pulseaudio-module-simple-protocol-tcp \
+ pulseaudio-module-native-protocol-unix \
+ pulseaudio-module-cli-protocol-unix \
+ pulseaudio-module-rescue-streams\
+ pulseaudio-module-suspend-on-idle \
+ pulseaudio-module-volume-restore \
+ gst-plugin-pulse \
+ libasound-module-ctl-pulse \
+ libasound-module-pcm-pulse \
+"
+PR = "r3"
+
+inherit update-rc.d
+
+export TARGET_PFPU = "${TARGET_FPU}"
+INITSCRIPT_NAME = "pulseaudio"
+INITSCRIPT_PARAMS = "defaults 35"
+
+SRC_URI = "\
+ file://pulseaudio \
+ file://session \
+ file://asound.conf \
+"
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/pulseaudio ${D}/${sysconfdir}/init.d/
+ install -d ${D}/${sysconfdir}/pulse
+ install -m 0755 ${WORKDIR}/session ${D}/${sysconfdir}/pulse/session.pulseaudio-meta
+ install -m 0644 ${WORKDIR}/asound.conf ${D}/${sysconfdir}/asound.conf.pulseaudio-meta
+
+ if [ "x${TARGET_PFPU}" == "xsoft" ] ; then
+ sed -i -e s:resample-method=sinc-fastest:resample-method=trivial: ${D}${sysconfdir}/init.d/pulseaudio
+ fi
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+pkg_postinst_${PN} () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+# Overwrite existing configfiles, yuck!
+cp /etc/pulse/session.pulseaudio-meta /etc/pulse/session
+cp /etc/asound.conf.pulseaudio-meta /etc/asound.conf
+}
+
+
+CONFFILES_${PN} = "\
+ ${sysconfdir}/init.d/pulseaudio \
+ ${sysconfdir}/pulse/session.pulseaudio-meta \
+ ${sysconfdir}/asound.conf.pulseaudio-meta \
+"
diff --git a/recipes/pulseaudio/pulseaudio.inc b/recipes/pulseaudio/pulseaudio.inc
new file mode 100644
index 0000000000..4b13980cc4
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio.inc
@@ -0,0 +1,101 @@
+DESCRIPTION = "Pulseaudio is a sound server for Linux and Unix-like operating systems."
+HOMEPAGE = "http://www.pulseaudio.org"
+AUTHOR = "Lennart Poettering"
+SECTION = "libs/multimedia"
+LICENSE = "LGPL"
+DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool hal"
+# optional
+DEPENDS += "alsa-lib glib-2.0"
+
+SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz \
+ file://gcc4-compile-fix.patch;patch=1 \
+ file://volatiles.04_pulse"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --disable-lynx \
+ --without-x \
+ --without-jack \
+ --with-glib \
+ --with-alsa \
+ --with-oss \
+ --with-hal \
+"
+
+PARALLEL_MAKE = ""
+
+export TARGET_PFPU = "${TARGET_FPU}"
+
+# TODO: Use more fine granular version
+#OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:"
+OE_LT_RPATH_ALLOW = "any"
+OE_LT_RPATH_ALLOW[export]="1"
+
+do_stage() {
+ autotools_stage_all
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse
+
+ if [ "x${TARGET_PFPU}" == "xsoft" ] ; then
+ sed -i -e s:\;\ resample-method\ =\ sinc-fastest:resample-method\ =\ trivial: ${D}${sysconfdir}/pulse/daemon.conf
+ fi
+}
+
+PACKAGES =+ "libpulsecore libpulse libpulse-simple libpulse-browse libpulse-mainloop-glib \
+ pulseaudio-server pulseaudio-misc pulseaudio-gconf-helper"
+
+#upgrade path:
+RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf"
+
+PACKAGES_DYNAMIC = "pulseaudio-lib* pulseaudio-module* libpulse-lib* libpulse-module* "
+
+FILES_libpulsecore = "${libdir}/libpulsecore.so.*"
+FILES_libpulse = "${libdir}/libpulse.so.*"
+FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*"
+FILES_libpulse-browse = "${libdir}/libpulse-browse.so.*"
+FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
+
+FILES_${PN}-dbg += "${libexecdir}/pulse/.debug \
+ ${libdir}/pulse-0.9/modules/.debug"
+FILES_${PN}-dev += "${libdir}/pulse-0.9/modules/*.la"
+FILES_${PN}-conf = "${sysconfdir}"
+FILES_${PN}-bin = "${bindir}/* \
+ ${sysconfdir}/default/volatiles/volatiles.04_pulse"
+FILES_${PN}-server = "${bindir}/pulseaudio ${sysconfdir}"
+FILES_${PN}-gconf-helper = "${libexecdir}/pulse/gconf-helper"
+FILES_${PN}-misc = "${bindir}/*"
+
+CONFFILES_pulseaudio-server = "\
+ ${sysconfdir}/pulse/default.pa \
+ ${sysconfdir}/pulse/daemon.conf \
+ ${sysconfdir}/pulse/client.conf \
+ "
+
+pkg_postinst_${PN}-server() {
+ # can't do this offline
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ grep -q pulse: /etc/group || addgroup pulse
+ grep -q pulse: /etc/passwd || \
+ adduser --disabled-password --home=/var/run/pulse --system \
+ --ingroup pulse --no-create-home -g "Pulse audio daemon" pulse
+ addgroup pulse audio
+ /etc/init.d/populate-volatile.sh update
+}
+
+pkg_postrm_${PN}-server() {
+ deluser pulse || true
+}
+
+python populate_packages_prepend() {
+ #bb.data.setVar('PKG_pulseaudio', 'pulseaudio', d)
+
+ plugindir = bb.data.expand('${libdir}/pulse-0.9/modules/', d)
+ do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='' )
+ do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='' )
+}
diff --git a/recipes/pulseaudio/pulseaudio_0.9.10.bb b/recipes/pulseaudio/pulseaudio_0.9.10.bb
new file mode 100644
index 0000000000..8da4a1c7da
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio_0.9.10.bb
@@ -0,0 +1,27 @@
+require pulseaudio.inc
+
+DEPENDS += "dbus"
+PR = "r4"
+
+SRC_URI += "\
+ file://disable-using-glibc-tls.patch;patch=1 \
+ file://libpulsedsp-references-libpulsecore.patch;patch=1 \
+ file://pa-drop-caps-returns-void.patch;patch=1 \
+# file://libtool2.patch;patch=1 \
+ file://2113.diff;patch=1;pnum=0 \
+ file://2114.diff;patch=1;pnum=0 \
+ file://libiconv.patch;patch=1 \
+"
+
+do_compile_prepend() {
+ cd ${S}
+ mkdir -p ${S}/libltdl
+ cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
+}
+
+
+# problems w/ pulseaudio 0.9.10 atm:
+# 1.) needs libltdl >= 1.5.24 (yes, any older version will NOT work at runtime)
+# 2.) doesn't build w/ glibc TLS support (hence patched out)
+# 3.) fails with hierarchical pthread stuff w/ gst-pulse (hence patched out)
+
diff --git a/recipes/pulseaudio/pulseaudio_0.9.11.bb b/recipes/pulseaudio/pulseaudio_0.9.11.bb
new file mode 100644
index 0000000000..930b991751
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio_0.9.11.bb
@@ -0,0 +1,31 @@
+require pulseaudio.inc
+
+DEPENDS += "dbus gdbm speex"
+PR = "r0"
+
+# work in progress
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += "\
+ file://disable-using-glibc-tls.patch;patch=1 \
+ file://buildfix.patch;patch=1 \
+# file://libpulsedsp-references-libpulsecore.patch;patch=1 \
+# file://pa-drop-caps-returns-void.patch;patch=1 \
+# file://libtool2.patch;patch=1 \
+ file://2113.diff;patch=1;pnum=0 \
+ file://2114.diff;patch=1;pnum=0 \
+# file://libiconv.patch;patch=1 \
+"
+
+do_compile_prepend() {
+ cd ${S}
+ mkdir -p ${S}/libltdl
+ cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
+}
+
+
+# problems w/ pulseaudio 0.9.10 atm:
+# 1.) needs libltdl >= 1.5.24 (yes, any older version will NOT work at runtime)
+# 2.) doesn't build w/ glibc TLS support (hence patched out)
+# 3.) fails with hierarchical pthread stuff w/ gst-pulse (hence patched out)
+
diff --git a/recipes/pulseaudio/pulseaudio_0.9.6.bb b/recipes/pulseaudio/pulseaudio_0.9.6.bb
new file mode 100644
index 0000000000..8944b664c0
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio_0.9.6.bb
@@ -0,0 +1,4 @@
+require pulseaudio.inc
+
+PR = "r8"
+
diff --git a/recipes/pulseaudio/pulseaudio_0.9.9.bb b/recipes/pulseaudio/pulseaudio_0.9.9.bb
new file mode 100644
index 0000000000..764f891654
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio_0.9.9.bb
@@ -0,0 +1,16 @@
+require pulseaudio.inc
+
+DEPENDS += "dbus"
+PR = "r5"
+
+# this is not correct (see below)
+SRC_URI += "\
+ file://disable-using-glibc-tls.patch;patch=1 \
+ file://fix-dbus-without-hal.patch;patch=1 \
+ file://fix-shm.patch;patch=1 \
+"
+
+# problems w/ pulseaudio 0.9.9 atm:
+# 1.) needs libltdl >= 1.5.24 (yes, any older version will NOT work at runtime)
+# 2.) doesn't build w/ glibc TLS support (hence patched out)
+# 3.) fails with hierarchical pthread stuff w/ gst-pulse (hence patched out)