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 | |
parent | 2c05c868a08516b1fa4156b9d668d8ad1bcd8eae (diff) | |
download | poky-033e4303d35140eb18c9973d3f63e1c8f50d7cd7.tar.gz |
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>
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 c437a1c784..db348cac04 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" | |||
8 | PREFERRED_VERSION_udev ?= "158" | 8 | PREFERRED_VERSION_udev ?= "158" |
9 | PREFERRED_VERSION_wpa-supplicant ?= "0.7.3" | 9 | PREFERRED_VERSION_wpa-supplicant ?= "0.7.3" |
10 | 10 | ||
11 | PULSEAUDIOVERSION ?= "0.9.21" | ||
12 | PULSEAUDIOVERSION_arm ?= "0.9.15" | ||
13 | PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}" | ||
14 | |||
11 | # Force the python versions in one place | 15 | # Force the python versions in one place |
12 | PYTHON_BASEVERSION ?= "2.6" | 16 | PYTHON_BASEVERSION ?= "2.6" |
13 | PREFERRED_VERSION_python ?= "2.6.6" | 17 | 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 0000000000..f07ee672ee --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
2 | |||
3 | Index: pulseaudio-0.9.21/src/pulsecore/svolume_arm.c | ||
4 | =================================================================== | ||
5 | --- pulseaudio-0.9.21.orig/src/pulsecore/svolume_arm.c | ||
6 | +++ pulseaudio-0.9.21/src/pulsecore/svolume_arm.c | ||
7 | @@ -37,6 +37,14 @@ | ||
8 | |||
9 | #if defined (__arm__) | ||
10 | |||
11 | +/* | ||
12 | + the code below uses armv6 instructions; we can safely ifdef this away as the code is only | ||
13 | + called if the arm architecture is v6 or higher | ||
14 | +*/ | ||
15 | +#if (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \ | ||
16 | + && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \ | ||
17 | + && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__)) | ||
18 | + | ||
19 | #define MOD_INC() \ | ||
20 | " subs r0, r6, %2 \n\t" \ | ||
21 | " addcs r0, %1 \n\t" \ | ||
22 | @@ -179,11 +187,15 @@ static void run_test (void) { | ||
23 | } | ||
24 | #endif | ||
25 | |||
26 | +#endif /* (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) ... */ | ||
27 | #endif /* defined (__arm__) */ | ||
28 | |||
29 | |||
30 | void pa_volume_func_init_arm (pa_cpu_arm_flag_t flags) { | ||
31 | #if defined (__arm__) | ||
32 | +#if (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \ | ||
33 | + && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \ | ||
34 | + && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__)) | ||
35 | pa_log_info("Initialising ARM optimized functions."); | ||
36 | |||
37 | #ifdef RUN_TEST | ||
38 | @@ -191,5 +203,6 @@ void pa_volume_func_init_arm (pa_cpu_arm | ||
39 | #endif | ||
40 | |||
41 | pa_set_volume_func (PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_arm); | ||
42 | +#endif /* (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) ... */ | ||
43 | #endif /* defined (__arm__) */ | ||
44 | } | ||
45 | Index: pulseaudio-0.9.21/src/modules/bluetooth/sbc_math.h | ||
46 | =================================================================== | ||
47 | --- pulseaudio-0.9.21.orig/src/modules/bluetooth/sbc_math.h | ||
48 | +++ pulseaudio-0.9.21/src/modules/bluetooth/sbc_math.h | ||
49 | @@ -47,7 +47,9 @@ typedef int32_t sbc_fixed_t; | ||
50 | |||
51 | #define SBC_FIXED_0(val) { val = 0; } | ||
52 | #define MUL(a, b) ((a) * (b)) | ||
53 | -#ifdef __arm__ | ||
54 | +#if (defined(__arm__) && !defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \ | ||
55 | + && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \ | ||
56 | + && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__)) | ||
57 | #define MULA(a, b, res) ({ \ | ||
58 | int tmp = res; \ | ||
59 | __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 @@ | |||
1 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
2 | |||
3 | Index: pulseaudio-0.9.15/configure.ac | ||
4 | =================================================================== | ||
5 | --- pulseaudio-0.9.15.orig/configure.ac 2009-04-14 00:09:53.000000000 +0100 | ||
6 | +++ pulseaudio-0.9.15/configure.ac 2009-05-22 11:32:50.000000000 +0100 | ||
7 | @@ -20,7 +20,7 @@ | ||
8 | # along with PulseAudio; if not, write to the Free Software Foundation, | ||
9 | # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | ||
10 | |||
11 | -AC_PREREQ(2.63) | ||
12 | +AC_PREREQ(2.61) | ||
13 | |||
14 | m4_define(pa_major, [0]) | ||
15 | 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 @@ | |||
1 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
2 | |||
3 | Index: pulseaudio-0.9.11/src/pulsecore/atomic.h | ||
4 | =================================================================== | ||
5 | --- pulseaudio-0.9.11.orig/src/pulsecore/atomic.h | ||
6 | +++ pulseaudio-0.9.11/src/pulsecore/atomic.h | ||
7 | @@ -40,6 +40,8 @@ | ||
8 | #error "Please include config.h before including this file!" | ||
9 | #endif | ||
10 | |||
11 | +#include "macro.h" | ||
12 | + | ||
13 | #ifdef HAVE_ATOMIC_BUILTINS | ||
14 | |||
15 | /* __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 @@ | |||
1 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
2 | |||
3 | Index: pulseaudio-0.9.19/configure.ac | ||
4 | =================================================================== | ||
5 | --- pulseaudio-0.9.19.orig/configure.ac 2009-10-31 11:40:00.000000000 +0000 | ||
6 | +++ pulseaudio-0.9.19/configure.ac 2009-10-31 11:50:35.000000000 +0000 | ||
7 | @@ -27,12 +27,13 @@ | ||
8 | AC_CONFIG_SRCDIR([src/daemon/main.c]) | ||
9 | AC_CONFIG_MACRO_DIR([m4]) | ||
10 | AC_CONFIG_HEADERS([config.h]) | ||
11 | -AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax]) | ||
12 | +AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Wno-portability tar-pax]) | ||
13 | |||
14 | m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`) | ||
15 | m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`) | ||
16 | m4_define(pa_micro, `echo $VERSION | cut -d. -f3 | cut -d- -f1`) | ||
17 | |||
18 | + | ||
19 | AC_SUBST(PA_MAJOR, pa_major) | ||
20 | AC_SUBST(PA_MINOR, pa_minor) | ||
21 | AC_SUBST(PA_MICRO, pa_micro) | ||
22 | @@ -80,7 +81,8 @@ | ||
23 | ;; | ||
24 | esac | ||
25 | |||
26 | -AM_SILENT_RULES([yes]) | ||
27 | +# only use if available | ||
28 | +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
29 | |||
30 | #### Checks for programs. #### | ||
31 | |||
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 @@ | |||
1 | | fix for more strict syntax compliance in gcc4.x | ||
2 | | pulsecore/core-util.c: In function 'pa_raise_priority': | ||
3 | | pulsecore/core-util.c:547: error: label at end of compound statement | ||
4 | | Signed off: mickey@openmoko.org | ||
5 | | | ||
6 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
7 | |||
8 | Index: pulseaudio-0.9.6/src/pulsecore/core-util.c | ||
9 | =================================================================== | ||
10 | --- pulseaudio-0.9.6.orig/src/pulsecore/core-util.c | ||
11 | +++ pulseaudio-0.9.6/src/pulsecore/core-util.c | ||
12 | @@ -535,7 +535,7 @@ void pa_raise_priority(void) { | ||
13 | pa_log_info("Successfully gained high priority class."); | ||
14 | #endif | ||
15 | |||
16 | -fail: | ||
17 | +fail:; | ||
18 | |||
19 | #if defined(HAVE_SYS_CAPABILITY_H) | ||
20 | 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 @@ | |||
1 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
2 | |||
3 | Index: pulseaudio-0.9.15/m4/tls.m4 | ||
4 | =================================================================== | ||
5 | --- pulseaudio-0.9.15.orig/m4/tls.m4 2008-08-19 23:25:02.000000000 +0200 | ||
6 | +++ pulseaudio-0.9.15/m4/tls.m4 2009-07-10 09:55:25.266365511 +0200 | ||
7 | @@ -1,12 +1,19 @@ | ||
8 | AC_DEFUN([CC_CHECK_TLS], [ | ||
9 | AC_CACHE_CHECK([whether $CC knows __thread for Thread-Local Storage], | ||
10 | cc_cv_tls___thread, | ||
11 | - [AC_COMPILE_IFELSE( | ||
12 | - AC_LANG_PROGRAM( | ||
13 | - [[static __thread int a = 6;]], | ||
14 | - [[a = 5;]]), | ||
15 | - [cc_cv_tls___thread=yes], | ||
16 | - [cc_cv_tls___thread=no]) | ||
17 | + [AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }], | ||
18 | + [chktls_save_LDFLAGS="$LDFLAGS" | ||
19 | + LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" | ||
20 | + chktls_save_CFLAGS="$CFLAGS" | ||
21 | + CFLAGS="-fPIC $CFLAGS" | ||
22 | + dnl If -shared works, test if TLS works in a shared library. | ||
23 | + AC_LINK_IFELSE([int f() { return 0; }], | ||
24 | + AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }], | ||
25 | + [cc_cv_tls___thread=yes], | ||
26 | + [cc_cv_tls___thread=no]), | ||
27 | + [cc_cv_tls___thread=yes]) | ||
28 | + CFLAGS="$chktls_save_CFLAGS" | ||
29 | + LDFLAGS="$chktls_save_LDFLAGS"], [cc_cv_tls___thread=no]) | ||
30 | ]) | ||
31 | |||
32 | 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 @@ | |||
1 | # <type> <owner> <group> <mode> <path> <linksource> | ||
2 | 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 @@ | |||
1 | require pulseaudio.inc | ||
2 | |||
3 | PR = "r0" | ||
4 | |||
5 | DEPENDS += "gdbm speex" | ||
6 | |||
7 | DEFAULT_PREFERENCE_om-gta01 = "-1" | ||
8 | DEFAULT_PREFERENCE_om-gta02 = "-1" | ||
9 | DEFAULT_PREFERENCE_motorola-ezx = "-1" | ||
10 | |||
11 | inherit gettext | ||
12 | |||
13 | SRC_URI += "\ | ||
14 | file://buildfix.patch \ | ||
15 | file://autoconf_version.patch \ | ||
16 | file://tls_m4.patch \ | ||
17 | file://configure_silent_rules.patch \ | ||
18 | file://armv4+v5asm.patch \ | ||
19 | " | ||
20 | |||
21 | do_compile_prepend() { | ||
22 | cd ${S} | ||
23 | mkdir -p ${S}/libltdl | ||
24 | cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl | ||
25 | } | ||
26 | |||
27 | SRC_URI[md5sum] = "76e623c4c72e2258bc8bdeb1599bad74" | ||
28 | SRC_URI[sha256sum] = "94e22356ac70ee95388ae58da90d88c6b3186d1938618d21671627ff56cee254" | ||