diff options
author | Dongxiao Xu <dongxiao.xu@intel.com> | 2010-12-07 17:03:40 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-09 12:37:10 +0000 |
commit | 033e4303d35140eb18c9973d3f63e1c8f50d7cd7 (patch) | |
tree | c3d52d4e03171992594e3959c93834bfe8fb0518 /meta/recipes-multimedia | |
parent | 2c05c868a08516b1fa4156b9d668d8ad1bcd8eae (diff) | |
download | openembedded-core-033e4303d35140eb18c9973d3f63e1c8f50d7cd7.tar.gz openembedded-core-033e4303d35140eb18c9973d3f63e1c8f50d7cd7.tar.bz2 openembedded-core-033e4303d35140eb18c9973d3f63e1c8f50d7cd7.zip |
pulseaudio: upgrade to version 0.9.21
There is a bug in pulseaudio uptream which uses new instructions on old
arm platform. So we keep arm version of pulseaudio unchanged.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Diffstat (limited to 'meta/recipes-multimedia')
8 files changed, 202 insertions, 0 deletions
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 0000000000..f07ee672ee --- /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 0000000000..80d0003d12 --- /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 0000000000..ea8d769abc --- /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 0000000000..fd5abd5225 --- /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 0000000000..2969cbaa5a --- /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 0000000000..a8292b2e1c --- /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 0000000000..5b1998032b --- /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 0000000000..d2c21c47b7 --- /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" |