diff options
9 files changed, 206 insertions, 0 deletions
diff --git a/meta/conf/distro/include/poky-fixed-revisions.inc b/meta/conf/distro/include/poky-fixed-revisions.inc index c437a1c78..db348cac0 100644 --- a/meta/conf/distro/include/poky-fixed-revisions.inc +++ b/meta/conf/distro/include/poky-fixed-revisions.inc @@ -8,6 +8,10 @@ PREFERRED_VERSION_hal-info ?= "20091130" PREFERRED_VERSION_udev ?= "158" PREFERRED_VERSION_wpa-supplicant ?= "0.7.3" +PULSEAUDIOVERSION ?= "0.9.21" +PULSEAUDIOVERSION_arm ?= "0.9.15" +PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}" + # Force the python versions in one place PYTHON_BASEVERSION ?= "2.6" PREFERRED_VERSION_python ?= "2.6.6" diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch new file mode 100644 index 000000000..f07ee672e --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch @@ -0,0 +1,59 @@ +Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> + +Index: pulseaudio-0.9.21/src/pulsecore/svolume_arm.c +=================================================================== +--- pulseaudio-0.9.21.orig/src/pulsecore/svolume_arm.c ++++ pulseaudio-0.9.21/src/pulsecore/svolume_arm.c +@@ -37,6 +37,14 @@ + + #if defined (__arm__) + ++/* ++ the code below uses armv6 instructions; we can safely ifdef this away as the code is only ++ called if the arm architecture is v6 or higher ++*/ ++#if (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \ ++ && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \ ++ && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__)) ++ + #define MOD_INC() \ + " subs r0, r6, %2 \n\t" \ + " addcs r0, %1 \n\t" \ +@@ -179,11 +187,15 @@ static void run_test (void) { + } + #endif + ++#endif /* (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) ... */ + #endif /* defined (__arm__) */ + + + void pa_volume_func_init_arm (pa_cpu_arm_flag_t flags) { + #if defined (__arm__) ++#if (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \ ++ && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \ ++ && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__)) + pa_log_info("Initialising ARM optimized functions."); + + #ifdef RUN_TEST +@@ -191,5 +203,6 @@ void pa_volume_func_init_arm (pa_cpu_arm + #endif + + pa_set_volume_func (PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_arm); ++#endif /* (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) ... */ + #endif /* defined (__arm__) */ + } +Index: pulseaudio-0.9.21/src/modules/bluetooth/sbc_math.h +=================================================================== +--- pulseaudio-0.9.21.orig/src/modules/bluetooth/sbc_math.h ++++ pulseaudio-0.9.21/src/modules/bluetooth/sbc_math.h +@@ -47,7 +47,9 @@ typedef int32_t sbc_fixed_t; + + #define SBC_FIXED_0(val) { val = 0; } + #define MUL(a, b) ((a) * (b)) +-#ifdef __arm__ ++#if (defined(__arm__) && !defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \ ++ && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \ ++ && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__)) + #define MULA(a, b, res) ({ \ + int tmp = res; \ + __asm__( \ diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch new file mode 100644 index 000000000..80d0003d1 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch @@ -0,0 +1,15 @@ +Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> + +Index: pulseaudio-0.9.15/configure.ac +=================================================================== +--- pulseaudio-0.9.15.orig/configure.ac 2009-04-14 00:09:53.000000000 +0100 ++++ pulseaudio-0.9.15/configure.ac 2009-05-22 11:32:50.000000000 +0100 +@@ -20,7 +20,7 @@ + # along with PulseAudio; if not, write to the Free Software Foundation, + # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +-AC_PREREQ(2.63) ++AC_PREREQ(2.61) + + m4_define(pa_major, [0]) + m4_define(pa_minor, [9]) diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch new file mode 100644 index 000000000..ea8d769ab --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch @@ -0,0 +1,15 @@ +Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> + +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/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch new file mode 100644 index 000000000..fd5abd522 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch @@ -0,0 +1,31 @@ +Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> + +Index: pulseaudio-0.9.19/configure.ac +=================================================================== +--- pulseaudio-0.9.19.orig/configure.ac 2009-10-31 11:40:00.000000000 +0000 ++++ pulseaudio-0.9.19/configure.ac 2009-10-31 11:50:35.000000000 +0000 +@@ -27,12 +27,13 @@ + AC_CONFIG_SRCDIR([src/daemon/main.c]) + AC_CONFIG_MACRO_DIR([m4]) + AC_CONFIG_HEADERS([config.h]) +-AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax]) ++AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Wno-portability tar-pax]) + + m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`) + m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`) + m4_define(pa_micro, `echo $VERSION | cut -d. -f3 | cut -d- -f1`) + ++ + AC_SUBST(PA_MAJOR, pa_major) + AC_SUBST(PA_MINOR, pa_minor) + AC_SUBST(PA_MICRO, pa_micro) +@@ -80,7 +81,8 @@ + ;; + esac + +-AM_SILENT_RULES([yes]) ++# only use if available ++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + + #### Checks for programs. #### + diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch new file mode 100644 index 000000000..2969cbaa5 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch @@ -0,0 +1,20 @@ +| 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 +| +Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> + +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/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch new file mode 100644 index 000000000..a8292b2e1 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch @@ -0,0 +1,32 @@ +Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> + +Index: pulseaudio-0.9.15/m4/tls.m4 +=================================================================== +--- pulseaudio-0.9.15.orig/m4/tls.m4 2008-08-19 23:25:02.000000000 +0200 ++++ pulseaudio-0.9.15/m4/tls.m4 2009-07-10 09:55:25.266365511 +0200 +@@ -1,12 +1,19 @@ + AC_DEFUN([CC_CHECK_TLS], [ + AC_CACHE_CHECK([whether $CC knows __thread for Thread-Local Storage], + cc_cv_tls___thread, +- [AC_COMPILE_IFELSE( +- AC_LANG_PROGRAM( +- [[static __thread int a = 6;]], +- [[a = 5;]]), +- [cc_cv_tls___thread=yes], +- [cc_cv_tls___thread=no]) ++ [AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }], ++ [chktls_save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ++ chktls_save_CFLAGS="$CFLAGS" ++ CFLAGS="-fPIC $CFLAGS" ++ dnl If -shared works, test if TLS works in a shared library. ++ AC_LINK_IFELSE([int f() { return 0; }], ++ AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }], ++ [cc_cv_tls___thread=yes], ++ [cc_cv_tls___thread=no]), ++ [cc_cv_tls___thread=yes]) ++ CFLAGS="$chktls_save_CFLAGS" ++ LDFLAGS="$chktls_save_LDFLAGS"], [cc_cv_tls___thread=no]) + ]) + + AS_IF([test "x$cc_cv_tls___thread" = "xyes"], diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse new file mode 100644 index 000000000..5b1998032 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse @@ -0,0 +1,2 @@ +# <type> <owner> <group> <mode> <path> <linksource> +d pulse pulse 0755 /var/run/pulse none diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb new file mode 100644 index 000000000..d2c21c47b --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb @@ -0,0 +1,28 @@ +require pulseaudio.inc + +PR = "r0" + +DEPENDS += "gdbm speex" + +DEFAULT_PREFERENCE_om-gta01 = "-1" +DEFAULT_PREFERENCE_om-gta02 = "-1" +DEFAULT_PREFERENCE_motorola-ezx = "-1" + +inherit gettext + +SRC_URI += "\ + file://buildfix.patch \ + file://autoconf_version.patch \ + file://tls_m4.patch \ + file://configure_silent_rules.patch \ + file://armv4+v5asm.patch \ +" + +do_compile_prepend() { + cd ${S} + mkdir -p ${S}/libltdl + cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl +} + +SRC_URI[md5sum] = "76e623c4c72e2258bc8bdeb1599bad74" +SRC_URI[sha256sum] = "94e22356ac70ee95388ae58da90d88c6b3186d1938618d21671627ff56cee254" |