summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2010-12-07 17:03:40 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-12-09 12:37:10 +0000
commit033e4303d35140eb18c9973d3f63e1c8f50d7cd7 (patch)
treec3d52d4e03171992594e3959c93834bfe8fb0518 /meta
parent2c05c868a08516b1fa4156b9d668d8ad1bcd8eae (diff)
downloadopenembedded-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')
-rw-r--r--meta/conf/distro/include/poky-fixed-revisions.inc4
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch59
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch15
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch15
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch31
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch20
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch32
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse2
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb28
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"
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 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"