M7350v1_en_gpl

This commit is contained in:
T
2024-09-09 08:52:07 +00:00
commit f9cc65cfda
65988 changed files with 26357421 additions and 0 deletions
@@ -0,0 +1,6 @@
def get_alsa_fpu_setting(bb, d):
if d.getVar('TARGET_FPU', 1) in [ 'soft' ]:
return "--with-softfloat"
return ""
@@ -0,0 +1,21 @@
# Author: Michael Lauer <mickey@vanille-media.de>
# Date: Thu Jan 18 00:27:21 2007 +0000
# alsa-lib: fix "error: field 'tstamp' has incomplete type" when including alsa headers with strict compilation options
#
# Acquired from OpenEmbedded
Upstream-Status: Pending
Index: alsa-lib-1.0.13/include/global.h
===================================================================
--- alsa-lib-1.0.13.orig/include/global.h
+++ alsa-lib-1.0.13/include/global.h
@@ -29,6 +29,8 @@
#define __ALSA_GLOBAL_H_
/* for timeval and timespec */
+#define __need_timeval
+#define __need_timespec
#include <time.h>
#ifdef __cplusplus
@@ -0,0 +1,14 @@
Upstream-Status: Inappropriate [configuration]
diff -Nur alsa-lib-1.0.14.orig/configure.in alsa-lib-1.0.14/configure.in
--- alsa-lib-1.0.14.orig/configure.in 2007-05-31 03:05:13.000000000 -0500
+++ alsa-lib-1.0.14/configure.in 2007-08-18 13:05:49.000000000 -0500
@@ -93,7 +93,7 @@
esac
plugindir="$dir/$PACKAGE"
fi
-AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "plugindir", [directory containing ALSA add-on modules])
+AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "${plugindir}", [directory containing ALSA add-on modules])
ALSA_PLUGIN_DIR="$plugindir"
AC_SUBST(ALSA_PLUGIN_DIR)
@@ -0,0 +1,50 @@
DESCRIPTION = "Alsa sound library"
HOMEPAGE = "http://www.alsa-project.org"
BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php"
SECTION = "libs/multimedia"
LICENSE = "LGPLv2.1 & GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
file://src/socket.c;beginline=1;endline=26;md5=11ff89a8a7a4a690a5c78effe8159545"
BBCLASSEXTEND = "native nativesdk"
# configure.in sets -D__arm__ on the command line for any arm system
# (not just those with the ARM instruction set), this should be removed,
# (or replaced by a permitted #define).
#FIXME: remove the following
ARM_INSTRUCTION_SET = "arm"
PR = "r1"
SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-${PV}.tar.bz2 \
file://fix-tstamp-declaration.patch"
SRC_URI[md5sum] = "7cc05f25e1d5b65da8fb3fdcd540f226"
SRC_URI[sha256sum] = "a32f7c21015b6c71f9a80ff70a2b6a50e4ff4d5c77c744ff0793dea7ba7a2517"
inherit autotools pkgconfig
require alsa-fpu.inc
EXTRA_OECONF += "${@get_alsa_fpu_setting(bb, d)} "
EXTRA_OECONF = "--with-cards=pdaudiocf --with-oss=yes --disable-python"
EXTRA_OECONF_append_libc-uclibc = " --with-versioned=no "
PKGSUFFIX = ""
PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
PACKAGES =+ "alsa-server${PKGSUFFIX} libasound${PKGSUFFIX} alsa-conf-base${PKGSUFFIX} alsa-conf${PKGSUFFIX} alsa-doc${PKGSUFFIX} alsa-dev${PKGSUFFIX}"
FILES_${PN}-dbg += "${libdir}/alsa-lib/*/.debu*"
FILES_libasound${PKGSUFFIX} = "${libdir}/libasound.so.*"
FILES_alsa-server${PKGSUFFIX} = "${bindir}/*"
FILES_alsa-conf${PKGSUFFIX} = "${datadir}/alsa/"
FILES_alsa-dev${PKGSUFFIX} += "${libdir}/pkgconfig/ /usr/include/ ${datadir}/aclocal/*"
FILES_alsa-conf-base${PKGSUFFIX} = "\
${datadir}/alsa/alsa.conf \
${datadir}/alsa/cards/aliases.conf \
${datadir}/alsa/pcm/default.conf \
${datadir}/alsa/pcm/dmix.conf \
${datadir}/alsa/pcm/dsnoop.conf"
RDEPENDS_libasound${PKGSUFFIX} = "alsa-conf-base${PKGSUFFIX}"
@@ -0,0 +1,34 @@
Add parameters to autoreconf to support cross compile.
Remove some sub-components which needs further recipe support.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Upstream-Status: Inappropriate [configuration]
diff -ruN alsa-tools-1.0.24.1-orig//ld10k1/gitcompile alsa-tools-1.0.24.1/ld10k1/gitcompile
--- alsa-tools-1.0.24.1-orig//ld10k1/gitcompile 2011-07-06 11:27:40.227665002 +0800
+++ alsa-tools-1.0.24.1/ld10k1/gitcompile 2011-07-14 13:26:18.017665004 +0800
@@ -1,6 +1,6 @@
#!/bin/bash
-autoreconf -fi || exit 1
+autoreconf $ACLOCAL_FLAGS -fi || exit 1
export CFLAGS='-O2 -Wall -pipe -g'
echo "CFLAGS=$CFLAGS"
echo "./configure $@"
diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
--- alsa-tools-1.0.24.1-orig//Makefile 2011-07-06 11:27:40.207665000 +0800
+++ alsa-tools-1.0.24.1/Makefile 2011-07-14 15:08:08.877665009 +0800
@@ -1,9 +1,8 @@
VERSION = 1.0.24.1
TOP = .
-SUBDIRS = ac3dec as10k1 envy24control hdsploader hdspconf hdspmixer \
- mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \
- us428control usx2yloader vxloader echomixer ld10k1 qlo10k1 \
- hwmixvolume
+SUBDIRS = ac3dec as10k1 hdsploader mixartloader pcxhrloader sb16_csp \
+ seq sscape_ctl us428control usx2yloader vxloader ld10k1 \
+ hwmixvolume
all:
@for i in $(SUBDIRS); do \
@@ -0,0 +1,23 @@
BROKEN = "1"
DESCRIPTION = "Alsa Tools package contains advanced tools for certain sound cards."
HOMEPAGE = "http://www.alsa-project.org"
BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php"
SECTION = "console/utils"
LICENSE = "GPLv2 & LGPLv2+"
DEPENDS = "alsa-lib ncurses"
PR = "r3"
LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/alsa-tools-${PV}.tar.bz2 \
file://autotools.patch"
SRC_URI[md5sum] = "08fe93a12006093e590d7ecc02b119dd"
SRC_URI[sha256sum] = "17d43de93ab2db98886d89a53e45341daa46a4ef6edd405db87f4b5a5dc64a05"
inherit autotools
EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST}' ACLOCAL_FLAGS='-I ${STAGING_DATADIR}/aclocal'"
@@ -0,0 +1,46 @@
From 37c99a3cbff36915b56a5703eeaed3c70796f80f Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Sun, 9 Oct 2011 20:06:35 +0200
Subject: [PATCH] alsactl: don't let systemd unit restore the volume when asound.state is missing
This avoids an error on bootup
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
Filed as https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5459
Upstream-Status: Pending
alsactl/Makefile.am | 2 +-
alsactl/alsa-restore.service.in | 1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am
index 5cfc415..c3768c4 100644
--- a/alsactl/Makefile.am
+++ b/alsactl/Makefile.am
@@ -34,7 +34,7 @@ install-data-hook:
endif
edit = \
- sed $(SED) -r 's,@sbindir\@,$(sbindir),g' < $< > $@ || rm $@
+ sed $(SED) -e 's,@localstatedir\@,$(localstatedir),g' -e 's,@sbindir\@,$(sbindir),g' < $< > $@ || rm $@
alsa-store.service: alsa-store.service.in
$(edit)
diff --git a/alsactl/alsa-restore.service.in b/alsactl/alsa-restore.service.in
index e97d196..3b76710 100644
--- a/alsactl/alsa-restore.service.in
+++ b/alsactl/alsa-restore.service.in
@@ -4,6 +4,7 @@ DefaultDependencies=no
After=sysinit.target
Before=shutdown.target
Conflicts=shutdown.target
+ConditionPathExists=@localstatedir@/lib/alsa/asound.state
[Service]
Type=oneshot
--
1.6.6.1
@@ -0,0 +1,44 @@
Rebase the patch to fit 1.0.24.2
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
diff -ruN alsa-utils-1.0.24.2-orig//configure.in alsa-utils-1.0.24.2/configure.in
--- alsa-utils-1.0.24.2-orig//configure.in 2011-04-13 13:51:20.337665010 +0800
+++ alsa-utils-1.0.24.2/configure.in 2011-04-13 13:51:54.437664986 +0800
@@ -127,34 +127,16 @@
NCURSESLIBSUFFIX=""
CURSES_NLS="no"
if test "$curseslib" = "ncursesw" -o \( "$curseslib" = "auto" -a "$USE_NLS" = "yes" \); then
- AC_CHECK_PROG([ncursesw5_config], [ncursesw5-config], [yes])
- if test "$ncursesw5_config" = "yes"; then
- CURSESINC="<ncurses.h>"
- CURSESLIB=`ncursesw5-config --libs`
- CURSESLIBDIR=`ncursesw5-config --libdir`
- CURSES_CFLAGS=`ncursesw5-config --cflags`
- curseslib="ncursesw"
- else
AC_CHECK_LIB(ncursesw, initscr,
[ CURSESINC='<ncurses.h>'; CURSESLIB='-lncursesw'; curseslib="ncursesw"])
- fi
if test -n "$CURSESINC"; then
NCURSESLIBSUFFIX="w"
CURSES_NLS="yes"
fi
fi
if test "$curseslib" = "ncurses" -o "$curseslib" = "auto"; then
- AC_CHECK_PROG([ncurses5_config], [ncurses5-config], [yes])
- if test "$ncurses5_config" = "yes"; then
- CURSESINC="<ncurses.h>"
- CURSESLIB=`ncurses5-config --libs`
- CURSESLIBDIR=`ncurses5-config --libdir`
- CURSES_CFLAGS=`ncurses5-config --cflags`
- curseslib="ncurses"
- else
AC_CHECK_LIB(ncurses, initscr,
[ CURSESINC='<ncurses.h>'; CURSESLIB='-lncurses'; curseslib="ncurses"])
- fi
fi
if test "$curseslib" = "curses" -o "$curseslib" = "auto"; then
AC_CHECK_LIB(curses, initscr,
@@ -0,0 +1,21 @@
uclibc does not have exp10 function which is glibc extension.
Bur we can get the same behavior by using pow()
Upstream-Status: Pending
Khem Raj <raj.khem@gmail.com>
Index: alsa-utils-1.0.24.2/alsamixer/volume_mapping.c
===================================================================
--- alsa-utils-1.0.24.2.orig/alsamixer/volume_mapping.c
+++ alsa-utils-1.0.24.2/alsamixer/volume_mapping.c
@@ -36,6 +36,9 @@
#include <math.h>
#include <stdbool.h>
#include "volume_mapping.h"
+#ifdef __UCLIBC__
+#define exp10(x) (pow(10, (x)))
+#endif /* __UCLIBC__ */
#define MAX_LINEAR_DB_SCALE 24
@@ -0,0 +1,82 @@
DESCRIPTION = "ALSA Utilities"
HOMEPAGE = "http://www.alsa-project.org"
BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php"
SECTION = "console/utils"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
file://alsactl/utils.c;beginline=1;endline=20;md5=fe9526b055e246b5558809a5ae25c0b9"
DEPENDS = "alsa-lib ncurses libsamplerate0"
PR = "r4"
SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
file://ncursesfix.patch \
file://uclibc-exp10-replacement.patch \
file://0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch \
"
SRC_URI[md5sum] = "8238cd57cb301d1c36bcf0ecb59ce6b2"
SRC_URI[sha256sum] = "95127f740291086486c06c28118cabca0814bde48fd14dac041a9812a5ac1be2"
# lazy hack. needs proper fixing in gettext.m4, see
# http://bugs.openembedded.org/show_bug.cgi?id=2348
# please close bug and remove this comment when properly fixed
#
EXTRA_OECONF = "--disable-xmlto"
EXTRA_OECONF_append_libc-uclibc = " --disable-nls"
inherit autotools gettext
# This are all packages that we need to make. Also, the now empty alsa-utils
# ipk depends on them.
ALSA_UTILS_PKGS = "\
alsa-utils-alsamixer \
alsa-utils-midi \
alsa-utils-aplay \
alsa-utils-amixer \
alsa-utils-aconnect \
alsa-utils-iecset \
alsa-utils-speakertest \
alsa-utils-aseqnet \
alsa-utils-aseqdump \
alsa-utils-alsaconf \
alsa-utils-alsactl \
alsa-utils-alsaloop \
alsa-utils-alsaucm \
"
PACKAGES += "${ALSA_UTILS_PKGS}"
RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}"
# We omit alsaconf, because
# a) this is a bash script
# b) it creates config files not suitable for OE-based distros
FILES_${PN} = ""
FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord"
FILES_alsa-utils-amixer = "${bindir}/amixer"
FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/"
FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
FILES_alsa-utils-aconnect = "${bindir}/aconnect"
FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
FILES_alsa-utils-iecset = "${bindir}/iecset"
FILES_alsa-utils-alsactl = "${sbindir}/alsactl ${base_libdir}/udev/rules.d ${base_libdir}/systemd"
FILES_alsa-utils-aseqdump = "${bindir}/aseqdump"
FILES_alsa-utils-alsaconf = "${sbindir}/alsaconf"
FILES_alsa-utils-alsaloop = "${bindir}/alsaloop"
FILES_alsa-utils-alsaucm = "${bindir}/alsaucm"
DESCRIPTION_alsa-utils-aplay = "play (and record) sound files via ALSA"
DESCRIPTION_alsa-utils-amixer = "command-line based control for ALSA mixer and settings"
DESCRIPTION_alsa-utils-alsamixer = "ncurses based control for ALSA mixer and settings"
DESCRIPTION_alsa-utils-speakertest = "ALSA surround speaker test utility"
DESCRIPTION_alsa-utils-midi = "miscalleanous MIDI utilities for ALSA"
DESCRIPTION_alsa-utils-aconnect = "ALSA sequencer connection manager"
DESCRIPTION_alsa-utils-aseqnet = "network client/server on ALSA sequencer"
DESCRIPTION_alsa-utils-alsactl = "saves/restores ALSA-settings in /etc/asound.state"
DESCRIPTION_alsa-utils-alsaconf = "a bash script that creates ALSA configuration files"
DESCRIPTION_alsa-utils-alsaucm = "ALSA Use Case Manager"
ALLOW_EMPTY_alsa-utils = "1"
@@ -0,0 +1,78 @@
Upstream-Status: Inappropriate [configuration]
From f9b017c2c958d968cc5dfd36dc68fc8e5fb89a58 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Jun 2010 09:48:58 +0200
Subject: [PATCH] No AltiVec on SPE
Consider *gnuspe which matches powerpc-unknown-linux-gnuspe where
AltiVec is not available at all. This triplet uses SPE which is
incompatible with AltiVec shares the same opcode range and can't be used
at all.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
configure.in | 8 ++++++++
src/libFLAC/Makefile.am | 10 +++++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/configure.in b/configure.in
index bfa6d8e..17b7c73 100644
--- a/configure.in
+++ b/configure.in
@@ -82,6 +82,14 @@ case "$host" in
*) OBJ_FORMAT=elf ;;
esac
AC_SUBST(OBJ_FORMAT)
+case "$host" in
+ *-gnuspe)
+ abi_spe=true
+ AC_DEFINE(FLAC__CPU_PPC_SPE)
+ AH_TEMPLATE(FLAC__CPU_PPC_SPE, [define if building for PowerPC with SPE ABI])
+ ;;
+esac
+AM_CONDITIONAL(FLaC__CPU_PPC_SPE, test "x$abi_spe" = xtrue)
# only needed because of ntohl() usage, can get rid of after that's gone:
case "$host" in
diff --git a/src/libFLAC/Makefile.am b/src/libFLAC/Makefile.am
index cbfb0ac..5785372 100644
--- a/src/libFLAC/Makefile.am
+++ b/src/libFLAC/Makefile.am
@@ -40,8 +40,15 @@ if FLaC__SYS_DARWIN
CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM
else
# Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific
+CPUCFLAGS =
+if FLaC__CPU_PPC_SPE
+else
+if FLaC__USE_ALTIVEC
+CPUCFLAGS += -maltivec -mabi=altivec
+endif
+endif
#@@@ PPC optimizations temporarily disabled
-CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM
+CPUCFLAGS += -DFLAC__NO_ASM
endif
endif
@@ -58,6 +63,8 @@ endif
if FLaC__CPU_PPC
ARCH_SUBDIRS = ppc
if FLaC__HAS_AS__TEMPORARILY_DISABLED
+if FLaC__CPU_PPC_SPE
+else
LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la
LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning"
else
@@ -68,6 +75,7 @@ endif
endif
endif
endif
+endif
libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@
--
1.5.6.5
@@ -0,0 +1,25 @@
# Acquired from OpenEmbedded
Upstream-Status: Inappropriate [disable feature]
diff -ruN flac-1.2.1-orig/src/Makefile.am flac-1.2.1-new/src/Makefile.am
--- flac-1.2.1-orig/src/Makefile.am 2010-06-23 15:06:29.167865355 +0800
+++ flac-1.2.1-new/src/Makefile.am 2010-06-25 16:23:05.555202728 +0800
@@ -15,10 +15,6 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-if FLaC__HAS_XMMS
-XMMS_DIRS = plugin_common plugin_xmms
-endif
-
if FLaC__WITH_CPPLIBS
CPPLIBS_DIRS = libFLAC++ test_libFLAC++
endif
@@ -29,7 +25,6 @@
flac \
metaflac \
monkeys_audio_utilities \
- $(XMMS_DIRS) \
plugin_winamp2 \
test_grabbag \
test_libs_common \
@@ -0,0 +1,15 @@
# Acquired from OpenEmbedded
# Fix no declaration of memcmp()
Upstream-Status: Submitted
diff -urN flac-1.2.1-orig/examples/cpp/encode/file/main.cpp flac-1.2.1/examples/cpp/encode/file/main.cpp
--- flac-1.2.1-orig/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:29.159481339 +0800
+++ flac-1.2.1/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:46.233384883 +0800
@@ -30,6 +30,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include "FLAC++/metadata.h"
#include "FLAC++/encoder.h"
@@ -0,0 +1,149 @@
# CFLAGS and library paths for XMMS
# written 15 December 1999 by Ben Gertzfield <che@debian.org>
# Acquired from OpenEmbedded
dnl Usage:
dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl
dnl Example:
dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
dnl
dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR,
dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR,
dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
dnl and XMMS_VERSION for your plugin pleasure.
dnl
dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
AC_DEFUN(XMMS_TEST_VERSION, [
# Determine which version number is greater. Prints 2 to stdout if
# the second number is greater, 1 if the first number is greater,
# 0 if the numbers are equal.
# Written 15 December 1999 by Ben Gertzfield <che@debian.org>
# Revised 15 December 1999 by Jim Monty <monty@primenet.com>
AC_PROG_AWK
xmms_got_version=[` $AWK ' \
BEGIN { \
print vercmp(ARGV[1], ARGV[2]); \
} \
\
function vercmp(ver1, ver2, ver1arr, ver2arr, \
ver1len, ver2len, \
ver1int, ver2int, len, i, p) { \
\
ver1len = split(ver1, ver1arr, /\./); \
ver2len = split(ver2, ver2arr, /\./); \
\
len = ver1len > ver2len ? ver1len : ver2len; \
\
for (i = 1; i <= len; i++) { \
p = 1000 ^ (len - i); \
ver1int += ver1arr[i] * p; \
ver2int += ver2arr[i] * p; \
} \
\
if (ver1int < ver2int) \
return 2; \
else if (ver1int > ver2int) \
return 1; \
else \
return 0; \
}' $1 $2`]
if test $xmms_got_version -eq 2; then # failure
ifelse([$4], , :, $4)
else # success!
ifelse([$3], , :, $3)
fi
])
AC_DEFUN(AM_PATH_XMMS,
[
AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)],
xmms_config_prefix="$withval", xmms_config_prefix="")
AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
if test x$xmms_config_exec_prefix != x; then
xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
if test x${XMMS_CONFIG+set} != xset; then
XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
fi
fi
if test x$xmms_config_prefix != x; then
xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
if test x${XMMS_CONFIG+set} != xset; then
XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
fi
fi
AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
if test "$XMMS_CONFIG" = "no"; then
no_xmms=yes
else
XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
--visualization-plugin-dir`
XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
fi
AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
if test "x$no_xmms" = x; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$XMMS_CONFIG" = "no" ; then
echo "*** The xmms-config script installed by XMMS could not be found."
echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the XMMS_CONFIG environment variable to the"
echo "*** full path to xmms-config."
else
if test "$no_xmms" = "version"; then
echo "*** An old version of XMMS, $XMMS_VERSION, was found."
echo "*** You need a version of XMMS newer than $min_xmms_version."
echo "*** The latest version of XMMS is always available from"
echo "*** http://www.xmms.org/"
echo "***"
echo "*** If you have already installed a sufficiently new version, this error"
echo "*** probably means that the wrong copy of the xmms-config shell script is"
echo "*** being found. The easiest way to fix this is to remove the old version"
echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
echo "*** correct copy of xmms-config. (In this case, you will have to"
echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
echo "*** so that the correct libraries are found at run-time)"
fi
fi
XMMS_CFLAGS=""
XMMS_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(XMMS_CFLAGS)
AC_SUBST(XMMS_LIBS)
AC_SUBST(XMMS_VERSION)
AC_SUBST(XMMS_DATA_DIR)
AC_SUBST(XMMS_PLUGIN_DIR)
AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
])
@@ -0,0 +1,57 @@
SUMMARY = "Free Lossless Audio Codec"
DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless."
HOMEPAGE = "http://flac.sourceforge.net/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=13478&atid=113478"
SECTION = "libs"
LICENSE = "FDLv1.2 & GPLv2+ & LGPLv2.1+ & BSD"
LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
file://src/Makefile.am;beginline=1;endline=16;md5=8dee151a56a3122f064a9dce771db37d \
file://COPYING.GPL;md5=079b27cd65c86dbc1b6997ffde902735 \
file://src/flac/main.c;beginline=1;endline=17;md5=756c4234516e4266ea45ee7bbbd798cf \
file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://src/plugin_common/all.h;beginline=1;endline=17;md5=b2e7960da6b43e4eccabf999bcf7f3a9 \
file://COPYING.Xiph;md5=df8975c0225f83ed7b567587ed953b83 \
file://include/FLAC/all.h;beginline=64;endline=69;md5=64474f2b22e9e77b28d8b8b25c983a48"
DEPENDS = "libogg"
PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/flac/flac-${PV}.tar.gz \
file://disable-xmms-plugin.patch \
file://flac-gcc43-fixes.patch \
file://xmms.m4 \
file://0001-No-AltiVec-on-SPE.patch"
SRC_URI[md5sum] = "153c8b15a54da428d1f0fadc756c22c7"
SRC_URI[sha256sum] = "9635a44bceb478bbf2ee8a785cf6986fba525afb5fad1fd4bba73cf71f2d3edf"
S = "${WORKDIR}/flac-${PV}"
inherit autotools gettext
EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
--with-ogg-libraries=${STAGING_LIBDIR} \
--with-ogg-includes=${STAGING_INCDIR} \
--without-xmms-prefix \
--without-xmms-exec-prefix \
--without-libiconv-prefix \
--without-id3lib"
EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
PACKAGES += "libflac libflac++ liboggflac liboggflac++"
FILES_${PN} = "${bindir}/*"
FILES_libflac = "${libdir}/libFLAC.so.*"
FILES_libflac++ = "${libdir}/libFLAC++.so.*"
FILES_liboggflac = "${libdir}/libOggFLAC.so.*"
FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*"
do_configure () {
install -d ${S}/m4
install -m 0644 ${WORKDIR}/xmms.m4 ${S}/m4/
autotools_do_configure
# removes '-read-only-relocs' which is enabled for PowerPC builds.
# It makes the build fail, other archs are not affected. Fixes #1775.
sed -i 's/-Wl,-read_only_relocs,warning//g' src/libFLAC/Makefile
}
@@ -0,0 +1,20 @@
Disable yasm for libav when --disable-yasm
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Shane Wang <shane.wang@intel.com>
diff -r f2f8f74c6e30 configure.ac
--- a/configure.ac Thu Dec 22 23:56:09 2011 +0800
+++ b/configure.ac Thu Dec 22 23:57:37 2011 +0800
@@ -325,6 +325,10 @@
--enable-gpl"
fi
+ if test "x$disable_yasm" != "xyes"; then
+ embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm"
+ fi
+
# if we are cross-compiling, tell ffmpeg so
target_os=`echo $host_os | sed 's/-gnu//'`
if test "x$cross_compiling" = xyes; then
@@ -0,0 +1,16 @@
Lower the rank of ffmpeg plugin so codecs that hook into accelerated pieces (e.g. dsp or hw engines) can get picked over this
Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com>
Upstream-Status: Inappropriate [embedded specific]
--- /tmp/gstffmpegdec.c 2009-03-05 09:31:15.000000000 +0100
+++ gst-ffmpeg-0.10.6/ext/ffmpeg/gstffmpegdec.c 2009-03-05 09:33:09.000000000 +0100
@@ -2588,7 +2588,7 @@
case CODEC_ID_MSMPEG4V3:
case CODEC_ID_H264:
case CODEC_ID_COOK:
- rank = GST_RANK_PRIMARY;
+ rank = GST_RANK_SECONDARY;
break;
case CODEC_ID_DVVIDEO:
/* we have a good dv decoder, fast on both ppc as well as x86. they say
@@ -0,0 +1,40 @@
DESCRIPTION = "FFmpeg-based GStreamer plug-in"
SECTION = "multimedia"
LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445e41681324381f5869ee33d38 \
file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \
file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \
file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
HOMEPAGE = "http://www.gstreamer.net/"
DEPENDS = "gstreamer gst-plugins-base zlib"
inherit autotools pkgconfig
SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
file://lower-rank.diff \
file://configure-fix.patch \
"
SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4"
SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62"
PR = "r1"
EXTRA_OECONF = "--with-ffmpeg-extra-configure=\"--target-os=linux\" "
# yasm not found, use --disable-yasm for a crippled build for libav
EXTRA_OECONF_append_x86-64 = " --disable-yasm "
EXTRA_OECONF_append_x86 = " --disable-yasm "
FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
# Hack to get STAGING_LIBDIR into the linker path when building ffmpeg
CC = "${CCACHE} ${HOST_PREFIX}gcc ${TARGET_CC_ARCH} -L${STAGING_LIBDIR}"
@@ -0,0 +1,14 @@
require gst-fluendo.inc
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=98326cbb1723a5a97e9b1db62e9faa05"
LICENSE_FLAGS = "commercial"
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
PR = "r0"
DESCRIPTION = "Fluendo closed-format mp3 GStreamer plug-in"
SRC_URI[md5sum] = "33df57590e3f21f945fe7bace6146fa0"
SRC_URI[sha256sum] = "12dbd307b25fed502a52666a9c956230da09ee140a18d987452492393340f442"
@@ -0,0 +1,13 @@
require gst-fluendo.inc
DESCRIPTION = "Fluendo closed-format mpeg video GStreamer plug-in"
LICENSE = "MPLv1.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=be282f1c3cc9a98cc0dc5c2b25dfc510 \
file://src/gstmpegdemux.h;beginline=1;endline=19;md5=a9e90033f59897b91664d9f2a2ff01dd"
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
PR = "r0"
SRC_URI[md5sum] = "098105ecb68779f34097faf35214fc97"
SRC_URI[sha256sum] = "a62a1249f05c5b6d9d0ab31a0d5cb15f2682587dec0050fc57c1102a6d76b32d"
@@ -0,0 +1,14 @@
DESCRIPTION = "Fluendo closed-format GStreamer plug-in"
SECTION = "multimedia"
HOMEPAGE = "http://www.fluendo.com/resources/source-plugins.php"
DEPENDS = "gstreamer zlib"
inherit autotools pkgconfig
SRC_URI = "http://core.fluendo.com/gstreamer/src/${BPN}/${BPN}-${PV}.tar.bz2"
FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
EXTRA_OECONF = "--disable-debug --disable-valgrind"
@@ -0,0 +1,60 @@
DESCRIPTION = "Gstreamer package groups"
LICENSE = "MIT"
DEPENDS = "gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r10"
PACKAGES = "\
gst-meta-base \
gst-meta-audio \
gst-meta-debug \
gst-meta-video"
ALLOW_EMPTY = "1"
RDEPENDS_gst-meta-base = "\
gstreamer \
gst-plugins-base-playbin \
gst-plugins-base-decodebin \
gst-plugins-base-decodebin2 \
gst-plugins-base-gio \
gst-plugins-base-alsa \
gst-plugins-base-volume \
gst-plugins-base-ximagesink \
gst-plugins-base-audioconvert \
gst-plugins-base-audioresample \
gst-plugins-base-typefindfunctions \
gst-plugins-base-videoscale \
gst-plugins-base-ffmpegcolorspace \
gst-plugins-good-autodetect \
gst-plugins-good-souphttpsrc"
RDEPENDS_gst-meta-audio = "\
gst-meta-base \
gst-plugins-base-vorbis \
gst-plugins-base-ogg \
gst-plugins-good-wavparse \
gst-plugins-good-flac \
${COMMERCIAL_AUDIO_PLUGINS}"
RDEPENDS_gst-meta-debug = "\
gst-meta-base \
gst-plugins-good-debug \
gst-plugins-base-audiotestsrc \
gst-plugins-base-videotestsrc"
RDEPENDS_gst-meta-video = "\
gst-meta-base \
gst-plugins-good-avi \
gst-plugins-good-matroska \
gst-plugins-base-theora \
${COMMERCIAL_VIDEO_PLUGINS}"
RRECOMMENDS_gst-meta-video = "\
gst-meta-audio"
@@ -0,0 +1,18 @@
Upstream-Status: Pending
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Index: gst-openmax-0.10.1/omx/gstomx.c
===================================================================
--- gst-openmax-0.10.1.orig/omx/gstomx.c 2010-09-30 18:00:24.000000000 -0700
+++ gst-openmax-0.10.1/omx/gstomx.c 2011-05-17 23:08:08.794535872 -0700
@@ -238,7 +238,8 @@
const gchar *element_name = gst_structure_nth_field_name (element_table, i);
GstStructure *element = get_element_entry (element_name);
const gchar *type_name, *parent_type_name;
- const gchar *component_name, *component_role, *library_name;
+ const gchar *component_name, *library_name;
+ const gchar __attribute__((__unused__)) *component_role;
GType type;
gint rank;
@@ -0,0 +1,24 @@
DEPENDS = "gstreamer"
RDEPENDS_${PN} = "libomxil"
LICENSE = "LGPLv2.1"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
file://util/sem.h;beginline=1;endline=20;md5=accce5550d5583b839b441a0623f09fc"
SRC_URI = "http://gstreamer.freedesktop.org/src/gst-openmax/gst-openmax-${PV}.tar.bz2 \
file://gcc_4.6.patch \
"
inherit autotools
EXTRA_OECONF += "--disable-valgrind"
PR = "r3"
FILES_${PN} += "${libdir}/gstreamer-0.10/libgstomx.so"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/libgstomx.la"
FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/libgstomx.a"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug/"
SRC_URI[md5sum] = "4d0370bfe99dea20918c84347abadb4e"
SRC_URI[sha256sum] = "9074d5a0591995133d19cfb15144f19664f902c1623f996595695cf2c2070e1f"
@@ -0,0 +1,26 @@
require gst-plugins.inc
LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ "
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://gst/tta/filters.h;beginline=12;endline=29;md5=629b0c7a665d155a6677778f4460ec06 \
file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/tta/crc32.h;beginline=12;endline=29;md5=71a904d99ce7ae0c1cf129891b98145c"
DEPENDS += "gst-plugins-base libmusicbrainz tremor librsvg"
PR = "r1"
inherit gettext
EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio \
--with-plugins=musicbrainz,wavpack,ivorbis,mpegvideoparse --disable-vdpau --disable-apexsink"
ARM_INSTRUCTION_SET = "arm"
do_configure_prepend() {
# This m4 file contains nastiness which conflicts with libtool 2.2.2
rm ${S}/m4/lib-link.m4 || true
}
SRC_URI[md5sum] = "9a2acee1f386f71247003d0d7090fb1c"
SRC_URI[sha256sum] = "d8f7102f43ffea076646427115ffdccb3975954f1e9367bd304f7ee01e12070c"
@@ -0,0 +1,19 @@
Remove -DTREMOR option since Tremor has dropped its internal
libogg2, and gst-plugins-base has dependency on that.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
diff -ruN gst-plugins-base-0.10.30-orig/ext/vorbis/Makefile.am gst-plugins-base-0.10.30/ext/vorbis/Makefile.am
--- gst-plugins-base-0.10.30-orig/ext/vorbis/Makefile.am 2010-11-17 16:11:03.000000000 +0800
+++ gst-plugins-base-0.10.30/ext/vorbis/Makefile.am 2010-11-17 16:12:41.000000000 +0800
@@ -28,7 +28,7 @@
libgstivorbisdec_la_SOURCES = gstivorbisdec.c \
gstvorbisdec.c gstvorbisdeclib.c gstvorbiscommon.c
libgstivorbisdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
- -DTREMOR $(IVORBIS_CFLAGS)
+ $(IVORBIS_CFLAGS)
libgstivorbisdec_la_LIBADD = \
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
@@ -0,0 +1,25 @@
require gst-plugins.inc
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/ffmpegcolorspace/utils.c;beginline=1;endline=20;md5=9c83a200b8e597b26ca29df20fc6ecd0"
DEPENDS += "virtual/libx11 alsa-lib freetype liboil libogg libvorbis libxv libtheora avahi util-linux tremor"
SRC_URI += " file://gst-plugins-base-tremor.patch"
SRC_URI[md5sum] = "1d300983525f4f09030eb3ba47cb04b0"
SRC_URI[sha256sum] = "cd24f01bb5258a1f400bc4f2c212bb7cee9ee23c9ffb80d537a24ef366d17103"
PR = "r0"
inherit gettext
EXTRA_OECONF += "--disable-freetypetest --disable-pango --disable-gnome_vfs"
do_configure_prepend() {
# This m4 file contains nastiness which conflicts with libtool 2.2.2
rm -f ${S}/m4/lib-link.m4
}
@@ -0,0 +1,24 @@
require gst-plugins.inc
LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
DEPENDS += "gst-plugins-base gconf cairo jpeg libpng gtk+ zlib libid3tag flac \
speex libsoup-2.4 pulseaudio"
PR = "r4"
inherit gettext gconf
EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal --without-check"
do_configure_prepend() {
# This m4 file contains nastiness which conflicts with libtool 2.2.2
rm ${S}/m4/lib-link.m4 || true
}
SRC_URI[md5sum] = "62fd7a3ef187c4f99b3d7c352d58dae9"
SRC_URI[sha256sum] = "b12cba90b27d8423cd0a808939098d19db3996cfb9bf528507c6321782e095f6"
FILES_${PN}-gconfelements += "${sysconfdir}/gconf/schemas/gstreamer-0.10.schemas"
@@ -0,0 +1,35 @@
LIBV = "0.10"
python populate_packages_prepend () {
gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d)
postinst = d.getVar('plugin_postinst', True)
glibdir = d.getVar('libdir', True)
do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', bb.data.expand('${PN}-%s', d), 'GStreamer plugin for %s', postinst=postinst, extra_depends=bb.data.expand('${PN}',d))
do_split_packages(d, gst_libdir, 'libgst(.*)\.la$', bb.data.expand('${PN}-%s-dev', d), 'GStreamer plugin for %s (development files)', extra_depends=bb.data.expand('${PN}-dev',d))
do_split_packages(d, gst_libdir, 'libgst(.*)\.a$', bb.data.expand('${PN}-%s-staticdev', d), 'GStreamer plugin for %s (static development files)', extra_depends=bb.data.expand('${PN}-staticdev',d))
pn = d.getVar('PN', 1)
metapkg = pn + '-meta'
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
d.setVar('FILES_' + metapkg, "")
blacklist = [ pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc' ]
metapkg_rdepends = []
packages = d.getVar('PACKAGES', 1).split()
for pkg in packages[1:]:
if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-staticdev'):
metapkg_rdepends.append(pkg)
d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
}
ALLOW_EMPTY = "1"
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
FILES_${PN}-apps = "${bindir}"
FILES_${PN} = "${datadir}/gstreamer-${LIBV}"
FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug"
FILES_${PN}-glib = "${datadir}/glib-2.0"
@@ -0,0 +1,23 @@
require gst-plugins.inc
LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://gst/synaesthesia/synaescope.h;beginline=1;endline=20;md5=99f301df7b80490c6ff8305fcc712838 \
file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 \
file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9"
DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame"
PR = "r0"
inherit gettext
EXTRA_OECONF += "--with-plugins=a52dec,lame,id3tag,mad,mpeg2dec,mpegstream,mpegaudioparse,asfdemux,realmedia"
do_configure_prepend() {
# This m4 file contains nastiness which conflicts with libtool 2.2.2
rm ${S}/m4/lib-link.m4 || true
}
SRC_URI[md5sum] = "04a7009a4efea2844075949c111f5e4d"
SRC_URI[sha256sum] = "f9c16748cd9269fae86422d8254a579fa6db073797a5a19a9dc5c72cd66c8e14"
@@ -0,0 +1,28 @@
DESCRIPTION = "Plugins for GStreamer"
HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
DEPENDS = "gstreamer"
inherit autotools pkgconfig
FILESPATH =. "${FILE_DIRNAME}/gst-plugins:"
SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2"
EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples "
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
# orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc,
# resulting in /usr/bin/orcc. Force it to use the staged orcc.
do_configure_append() {
for i in $(find ${S} -name "Makefile") ; do
sed -i -e s:${bindir}/orcc:${STAGING_BINDIR_NATIVE}/orcc:g $i
done
}
require gst-plugins-package.inc
PACKAGES_DYNAMIC = "${PN}-*"
@@ -0,0 +1,19 @@
# gstreamer: Fix a problem with configure if check has already been built
# Richard Purdie <rpurdie@linux.intel.com>
Upstream-Status: Inappropriate [configuration]
diff -urN gstreamer-0.10.29-orig/configure.ac gstreamer-0.10.29/configure.ac
--- gstreamer-0.10.29-orig/configure.ac 2010-06-26 12:49:27.774930773 +0800
+++ gstreamer-0.10.29/configure.ac 2010-06-26 12:51:12.899200233 +0800
@@ -543,8 +543,10 @@
*) BUILD_CHECK=yes ;;
esac
])
+
dnl bit of a misnomer, but keep the conditional named like this so we don't
dnl have to change too much elsewhere
+HAVE_CHECK=no
AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes")
dnl configure the desired buffer alignment
@@ -0,0 +1,16 @@
# Fix crash with gst-inspect
# Chris Lord <chris@openedhand.com>
Upstream-Status: Pending
--- gstreamer-0.10.9/tools/gst-inspect.c.old 2006-09-12 11:56:53.000000000 +0100
+++ gstreamer-0.10.9/tools/gst-inspect.c 2006-09-12 11:57:27.000000000 +0100
@@ -1123,7 +1123,7 @@
g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
g_option_context_add_group (ctx, gst_init_get_option_group ());
if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
- g_print ("Error initializing: %s\n", err->message);
+ g_print ("Error initializing: %s\n", err ? err->message : "(null)");
exit (1);
}
g_option_context_free (ctx);
@@ -0,0 +1,487 @@
/* GStreamer
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2000 Wim Taymans <wtay@chello.be>
* 2005 David A. Schleef <ds@schleef.org>
*
* gstregistryxml.c: GstRegistry object, support routines
*
* This library is free software; you can redistribute it and/or
* modify it ulnder the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <gst/gstregistrybinary.h>
/*
** Simple handy function to write a memory location to the registry cache file
*/
inline static gboolean
gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size)
{
if (write(registry->cache_file, mem, size) != size)
{
GST_ERROR("Failed to write binary registry element: ptr=%p size=%u error=%s\n",
mem, size, strerror(errno));
return FALSE;
}
return TRUE;
}
/*
** Save features GstBinary style
*/
static gboolean
gst_registry_binary_fill_feature(GList **list, GstPluginFeature *orig, GstBinaryPluginFeature *dest, const char *name)
{
GstBinaryChunck *chk;
if ((chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
return FALSE;
chk->data = dest;
chk->size = sizeof (GstBinaryPluginFeature);
*list = g_list_append(*list, chk);
dest->rank = orig->rank;
if (!strncpy(dest->typename, name, GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN) ||
!strncpy(dest->name, orig->name, GST_BINARY_REGISTRY_TYPENAME_NAME_LEN))
{
GST_ERROR("Failed to write binary registry feature");
goto fail;
}
if (GST_IS_ELEMENT_FACTORY(orig))
{
GstElementFactory *factory = GST_ELEMENT_FACTORY(orig);
if (!strncpy(dest->longname, factory->details.longname, GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN) ||
!strncpy(dest->class, factory->details.klass, GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN) ||
!strncpy(dest->description, factory->details.description, GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN) ||
!strncpy(dest->author, factory->details.author, GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN))
{
GST_ERROR("Failed to write binary registry feature");
goto fail;
}
}
dest->npadtemplates = dest->ninterfaces = dest->nuritypes = 0;
return TRUE;
fail:
free(chk);
return FALSE;
}
/*
** Initialize the GstBinaryRegistryMagic, setting both our magic number and gstreamer major/minor version
*/
inline static gboolean
gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m)
{
if (!strncpy(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) ||
!strncpy(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
{
GST_ERROR("Failed to write magic to the registry magic structure");
return FALSE;
}
return TRUE;
}
/*
** Check GstBinaryRegistryMagic validity.
** Return a pointer pointing right after the magic structure
*/
static gchar *
gst_registry_binary_check_magic(gchar *in)
{
GstBinaryRegistryMagic *m = (GstBinaryRegistryMagic *) in;
if (m == NULL || m->magic == NULL || m->version == NULL)
{
GST_ERROR("Binary registry magic structure is broken");
return NULL;
}
if (strncmp(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) != 0)
{
GST_ERROR("Binary registry magic is different : %02x%02x%02x%02x != %02x%02x%02x%02x",
GST_MAGIC_BINARY_REGISTRY_STR[0] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[1] & 0xff,
GST_MAGIC_BINARY_REGISTRY_STR[2] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[3] & 0xff,
m->magic[0] & 0xff, m->magic[1] & 0xff, m->magic[2] & 0xff, m->magic[3] & 0xff);
return NULL;
}
if (strncmp(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
{
GST_ERROR("Binary registry magic version is different : %s != %s",
GST_MAJORMINOR, m->version);
return NULL;
}
return (in + sizeof (GstBinaryRegistryMagic));
}
/*
** Adapt a GstPlugin to our GstBinaryPluginElement structure, and write it to the
** registry file.
*/
static gboolean
gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin)
{
GstBinaryPluginElement *e;
GstBinaryChunck *chk;
GList *walk;
if ((e = calloc(1, sizeof (GstBinaryPluginElement))) == NULL ||
(chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
return FALSE;
chk->data = e;
chk->size = sizeof (GstBinaryPluginElement);
*list = g_list_append(*list, chk);
if (!strncpy(e->name, plugin->desc.name, GST_BINARY_REGISTRY_NAME_LEN) ||
!strncpy(e->description, plugin->desc.description, GST_BINARY_REGISTRY_DESCRIPTION_LEN) ||
!strncpy(e->filename, plugin->filename, _POSIX_PATH_MAX) ||
!strncpy(e->version, plugin->desc.version, GST_BINARY_REGISTRY_VERSION_LEN) ||
!strncpy(e->license, plugin->desc.license, GST_BINARY_REGISTRY_LICENSE_LEN) ||
!strncpy(e->source, plugin->desc.source, GST_BINARY_REGISTRY_SOURCE_LEN) ||
!strncpy(e->package, plugin->desc.package, GST_BINARY_REGISTRY_PACKAGE_LEN) ||
!strncpy(e->origin, plugin->desc.origin, GST_BINARY_REGISTRY_ORIGIN_LEN))
{
GST_DEBUG("Can't adapt GstPlugin to GstBinaryPluginElement");
goto fail;
}
e->size = plugin->file_size;
e->m32p = plugin->file_mtime;
GList *ft_list = gst_registry_get_feature_list_by_plugin(registry, plugin->desc.name);
for (walk = ft_list; walk; walk = g_list_next(walk), e->nfeatures++)
{
GstPluginFeature *curfeat = GST_PLUGIN_FEATURE (walk->data);
GstBinaryPluginFeature *newfeat;
const char *feat_name = g_type_name(G_OBJECT_TYPE(curfeat));
if ((newfeat = calloc(1, sizeof (GstBinaryPluginFeature))) == NULL)
goto fail;
if (!feat_name || !gst_registry_binary_fill_feature(list, curfeat, newfeat, feat_name))
{
GST_ERROR("Can't fill plugin feature, aborting.");
goto fail;
}
}
GST_DEBUG("Found %d features in plugin \"%s\"\n", e->nfeatures, e->name);
return TRUE;
fail:
free(chk);
free(e);
return FALSE;
}
/*
** Write the cache to file. Part of the code was taken from gstregistryxml.c
*/
gboolean
gst_registry_binary_write_cache(GstRegistry *registry, const char *location)
{
GList *walk;
char *tmp_location;
GstBinaryRegistryMagic *magic;
GstBinaryChunck *magic_chunck;
GList *to_write = NULL;
GST_INFO("Writing binary registry cache");
g_return_val_if_fail (GST_IS_REGISTRY (registry), FALSE);
tmp_location = g_strconcat (location, ".tmpXXXXXX", NULL);
registry->cache_file = g_mkstemp (tmp_location);
if (registry->cache_file == -1)
{
char *dir;
/* oops, I bet the directory doesn't exist */
dir = g_path_get_dirname (location);
g_mkdir_with_parents (dir, 0777);
g_free (dir);
registry->cache_file = g_mkstemp (tmp_location);
}
if (registry->cache_file == -1)
goto fail;
if ((magic = calloc(1, sizeof (GstBinaryRegistryMagic))) == NULL ||
!gst_registry_binary_initialize_magic(magic))
goto fail;
if ((magic_chunck = calloc(1, sizeof (GstBinaryChunck))) == NULL)
goto fail;
magic_chunck->data = magic;
magic_chunck->size = sizeof (GstBinaryRegistryMagic);
to_write = g_list_append(to_write, magic_chunck);
/* Iterate trough the list of plugins in the GstRegistry and adapt them to our structures */
for (walk = g_list_last(registry->plugins); walk; walk = g_list_previous(walk))
{
GstPlugin *plugin = GST_PLUGIN(walk->data);
if (!plugin->filename)
continue;
if (plugin->flags & GST_PLUGIN_FLAG_CACHED)
{
int ret;
struct stat statbuf;
ret = g_stat (plugin->filename, &statbuf);
if ((ret = g_stat (plugin->filename, &statbuf)) < 0 ||
plugin->file_mtime != statbuf.st_mtime ||
plugin->file_size != statbuf.st_size)
continue;
}
if (!gst_registry_binary_save_plugin(&to_write, registry, plugin))
{
GST_ERROR("Can't write binary plugin information for \"%s\"", plugin->filename);
continue; /* Try anyway */
}
}
for (walk = g_list_first(to_write); walk; walk = g_list_next(walk))
{
GstBinaryChunck *cur = walk->data;
if (!gst_registry_binary_write(registry, cur->data, cur->size))
{
free(cur->data);
free(cur);
g_list_free(to_write);
goto fail;
}
free(cur->data);
free(cur);
}
g_list_free(to_write);
if (close(registry->cache_file) < 0)
{
GST_DEBUG("Can't close registry file : %s", strerror(errno));
goto fail;
}
if (g_file_test (tmp_location, G_FILE_TEST_EXISTS)) {
#ifdef WIN32
remove (location);
#endif
rename (tmp_location, location);
}
g_free (tmp_location);
return TRUE;
fail:
g_free(tmp_location);
return FALSE;
}
static GstPluginFeature*
gst_registry_binary_load_feature(GstBinaryPluginFeature *in)
{
GstPluginFeature *feature;
GType type;
if (!in->typename || !*(in->typename))
return NULL;
/* GST_INFO("Plugin feature typename : %s", in->typename);*/
if (!(type = g_type_from_name(in->typename)))
{
GST_ERROR("Unknown type from typename");
return NULL;
}
feature = g_object_new (type, NULL);
if (!feature) {
GST_ERROR("Can't create feature from type");
return NULL;
}
if (!GST_IS_PLUGIN_FEATURE (feature)) {
/* don't really know what it is */
if (GST_IS_OBJECT (feature))
gst_object_unref (feature);
else
g_object_unref (feature);
return NULL;
}
feature->name = g_strdup(in->name);
feature->rank = in->rank;
if (GST_IS_ELEMENT_FACTORY(feature))
{
GstElementFactory *factory = GST_ELEMENT_FACTORY(feature);
factory->details.longname = g_strdup(in->longname);
factory->details.klass = g_strdup(in->class);
factory->details.description = g_strdup(in->description);
factory->details.author = g_strdup(in->author);
/* GST_INFO("Element factory : %s", factory->details.longname); */
}
GST_DEBUG("Added feature %p with name %s", feature, feature->name);
return feature;
}
/*
** Make a new plugin from current GstBinaryPluginElement structure
** and save it to the GstRegistry. Return an offset to the next
** GstBinaryPluginElement structure.
*/
static unsigned long
gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in)
{
GstBinaryPluginElement *p = (GstBinaryPluginElement *) in;
GstPlugin *plugin = NULL;
GList *plugin_features = NULL;
GstBinaryPluginFeature *feat;
unsigned int i;
unsigned long offset;
plugin = g_object_new (GST_TYPE_PLUGIN, NULL);
plugin->flags |= GST_PLUGIN_FLAG_CACHED;
plugin->desc.name = g_strdup(p->name);
plugin->desc.description= g_strdup(p->description);
plugin->filename = g_strdup(p->filename);
plugin->desc.version = g_strdup(p->version);
plugin->desc.license = g_strdup(p->license);
plugin->desc.source = g_strdup(p->source);
plugin->desc.package = g_strdup(p->package);
plugin->desc.origin = g_strdup(p->origin);
plugin->file_mtime = p->m32p;
plugin->file_size = p->size;
plugin->basename = g_path_get_basename (plugin->filename);
if (plugin->file_mtime < 0 || plugin->file_size < 0)
{
GST_ERROR("Plugin time or file size is not valid !");
g_free(plugin);
return -1;
}
if (p->nfeatures < 0)
{
GST_ERROR("The number of feature structure is not valid !");
gst_object_unref(plugin);
return -1;
}
for (feat = (GstBinaryPluginFeature *) (in + sizeof (GstBinaryPluginElement)), i = 0;
i < p->nfeatures; i++, feat++)
{
GstPluginFeature *gstfeat;
if ((gstfeat = gst_registry_binary_load_feature(feat)) == NULL)
{
g_list_free(plugin_features);
g_free(plugin);
GST_ERROR("Error while loading binary feature");
return -1;
}
gstfeat->plugin_name = g_strdup(plugin->desc.name);
plugin_features = g_list_prepend(plugin_features, gstfeat);
}
GST_DEBUG("Added plugin \"%s\" to global registry from binary registry", plugin->desc.name);
GList *g;
gst_registry_add_plugin (registry, plugin);
for (g = plugin_features; g; g = g_list_next (g))
gst_registry_add_feature (registry, GST_PLUGIN_FEATURE (g->data));
/* g_list_free(plugin_features); */
offset = sizeof (GstBinaryPluginElement) + p->nfeatures * sizeof (GstBinaryPluginFeature);
return offset;
}
/*
** Read the cache and adapt it to fill GstRegistry
*/
gboolean
gst_registry_binary_read_cache(GstRegistry *registry, const char *location)
{
GMappedFile *mapped = NULL;
GTimer *timer = NULL;
gchar *contents = NULL;
gdouble seconds;
unsigned long offset, inc;
gsize size;
/* make sure these types exist */
GST_TYPE_ELEMENT_FACTORY;
GST_TYPE_TYPE_FIND_FACTORY;
GST_TYPE_INDEX_FACTORY;
timer = g_timer_new ();
if ((mapped = g_mapped_file_new(location, FALSE, NULL)) == NULL ||
(contents = g_mapped_file_get_contents(mapped)) == NULL)
{
GST_ERROR("Can't load file : %s", strerror(errno));
return FALSE;
}
if ((contents = gst_registry_binary_check_magic(contents)) == NULL)
{
GST_ERROR("Binary registry type not recognized (invalid magic)");
g_mapped_file_free(mapped);
return FALSE;
}
if ((size = g_mapped_file_get_length(mapped)) < sizeof (GstBinaryPluginElement))
{
GST_INFO("No binary plugins structure to read");
return TRUE; /* This is not really an error */
}
for (offset = inc = 0; (offset + sizeof (GstBinaryPluginElement)) < size &&
(inc = gst_registry_binary_get_binary_plugin(registry, contents + offset)) > 0;
offset += inc)
; /* May want in the future to do something here */
if (inc < 0)
{
GST_DEBUG("Problem while reading binary registry");
return FALSE;
}
g_timer_stop (timer);
seconds = g_timer_elapsed (timer, NULL);
g_timer_destroy (timer);
GST_INFO ("loaded %s in %f seconds", location, seconds);
if (mapped)
g_mapped_file_free (mapped);
return TRUE;
}
@@ -0,0 +1,194 @@
/* GStreamer
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2000 Wim Taymans <wim.taymans@chello.be>
*
* gstregistry.h: Header for registry handling
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* SUGGESTIONS AND TODO :
** ====================
** - Use a compressed registry, but would induce performance loss
** - Encrypt the registry, for security purpose, but would also reduce performances
** - Also have a non-mmap based cache reading (work with file descriptors)
*/
#ifndef __GST_REGISTRYBINARY_H__
#define __GST_REGISTRYBINARY_H__
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <fcntl.h>
#include <sys/mman.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <gst/gst_private.h>
#include <gst/gstelement.h>
#include <gst/gsttypefind.h>
#include <gst/gsttypefindfactory.h>
#include <gst/gsturi.h>
#include <gst/gstinfo.h>
#include <gst/gstenumtypes.h>
#include <gst/gstregistry.h>
#include <gst/gstpadtemplate.h>
#include "glib-compat-private.h"
#include <glib/gstdio.h>
/* A magic, written at the beginning of the file */
#define GST_MAGIC_BINARY_REGISTRY_STR "\xc0\xde\xf0\x0d"
#define GST_MAGIC_BINARY_REGISTRY_LEN (4)
#define GST_MAGIC_BINARY_VERSION_LEN (64)
typedef struct _GstBinaryRegistryMagic
{
char magic[GST_MAGIC_BINARY_REGISTRY_LEN];
char version[GST_MAGIC_BINARY_VERSION_LEN];
} GstBinaryRegistryMagic;
/* Used to store pointers to write */
typedef struct _GstBinaryChunck
{
void *data;
unsigned int size;
} GstBinaryChunck;
/* A structure containing (staticely) every information needed for a plugin
**
** Notes :
** "nfeatures" is used to say how many GstBinaryPluginFeature structures we will have
** right after the structure itself.
*/
/* Various lenght defines for our GstBinaryPluginElement structure
** Note : We could eventually use smaller size
*/
#define GST_BINARY_REGISTRY_NAME_LEN (256)
#define GST_BINARY_REGISTRY_DESCRIPTION_LEN (1024)
#define GST_BINARY_REGISTRY_VERSION_LEN (64)
#define GST_BINARY_REGISTRY_LICENSE_LEN (256)
#define GST_BINARY_REGISTRY_SOURCE_LEN (256)
#define GST_BINARY_REGISTRY_PACKAGE_LEN (1024)
#define GST_BINARY_REGISTRY_ORIGIN_LEN (1024)
typedef struct _GstBinaryPluginElement
{
char name[GST_BINARY_REGISTRY_NAME_LEN];
char description[GST_BINARY_REGISTRY_DESCRIPTION_LEN];
char filename[_POSIX_PATH_MAX];
char version[GST_BINARY_REGISTRY_VERSION_LEN];
char license[GST_BINARY_REGISTRY_LICENSE_LEN];
char source[GST_BINARY_REGISTRY_SOURCE_LEN];
char package[GST_BINARY_REGISTRY_PACKAGE_LEN];
char origin[GST_BINARY_REGISTRY_ORIGIN_LEN];
unsigned long size;
unsigned long m32p;
unsigned int nfeatures;
} GstBinaryPluginElement;
/* A structure containing the plugin features
**
** Note :
** "npadtemplates" is used to store the number of GstBinaryPadTemplate structures following the structure itself.
** "ninterfaces" is used to store the number of GstBinaryInterface structures following the structure itself.
** "nuritypes" is used to store the number of GstBinaryUriType structures following the structure itself.
*/
#define GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN (256)
#define GST_BINARY_REGISTRY_TYPENAME_NAME_LEN (256)
#define GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN (1024)
#define GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN (512)
#define GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN (1024)
#define GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN (256)
typedef struct _GstBinaryPluginFeature
{
char typename[GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN];
char name[GST_BINARY_REGISTRY_TYPENAME_NAME_LEN];
unsigned long rank;
char longname[GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN];
char class[GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN];
char description[GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN];
char author[GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN];
unsigned int npadtemplates;
unsigned int ninterfaces;
unsigned int nuritypes;
} GstBinaryPluginFeature;
/*
** A structure containing the static pad templates of a plugin feature
*/
#define GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN (256)
#define GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN (1024)
typedef struct _GstBinaryPadTemplate
{
char name[GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN];
char cap[GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN];
int direction; /* Either 0:"sink" or 1:"src" */
GstPadPresence presence;
} GstBinaryPadTemplate;
/*
** A very simple structure defining the plugin feature interface string
*/
#define GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN (512)
typedef struct _GstBinaryInterface
{
char interface[GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN];
unsigned long size;
} GstBinaryInterface;
/* Uri Type */
typedef struct _GstBinaryUriType
{
GstURIType type;
unsigned long nuriprotocols;
} GstBinaryUriType;
/*
** Function prototypes
*/
/* Local prototypes */
inline static gboolean gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size);
inline static gboolean gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m);
static gboolean gst_registry_binary_fill_feature(GList **list, GstPluginFeature *, GstBinaryPluginFeature *, const char *);
static gboolean gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin);
static gchar *gst_registry_binary_check_magic(gchar *in);
static GstPluginFeature *gst_registry_binary_load_feature(GstBinaryPluginFeature *);
static unsigned long gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in);
/* Exportable */
gboolean gst_registry_binary_write_cache(GstRegistry *registry, const char *location);
gboolean gst_registry_binary_read_cache(GstRegistry *registry, const char *location);
#endif /* !__GST_REGISTRYBINARY_H__ */
@@ -0,0 +1,34 @@
SUMMARY = "GStreamer multimedia framework"
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4"
DEPENDS = "glib-2.0 libxml2 bison-native flex-native"
PR = "r1"
SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \
file://check_fix.patch \
file://gst-inspect-check-error.patch"
SRC_URI[md5sum] = "4a0a00edad7a2c83de5211ca679dfaf9"
SRC_URI[sha256sum] = "817bfea2cd46e2487b97e2ed9218f0299b32a3de1e5e80b4c7868d17e9089786"
inherit autotools pkgconfig gettext
EXTRA_OECONF = "--disable-docs-build --disable-dependency-tracking --with-check=no --disable-examples --disable-tests --disable-valgrind --disable-debug"
#do_compile_prepend () {
# mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
#}
RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
FILES_${PN}-dbg += " ${libdir}/gstreamer-0.10/.debug/ ${libexecdir}/gstreamer-0.10/.debug/"
@@ -0,0 +1,20 @@
Upstream-Status: Inappropriate [configuration]
# Acquired from OpenEmbedded
--- lame-3.96.1/configure.in~no-gtk1.patch 2004-07-25 15:52:12.000000000 +0100
+++ lame-3.96.1/configure.in 2004-09-10 15:54:39.000000000 +0100
@@ -363,7 +363,12 @@
dnl configure use of features
-AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
+#AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
+HAVE_GTK="no"
+GTK_CFLAGS=""
+GTK_LIBS=""
+AC_SUBST(GTK_CFLAGS)
+AC_SUBST(GTK_LIBS)
dnl ElectricFence malloc debugging
AC_MSG_CHECKING(use of ElectricFence malloc debugging)
@@ -0,0 +1,33 @@
DESCRIPTION = "LAME is an educational tool to be used for learning about MP3 encoding."
HOMEPAGE = "http://sourceforge.net/projects/lame/files/lame/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=290&atid=100290"
SECTION = "console/utils"
LICENSE = "LGPLv2+"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9 \
file://include/lame.h;beginline=1;endline=20;md5=a2258182c593c398d15a48262130a92b
PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/lame/lame-${PV}.tar.gz \
file://no-gtk1.patch"
SRC_URI[md5sum] = "5ad31e33e70455eb3a7b79a5dd934fce"
SRC_URI[sha256sum] = "d4ea3c8d00d2cc09338425a25dbfeb4d587942cb3c83a677c09aeb1e850c74cf"
inherit autotools
PACKAGES += "libmp3lame libmp3lame-dev"
FILES_${PN} = "${bindir}/lame"
FILES_libmp3lame = "${libdir}/libmp3lame.so.*"
FILES_libmp3lame-dev = "${includedir} ${libdir}/*"
FILES_${PN}-dev = ""
do_configure() {
# no autoreconf please
aclocal
autoconf
libtoolize --force
gnu-configize --force
oe_runconf
}
@@ -0,0 +1,89 @@
It makes much more sense to control our own CFLAGS and avoiding fPIC breaks
some arches too. Assume we know what we're doing and remove all the messing
around.
RP 23/2/10
Upstream-Status: Inappropriate [configuration]
Index: a52dec-0.7.4/configure.in
===================================================================
--- a52dec-0.7.4.orig/configure.in 2010-02-23 14:51:50.000000000 +0000
+++ a52dec-0.7.4/configure.in 2010-02-23 14:52:36.000000000 +0000
@@ -14,62 +14,6 @@
AC_PROG_CC
AC_PROG_GCC_TRADITIONAL
-if test x"$GCC" = x"yes"; then
-
- dnl GCC-specific flags - try to optimize them sometime
- dnl -Wall -Werror moved to the end to not disturb the configure script
-
- dnl -O3
- changequote(<<,>>)
- OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[0-9]*//g"`
- changequote([,])
- OPT_CFLAGS="$OPT_CFLAGS -O3"
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
-
- dnl -fomit-frame-pointer
- OPT_CFLAGS="$CFLAGS -fomit-frame-pointer"
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
-
- dnl arch-specific flags
- case "$host" in
- i?86-* | k?-*)
- case "$host" in
- i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
- i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
- i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
- i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
- k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";;
- esac
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
- sparc-* | sparc64-*)
- OPT_CFLAGS="$CFLAGS -mtune=ultrasparc"
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
- mips-sgi-irix6.*) dnl do we need to be that specific ?
- OPT_CFLAGS="$CFLAGS -mabi=64"
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
- esac
-elif test x"$CC" = x"tcc" -a x"`$CC -version 2>&1 | grep TenDRA`" != x""; then
- dnl TenDRA portability checking compiler
- TENDRA=yes
- CFLAGS="-Xp -Yansi -f`pwd`/include/tendra.h -DELIDE_CODE"
- enable_mlib=no
- enable_oss=no
- enable_solaris_audio=no
-elif test x"$CC" = x"icc" -a x"`$CC -V 2>&1 | grep Intel`" != x""; then
- dnl Intel C++ compiler
- CFLAGS="-g -O3 -unroll -ip"
-else
- dnl non-gcc flags - we probably need exact configuration triplets here.
- case "$host" in
- mips-sgi-irix6.*)
- OPT_CFLAGS="$CFLAGS -64"
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
- sparc-sun-solaris*)
- OPT_CFLAGS="$CFLAGS -xCC -fast -xO5"
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
- esac
-fi
-
dnl Checks for libtool - this must be done after we set cflags
AC_DISABLE_SHARED
AC_LIBTOOL_WIN32_DLL
Index: a52dec-0.7.4/liba52/configure.incl
===================================================================
--- a52dec-0.7.4.orig/liba52/configure.incl 2010-02-23 14:51:44.000000000 +0000
+++ a52dec-0.7.4/liba52/configure.incl 2010-02-23 14:51:59.000000000 +0000
@@ -1,9 +1,6 @@
AC_SUBST([LIBA52_CFLAGS])
AC_SUBST([LIBA52_LIBS])
-dnl avoid -fPIC when possible
-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
-
AC_ARG_ENABLE([double],
[ --enable-double use double-precision samples])
if test x"$enable_double" = x"yes"; then
@@ -0,0 +1,23 @@
DESCRIPTION = "Library for reading some sort of media format."
HOMEPAGE = "http://liba52.sourceforge.net/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://include/a52.h;beginline=1;endline=12;md5=81152ceb3562bf20a60d1b6018175dd1"
SECTION = "libs"
PR = "r4"
inherit autotools
SRC_URI = "http://liba52.sourceforge.net/files/a52dec-${PV}.tar.gz \
file://buildcleanup.patch"
SRC_URI[md5sum] = "caa9f5bc44232dc8aeea773fea56be80"
SRC_URI[sha256sum] = "a21d724ab3b3933330194353687df82c475b5dfb997513eef4c25de6c865ec33"
S = "${WORKDIR}/a52dec-${PV}"
EXTRA_OECONF = " --enable-shared "
PACKAGES =+ "a52dec a52dec-doc"
FILES_a52dec = " ${bindir}/* "
FILES_a52dec-doc = " ${mandir}/man1/* "
@@ -0,0 +1,43 @@
Upstream-Status: Inappropriate [configuration]
Index: libid3tag-0.15.1b/Makefile.am
===================================================================
--- libid3tag-0.15.1b.orig/Makefile.am 2009-07-29 09:29:20.000000000 +0100
+++ libid3tag-0.15.1b/Makefile.am 2009-07-29 09:29:47.000000000 +0100
@@ -27,6 +27,9 @@
lib_LTLIBRARIES = libid3tag.la
include_HEADERS = id3tag.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = id3tag.pc
+
## From the libtool documentation on library versioning:
##
## CURRENT
Index: libid3tag-0.15.1b/configure.ac
===================================================================
--- libid3tag-0.15.1b.orig/configure.ac 2009-07-29 09:27:15.000000000 +0100
+++ libid3tag-0.15.1b/configure.ac 2009-07-29 09:27:45.000000000 +0100
@@ -201,5 +201,5 @@
dnl AC_SUBST(LTLIBOBJS)
AC_CONFIG_FILES([Makefile msvc++/Makefile \
- libid3tag.list])
+ libid3tag.list id3tag.pc])
AC_OUTPUT
Index: libid3tag-0.15.1b/id3tag.pc.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ libid3tag-0.15.1b/id3tag.pc.in 2009-07-29 09:29:10.000000000 +0100
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: id3tag
+Description: ID3 tag reading library
+Requires:
+Version: @VERSION@
+Libs: -L${libdir} -lid3tag -lz
+Cflags: -I${includedir}
@@ -0,0 +1,22 @@
DESCRIPTION = "Library for interacting with ID3 tags."
HOMEPAGE = "http://sourceforge.net/projects/mad/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYRIGHT;md5=5e6279efb87c26c6e5e7a68317a6a87a \
file://version.h;beginline=1;endline=8;md5=86ac68b67f054b7afde9e149bbc3fe63"
SECTION = "libs"
DEPENDS = "zlib gperf-native"
PR = "r4"
SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libid3tag-${PV}.tar.gz \
file://addpkgconfig.patch"
SRC_URI[md5sum] = "e5808ad997ba32c498803822078748c3"
SRC_URI[sha256sum] = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151"
S = "${WORKDIR}/libid3tag-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF = "-enable-speed"
@@ -0,0 +1,70 @@
Here is a patch for adding pkg-config support to libmad.
It would make life a bit easier for distro maintainers if this was applied.
In case you didn't know, pkg-config is a tool for providing LDFLAGS and
CFLAGS for packages using shared libraries. It's on freedesktop.org.
Debian has already been distributing the pkg-config file mad.pc with
libmad for some time, and people developing on debian (notably xmms2
developers) have started relying on this support being present, causing
some confusion for people installing from source and on some BSDs which
do not provide mad.pc (google: pkgconfig libmad).
EMH
Upstream-Status: Inappropriate [configuration]
--h31gzZEtNLTqOjlF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=&quot;libmad-0.15.1b-pkgconfig.patch&quot;
diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac
--- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100
+++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200
@@ -429,5 +429,5 @@
dnl AC_SUBST(LTLIBOBJS)
AC_CONFIG_FILES([Makefile msvc++/Makefile \
- libmad.list])
+ libmad.list mad.pc])
AC_OUTPUT
diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in
--- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100
+++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200
@@ -0,0 +1,14 @@
+# libmad pkg-config source file
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: mad
+Description: MPEG Audio Decoder
+Version: @VERSION@
+Requires:
+Conflicts:
+Libs: -L${libdir} -lmad -lm
+Cflags: -I${includedir}
diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am
--- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100
+++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200
@@ -24,6 +24,9 @@
SUBDIRS =
DIST_SUBDIRS = msvc++
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = mad.pc
+
lib_LTLIBRARIES = libmad.la
include_HEADERS = mad.h
@@ -34,7 +37,8 @@
minimad_LDADD = libmad.la
EXTRA_DIST = mad.h.sed \
- CHANGES COPYRIGHT CREDITS README TODO VERSION
+ CHANGES COPYRIGHT CREDITS README TODO VERSION \
+ mad.pc.in
exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \
synth.h decoder.h
@@ -0,0 +1,33 @@
gcc 4.4 did this: The MIPS port no longer recognizes the h asm constraint. It was necessary to remove this constraint in order to avoid generating unpredictable code sequences.
so the libmad build with gcc-4.5.0 was failing.
Found a solution here:
http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html
Upstream-Status: Pending
2010/07/29
Nitin A Kamble <nitin.a.kamble@intel.com>
Index: libmad-0.15.1b/fixed.h
===================================================================
--- libmad-0.15.1b.orig/fixed.h
+++ libmad-0.15.1b/fixed.h
@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
/* --- MIPS ---------------------------------------------------------------- */
+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
+# define MAD_F_MLX(hi, lo, x, y) \
+ do { \
+ u64_di_t __ll = (u64_di_t) (x) * (y); \
+ hi = __ll >> 32; \
+ lo = __ll; \
+ } while (0)
+
# elif defined(FPM_MIPS)
/*
@@ -0,0 +1,18 @@
This option no longer exists in gcc 3.4.1
RP - 18/07/2008
Upstream-Status: Inappropriate [configuration]
Index: libmad-0.15.1b/configure.ac
===================================================================
--- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100
+++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100
@@ -140,7 +140,6 @@
case "$optimize" in
-O|"-O "*)
optimize="-O"
- optimize="$optimize -fforce-mem"
optimize="$optimize -fforce-addr"
: #x optimize="$optimize -finline-functions"
: #- optimize="$optimize -fstrength-reduce"
@@ -0,0 +1,35 @@
DESCRIPTION = "MPEG Audio Decoder Library"
HOMEPAGE = "http://sourceforge.net/projects/mad/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
LICENSE = "GPLv2+"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
SECTION = "libs"
DEPENDS = "libid3tag"
PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libmad-${PV}.tar.gz \
file://no-force-mem.patch \
file://add-pkgconfig.patch \
file://fix_for_mips_with_gcc-4.5.0.patch"
SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c"
SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
S = "${WORKDIR}/libmad-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF = "-enable-speed --enable-shared"
# The ASO's don't take any account of thumb...
EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default"
EXTRA_OECONF_append_arm = " --enable-fpm=arm"
do_configure_prepend () {
# damn picky automake...
touch NEWS AUTHORS ChangeLog
}
ARM_INSTRUCTION_SET = "arm"
@@ -0,0 +1,19 @@
SUMMARY = "Ogg bitstream and framing libary"
DESCRIPTION = "libogg is the bitstream and framing library \
for the Ogg project. It provides functions which are \
necessary to codec libraries like libvorbis."
HOMEPAGE = "http://xiph.org/"
BUGTRACKER = "https://trac.xiph.org/newticket"
SECTION = "libs"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b"
PR = "r0"
SRC_URI = "http://downloads.xiph.org/releases/ogg/libogg-${PV}.tar.gz"
SRC_URI[md5sum] = "0a7eb40b86ac050db3a789ab65fe21c2"
SRC_URI[sha256sum] = "a8de807631014615549d2356fd36641833b8288221cea214f8a72750efe93780"
inherit autotools pkgconfig
@@ -0,0 +1,58 @@
To enable --disable-Werror for libomxil to avoid some compilers which check code strictly.
For example, at least the following errors happened to some compilers:
1) OMX_INDEXTYPE in include/OMX_Index.h IS NOT OMX_INDEXVENDORTYPE in src/base/omx_base_component.h
| i586-poky-linux-libtool: compile: i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto-build5/poky/build/tmp/sysroots/qemux86 -DHAVE_Climinate-unused-debug-types -Wall -Werror -DCONFIG_DEBUG_LEVEL=0 -c OMXComponentRMExt.c -fPIC -DPIC -o .libs/libomxbase_la-OMXComponentRMExt.o
| omx_base_component.c: In function 'omx_base_component_GetParameter':
| omx_base_component.c:991:3: error: case value '2130706435' not in enumerated type 'OMX_INDEXTYPE' [-Werror=switch]
| omx_base_component.c:918:3: error: case value '2130706436' not in enumerated type 'OMX_INDEXTYPE' [-Werror=switch]
2)
| i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto-build5/poky/build/tmp/sysroots/qemux86 -DHAVE_CONFIG_H -I. -I.. -DOMXILCOMPOminate-unused-debug-types -Wall -Werror -DCONFIG_DEBUG_LEVEL=0 -c -o omxregister_bellagio-omxregister.o `test -f 'omxregister.c' || echo './'`o
| omxregister.c: In function 'buildComponentsList':
| omxregister.c:175:7: error: variable 'err' set but not used [-Werror=unused-but-set-variable]
| cc1: all warnings being treated as errors
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Shane Wang <shane.wang@intel.com>
diff -r 82d742d3ea90 configure.ac
--- a/configure.ac Tue Dec 27 15:30:35 2011 +0800
+++ b/configure.ac Tue Dec 27 16:26:03 2011 +0800
@@ -5,7 +5,7 @@
AC_PREREQ([2.59])
AC_CONFIG_HEADERS([config.h])
-CFLAGS="${CFLAGS} -Wall -Werror"
+CFLAGS="${CFLAGS} -Wall"
################################################################################
# Set the shared versioning info, according to section 6.3 of the libtool info #
@@ -122,6 +122,14 @@
[with_android=$enableval],
[with_android=no])
+AC_ARG_ENABLE(
+ [Werror],
+ [AC_HELP_STRING(
+ [--disable-Werror],
+ [whether to diable treating gcc warnings as errors])],
+ [with_Werror=$enableval],
+ [with_Werror=yes])
+
################################################################################
# Check for programs #
################################################################################
@@ -193,6 +201,10 @@
CFG_DEBUG_LEVEL=255
fi
+if test "x$with_Werror" = "xyes"; then
+ CFLAGS="${CFLAGS} -Werror"
+fi
+
AC_SUBST(CFG_DEBUG_LEVEL)
CFLAGS="${CFLAGS} -DCONFIG_DEBUG_LEVEL=$CFG_DEBUG_LEVEL"
@@ -0,0 +1,19 @@
This patch is to remove DESTDIR in docdir.
Otherwise, when users install by running `make install DESTDIR=/alternate/directory' specified in the file INSTALL, the doc will go into /alternate/directory/alternate/directory, which is not expected.
Upstream-Status: Pending
Signed-off-by: Shane Wang <shane.wang@intel.com>
diff -r 30b597e4e70d Makefile.am
--- a/Makefile.am Wed Dec 28 15:38:35 2011 +0800
+++ b/Makefile.am Wed Dec 28 15:39:25 2011 +0800
@@ -7,7 +7,7 @@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libomxil-bellagio.pc
-docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@
+docdir = $(prefix)/share/doc/@PACKAGE@
doc_DATA = README \
ChangeLog \
TODO
@@ -0,0 +1,18 @@
This patch is to make libomxil Makefile support "make -jN".
The omxregister_bellagio stuffs depend on libomxil_bellagio library.
Upstream-Status: Pending
Signed-off-by: Shane Wang <shane.wang@intel.com>
diff -r f59d077d3dd5 Makefile.am
--- a/src/Makefile.am Wed Dec 28 10:54:36 2011 +0800
+++ b/src/Makefile.am Wed Dec 28 10:55:46 2011 +0800
@@ -7,6 +7,7 @@
omxregister_bellagio_SOURCES = omxregister.c common.c common.h
omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \
-I$(top_srcdir)/include
+omxregister_bellagio_LDADD = $(lib_LTLIBRARIES)
omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir)
lib_LTLIBRARIES = libomxil-bellagio.la
@@ -0,0 +1,34 @@
DESCRIPTION = "Bellagio OpenMAX Integration Layer"
HOMEPAGE = "http://omxil.sourceforge.net/"
LICENSE = "LGPLv2.1+"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=ae6f0f4dbc7ac193b50f323a6ae191cb \
file://src/omxcore.h;beginline=1;endline=27;md5=806b1e5566c06486fe8e42b461e03a90"
DEPENDS = "libvorbis libogg alsa-lib libmad"
PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/omxil/libomxil-bellagio-${PV}.tar.gz \
file://configure-fix.patch \
file://parallel-make.patch \
file://makefile-docdir-fix.patch"
SRC_URI[md5sum] = "a1de827fdb75c02c84e55f740ca27cb8"
SRC_URI[sha256sum] = "593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c"
S = "${WORKDIR}/${BPN}-bellagio-${PV}"
inherit autotools
EXTRA_OECONF += "--disable-ffmpegcomponents --disable-Werror"
FILES_${PN} += "${libdir}/bellagio/*${SOLIBS} \
${libdir}/omxloaders/*${SOLIBS}"
FILES_${PN}-staticdev += "${libdir}/bellagio/*.a \
${libdir}/omxloaders/*.a"
FILES_${PN}-dev += "${libdir}/bellagio/*.la \
${libdir}/bellagio/*${SOLIBSDEV} \
${libdir}/omxloaders/*.la \
${libdir}/omxloaders/*${SOLIBSDEV}"
FILES_${PN}-dbg += "${libdir}/bellagio/.debug/ \
${libdir}/omxloaders/.debug/"
@@ -0,0 +1,25 @@
SUMMARY = "PNG Library"
DESCRIPTION = "PNG Library"
HOMEPAGE = "http://www.libpng.org/"
SECTION = "libs"
LICENSE = "Libpng"
LIC_FILES_CHKSUM = "file://LICENSE;md5=21b4b6e3523afa9f03f00b43b991dad0 \
file://png.h;startline=172;endline=261;md5=996460063a9bf2de35b2d61d2776dabc"
DEPENDS = "zlib"
PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/libpng/libpng12/${PV}/libpng-${PV}.tar.bz2"
SRC_URI[md5sum] = "e8b43dc78ef95b3949af7f961d76874b"
SRC_URI[sha256sum] = "a5e796e1802b2e221498bda09ff9850bc7ec9068b6788948cc2c42af213914d8"
inherit autotools binconfig pkgconfig
PACKAGES =+ "${PN}12"
FILES_${PN}12 = "${libdir}/libpng12${SOLIBS}"
FILES_${PN} = "${libdir}/lib*${SOLIBS}"
FILES_${PN}-dev += " ${bindir} ${sbindir}"
RPROVIDES_${PN}-dev += "${PN}12-dev"
BBCLASSEXTEND = "native"
@@ -0,0 +1,15 @@
DESCRIPTION = "An audio Sample Rate Conversion library"
SECTION = "libs"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://src/samplerate.c;beginline=1;endline=17;md5=d0807c35fc906466d24a50463534815a"
DEPENDS = "flac"
PR = "r0"
SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz"
SRC_URI[md5sum] = "1c7fb25191b4e6e3628d198a66a84f47"
SRC_URI[sha256sum] = "93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06"
S = "${WORKDIR}/libsamplerate-${PV}"
inherit autotools pkgconfig
@@ -0,0 +1,27 @@
DESCRIPTION = "An audio format Conversion library"
HOMEPAGE = "http://www.mega-nerd.com/libsndfile"
AUTHOR = "Erik de Castro Lopo"
DEPENDS = "sqlite3"
SECTION = "libs/multimedia"
LICENSE = "LGPLv2.1"
PR = "r0"
SRC_URI = "http://www.mega-nerd.com/libsndfile/files/libsndfile-${PV}.tar.gz"
SRC_URI[md5sum] = "e2b7bb637e01022c7d20f95f9c3990a2"
SRC_URI[sha256sum] = "59016dbd326abe7e2366ded5c344c853829bebfd1702ef26a07ef662d6aa4882"
LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a"
S = "${WORKDIR}/libsndfile-${PV}"
EXTRA_OECONF = "--disable-external-libs"
inherit autotools lib_package pkgconfig
do_configure_prepend_arm() {
export ac_cv_sys_largefile_source=1
export ac_cv_sys_file_offset_bits=64
ac_cv_sizeof_off_t=8
}
@@ -0,0 +1,15 @@
Upstream-Status: Inappropriate [configuration]
Index: libtheora-1.1.1/Makefile.am
===================================================================
--- libtheora-1.1.1.orig/Makefile.am 2009-11-25 22:01:53.593775926 +0100
+++ libtheora-1.1.1/Makefile.am 2009-11-25 22:02:00.777524017 +0100
@@ -8,7 +8,7 @@
EXAMPLES_DIR =
endif
-SUBDIRS = lib include doc tests m4 $(EXAMPLES_DIR)
+SUBDIRS = lib include tests m4 $(EXAMPLES_DIR)
# we include the whole debian/ dir in EXTRA_DIST because there's a problem
@@ -0,0 +1,20 @@
SUMMARY = "Theora Video Codec"
DESCRIPTION = "The libtheora reference implementation provides the standard encoder and decoder under a BSD license."
HOMEPAGE = "http://xiph.org/"
BUGTRACKER = "https://trac.xiph.org/newticket"
SECTION = "libs"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=cf91718f59eb6a83d06dc7bcaf411132"
DEPENDS = "libogg"
PR = "r1"
SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \
file://no-docs.patch"
SRC_URI[md5sum] = "292ab65cedd5021d6b7ddd117e07cd8e"
SRC_URI[sha256sum] = "b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc"
inherit autotools pkgconfig
EXTRA_OECONF = "--disable-examples"
@@ -0,0 +1,19 @@
Upstream-Status: Inappropriate [configuration]
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: tiff-3.9.5/configure.ac
===================================================================
--- tiff-3.9.5.orig/configure.ac
+++ tiff-3.9.5/configure.ac
@@ -27,7 +27,7 @@ dnl Process this file with autoconf to p
AC_PREREQ(2.64)
AC_INIT([LibTIFF Software],[3.9.5],[tiff@lists.maptools.org],[tiff])
AC_CONFIG_AUX_DIR(config)
-AC_CONFIG_MACRO_DIR(m4)
+dnl AC_CONFIG_MACRO_DIR(m4)
AC_LANG(C)
dnl Compute the canonical host (run-time) system type variable
@@ -0,0 +1,22 @@
DESCRIPTION = "This software provides support for the Tag Image File Format (TIFF)"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
HOMEPAGE = "http://www.remotesensing.org/libtiff/"
DEPENDS = "zlib jpeg lzo"
PR = "r2"
SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \
file://libtool2.patch"
SRC_URI[md5sum] = "8fc7ce3b4e1d0cc8a319336967815084"
SRC_URI[sha256sum] = "ecf2e30582698dbc61d269203bbd1e701a1a50fb26c87d709e10d89669badb33"
inherit autotools
PACKAGES =+ "tiffxx tiffxx-dbg tiffxx-dev tiffxx-staticdev tiff-utils tiff-utils-dbg"
FILES_tiffxx = "${libdir}/libtiffxx.so.*"
FILES_tiffxx-dev = "${libdir}/libtiffxx.so ${libdir}/libtiffxx.la"
FILES_tiffxx-staticdev = "${libdir}/libtiffxx.a"
FILES_tiffxx-dbg += "${libdir}/.debug/libtiffxx.so*"
FILES_tiff-utils = "${bindir}/*"
FILES_tiff-utils-dbg += "${bindir}/.debug/"
@@ -0,0 +1,27 @@
SUMMARY = "Ogg Vorbis Audio Codec"
DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \
that is free of intellectual property restrictions. libvorbis \
is the main vorbis codec library."
HOMEPAGE = "http://xiph.org/"
BUGTRACKER = "https://trac.xiph.org/newticket"
SECTION = "libs"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=ca77c6c3ea4d29cb68dce8ef5ab0d897 \
file://include/vorbis/vorbisenc.h;beginline=1;endline=11;md5=d1c1d138863d6315131193d4046d81cb"
DEPENDS = "libogg"
PR = "r0"
SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz"
SRC_URI[md5sum] = "c870b9bd5858a0ecb5275c14486d9554"
SRC_URI[sha256sum] = "eeb4dcada143846dfba760d982954a02f82e08845cbc33871f5dac547b8b6124"
inherit autotools pkgconfig
# vorbisfile.c reveals a problem in the gcc register spilling for the
# thumb instruction set...
FULL_OPTIMIZATION_thumb = "-O0"
EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \
--with-ogg-includes=${STAGING_INCDIR}"
@@ -0,0 +1,43 @@
Add new method to judge whether <altivec.h> is needed
The original logic will use "typedef vector int t;" to judge
whether <altivec.h> is needed. altivec.h contains the following
statement:
#if !defined(__APPLE_ALTIVEC__)
#define vector __vector
#define pixel __pixel
#define bool
#endif
In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither
as vector, pixel, and bool. In order to make "typedef vector int t;"
pass the compilation, we need to include altivec.h.
However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler,
so as vector, pixel, and bool. We could not judge whether
altivec.h is needed by "typedef vector int t;".
Here we include another statement "int tmp = __CR6_EQ;", in
which __CR6_EQ is defined in altivec.h.
Upstream-Status: Pending
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
diff -ruN mpeg2dec-0.4.1-orig/configure.in mpeg2dec-0.4.1/configure.in
--- mpeg2dec-0.4.1-orig/configure.in 2010-09-14 20:55:42.399687663 +0800
+++ mpeg2dec-0.4.1/configure.in 2010-09-14 20:56:43.403204648 +0800
@@ -75,11 +75,11 @@
CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS"
AC_MSG_CHECKING([if <altivec.h> is needed])
AC_TRY_COMPILE([],
- [typedef vector int t;
+ [typedef vector int t; int tmp = __CR6_EQ;
vec_ld(0, (unsigned char *)0);],
[have_altivec=yes; AC_MSG_RESULT(no)],
[AC_TRY_COMPILE([#include <altivec.h>],
- [typedef vector int t; vec_ld(0, (unsigned char *)0);],
+ [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);],
[AC_DEFINE([HAVE_ALTIVEC_H],,
[Define to 1 if you have the <altivec.h> header.])
have_altivec=yes; AC_MSG_RESULT(yes)],
@@ -0,0 +1,37 @@
DESCRIPTION = "Library and test program for decoding mpeg-2 and mpeg-1 video streams"
HOMEPAGE = "http://libmpeg2.sourceforge.net/"
SECTION = "libs"
LICENSE = "GPLv2+"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://include/mpeg2.h;beginline=1;endline=22;md5=ead62602d4638329d3b5b86a55803154"
DEPENDS = "virtual/libx11"
PR = "r2"
SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz \
file://altivec_h_needed.patch"
SRC_URI[md5sum] = "7631b0a4bcfdd0d78c0bb0083080b0dc"
SRC_URI[sha256sum] = "c74a76068f8ec36d4bb59a03bf1157be44118ca02252180e8b358b0b5e3edeee"
inherit autotools pkgconfig
EXTRA_OECONF = "--enable-shared --disable-sdl --with-x"
PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev"
FILES_${PN} = "${bindir}/*"
FILES_libmpeg2 = "${libdir}/libmpeg2.so.*"
FILES_libmpeg2convert = "${libdir}/libmpeg2convert.so.*"
FILES_libmpeg2-dev = "${libdir}/libmpeg2.so \
${libdir}/libmpeg2.la \
${libdir}/pkgconfig/libmpeg2.pc \
${includedir}/mpeg2dec/mpeg2.h"
FILES_libmpeg2-staticdev = "${libdir}/libmpeg2.a"
FILES_libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \
${libdir}/libmpeg2convert.la \
${libdir}/pkgconfig/libmpeg2convert.pc \
${includedir}/mpeg2dec/mpeg2convert.h"
FILES_libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a"
@@ -0,0 +1,21 @@
Allow LIB_INSTALL_DIR to be set by the the cmake configure invocation. We dont
easily have a way of determining something that patches ${LIB_SUFFIX} so we'll
set LIB_INSTALL_DIR.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Index: libmusicbrainz-3.0.3/CMakeLists.txt
===================================================================
--- libmusicbrainz-3.0.3.orig/CMakeLists.txt
+++ libmusicbrainz-3.0.3/CMakeLists.txt
@@ -26,7 +26,7 @@ FIND_PACKAGE(DiscId)
SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
-SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE)
+SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries")
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz3.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz3.pc)
@@ -0,0 +1,39 @@
GCC 4.4 cleaned up some more C++ headers. You always have to #include
headers directly and cannot rely for things to be included indirectly.
Otherwise you get errors like this:
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp: In function 'std::string MusicBrainz::intToString(int)':
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:38:23: error: 'sprintf' was not declared in this scope
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp: In function 'void MusicBrainz::debug(const char*, ...)':
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:80:10: error: 'stderr' was not declared in this scope
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:80:33: error: 'fprintf' was not declared in this scope
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:81:26: error: 'vfprintf' was not declared in this scope
| make[2]: *** [src/CMakeFiles/musicbrainz3.dir/utils_private.o] Error 1
| make[2]: *** Waiting for unfinished jobs....
| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/xmlParser/xmlParser.cpp:116:1: warning: 'typedef' was ignored in this declaration
| make[1]: *** [src/CMakeFiles/musicbrainz3.dir/all] Error 2
| make: *** [all] Error 2
| FATAL: oe_runmake failed
NOTE: package libmusicbrainz-3.0.2-r0: task do_compile: Failed
Found the solution here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504895
Date: 2010/07/28
Nitin A Kamble <nitin.a.kamble@intel.com>
Upstream-Status: Inappropriate [debian patch]
Index: libmusicbrainz-3.0.2/src/utils_private.cpp
===================================================================
--- libmusicbrainz-3.0.2.orig/src/utils_private.cpp
+++ libmusicbrainz-3.0.2/src/utils_private.cpp
@@ -20,6 +20,7 @@
* $Id: utils_private.cpp 9934 2008-07-02 06:57:10Z luks $
*/
+#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cstdarg>
@@ -0,0 +1,20 @@
SUMMARY = "MusicBrainz Client"
DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server."
HOMEPAGE = "http://musicbrainz.org"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \
file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=9ab2846573f560cea7561da472803a72"
DEPENDS = "expat neon"
PR = "r3"
SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${BPN}-${PV}.tar.gz \
file://fix_build_issue_for_gcc_4.5.0.patch \
file://allow-libdir-override.patch "
SRC_URI[md5sum] = "f4824d0a75bdeeef1e45cc88de7bb58a"
SRC_URI[sha256sum] = "7fd459a9fd05be9faec60a9a21caa9a1e9fda03147d58d8c7c95f33582a738c5"
inherit cmake pkgconfig
EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir}"
@@ -0,0 +1,27 @@
Upstream-Status: Inappropriate [configuration]
Double path references breaks recent autoconf+automake
RP 2/1/10
Index: libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am
===================================================================
--- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/Makefile.am 2005-09-28 00:53:16.000000000 +0100
+++ libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am 2010-02-01 14:28:46.397820574 +0000
@@ -25,7 +25,6 @@
README \
\
gcc/alpha.h gcc/arm.h gcc/x86.h \
- gcc/hppa.h gcc/ia64.h \
gcc/powerpc.h gcc/sparc.h \
gcc/hppa.h gcc/m68k.h gcc/s390.h \
gcc/ia64.h gcc/x86_64.h gcc/cris.h \
Index: libatomic_ops-1.2/doc/Makefile.am
===================================================================
--- libatomic_ops-1.2.orig/doc/Makefile.am 2010-02-01 15:20:09.207788884 +0000
+++ libatomic_ops-1.2/doc/Makefile.am 2010-02-01 15:20:20.909049794 +0000
@@ -1,3 +1,3 @@
# installed documentation
#
-dist_pkgdata_DATA=COPYING LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt
+dist_pkgdata_DATA=LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt
@@ -0,0 +1,20 @@
Upstream-Status: Inappropriate [others]
The patch is imported from fedora project, and is not appropriate for us
to upstream it.
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"
@@ -0,0 +1,129 @@
Upstream-Status: Inappropriate [others]
Patch from gentoo which is not appropriate for us to upstream.
# Patch copied from the OpenEmbedded libatomics-ops recipe. Original
# source was from Gentoo.
#
# Signed-off-by: Scott Garman <scott.a.garman@intel.com>
diff --git a/src/atomic_ops.h b/src/atomic_ops.h
index c23f30b..791b360 100755
--- a/src/atomic_ops.h
+++ b/src/atomic_ops.h
@@ -220,6 +220,9 @@
# if defined(__cris__) || defined(CRIS)
# include "atomic_ops/sysdeps/gcc/cris.h"
# endif
+# if defined(__mips__)
+# include "atomic_ops/sysdeps/gcc/mips.h"
+# endif
#endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */
#if defined(__INTEL_COMPILER) && !defined(AO_USE_PTHREAD_DEFS)
diff --git a/src/atomic_ops/sysdeps/Makefile.am b/src/atomic_ops/sysdeps/Makefile.am
index 74122b4..d6737c0 100644
--- a/src/atomic_ops/sysdeps/Makefile.am
+++ b/src/atomic_ops/sysdeps/Makefile.am
@@ -29,6 +29,7 @@ nobase_sysdep_HEADERS= generic_pthread.h \
gcc/powerpc.h gcc/sparc.h \
gcc/hppa.h gcc/m68k.h gcc/s390.h \
gcc/ia64.h gcc/x86_64.h gcc/cris.h \
+ gcc/mips.h \
\
icc/ia64.h \
\
diff --git a/src/atomic_ops/sysdeps/gcc/mips.h b/src/atomic_ops/sysdeps/gcc/mips.h
new file mode 100644
index 0000000..e7f3a5d
--- /dev/null
+++ b/src/atomic_ops/sysdeps/gcc/mips.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2005 Thiemo Seufer <ths@networkno.de>
+ * Copyright (c) 2007 Zhang Le <r0bertz@gentoo.org>
+ *
+ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+ * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+ *
+ * Permission is hereby granted to use or copy this program
+ * for any purpose, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+ */
+
+#include "../all_aligned_atomic_load_store.h"
+#include "../test_and_set_t_is_ao_t.h"
+
+/* Data dependence does not imply read ordering. */
+#define AO_NO_DD_ORDERING
+
+AO_INLINE void
+AO_nop_full()
+{
+ __asm__ __volatile__(
+ " .set push \n"
+ " .set mips3 \n"
+ " .set noreorder \n"
+ " .set nomacro \n"
+ " sync \n"
+ " .set pop "
+ : : : "memory");
+}
+
+#define AO_HAVE_nop_full
+
+AO_INLINE int
+AO_compare_and_swap(volatile AO_t *addr, AO_t old, AO_t new_val)
+{
+ register int was_equal = 0;
+ register int temp;
+
+ __asm__ __volatile__(
+ " .set push \n"
+ " .set mips3 \n"
+ " .set noreorder \n"
+ " .set nomacro \n"
+ "1: ll %0, %1 \n"
+ " bne %0, %4, 2f \n"
+ " move %0, %3 \n"
+ " sc %0, %1 \n"
+ " .set pop \n"
+ " beqz %0, 1b \n"
+ " li %2, 1 \n"
+ "2: "
+ : "=&r" (temp), "+R" (*addr), "+r" (was_equal)
+ : "r" (new_val), "r" (old)
+ : "memory");
+ return was_equal;
+}
+
+#define AO_HAVE_compare_and_swap
+
+AO_INLINE AO_t
+AO_fetch_and_add_full (volatile AO_t *p, AO_t incr)
+{
+ AO_t result, temp;
+ __asm__ __volatile__(
+ " .set push \n"
+ " .set mips3 \n"
+ " .set noreorder \n"
+ " .set nomacro \n"
+ "1: ll %1, %2 \n"
+ " addu %0, %1, %3 \n"
+ " sc %0, %2 \n"
+ " beqz %0, 1b \n"
+ " addu %0, %1, %3 \n"
+ " sync \n"
+ " .set pop \n"
+ : "=&r" (result), "=&r" (temp), "=m" (*p)
+ : "r" (incr), "m" (*p)
+ : "memory");
+ return result;
+}
+
+#define AO_HAVE_fetch_and_add_full
+
+/*
+ * FIXME: fetch_and_add_full implemented, any others?
+ */
@@ -0,0 +1,41 @@
Upstream-Status: Pending
Remove the `q' suffix on x86-64 atomic instructions.
We don't need the `q' suffix on x86_64 atomic instructions for AO_t,
which is defined as "unsigned long". "unsigned long" is 32bit for x32
and 64bit for x86-64. The register operand in x86-64 atomic instructions
is sufficient to properly determine the register size.
Received this patch from H.J. Lu <hjl.tools@gmail.com>
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/02
--- libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h.x32 2005-09-28 17:16:38.000000000 -0700
+++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h 2011-12-02 09:29:54.265251875 -0800
@@ -60,7 +60,7 @@ AO_fetch_and_add_full (volatile AO_t *p,
{
AO_t result;
- __asm__ __volatile__ ("lock; xaddq %0, %1" :
+ __asm__ __volatile__ ("lock; xadd %0, %1" :
"=r" (result), "=m" (*p) : "0" (incr), "m" (*p)
: "memory");
return result;
@@ -111,7 +111,7 @@ AO_int_fetch_and_add_full (volatile unsi
AO_INLINE void
AO_or_full (volatile AO_t *p, AO_t incr)
{
- __asm__ __volatile__ ("lock; orq %1, %0" :
+ __asm__ __volatile__ ("lock; or %1, %0" :
"=m" (*p) : "r" (incr), "m" (*p) : "memory");
}
@@ -136,7 +136,7 @@ AO_compare_and_swap_full(volatile AO_t *
AO_t old, AO_t new_val)
{
char result;
- __asm__ __volatile__("lock; cmpxchgq %3, %0; setz %1"
+ __asm__ __volatile__("lock; cmpxchg %3, %0; setz %1"
: "=m"(*addr), "=q"(result)
: "m"(*addr), "r" (new_val), "a"(old) : "memory");
return (int) result;
@@ -0,0 +1,32 @@
SUMMARY = "A library for atomic integer operations"
DESCRIPTION = "A library for atomic integer operations"
HOMEPAGE = "http://www.hpl.hp.com/research/linux/atomic_ops/"
SECTION = "optional"
LICENSE = "GPLv2 & MIT"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://doc/LICENSING.txt;md5=607073e04548eac7d1f763e480477bab \
"
PR = "r9"
SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-${PV}.tar.gz \
file://fedora/libatomic_ops-1.2-ppclwzfix.patch \
file://gentoo/libatomic_ops-1.2-mips.patch \
file://doublefix.patch \
file://libatomics-ops_fix_for_x32.patch"
SRC_URI[md5sum] = "1b65e48271c81e3fa2d7a9a69bab7504"
SRC_URI[sha256sum] = "a3d8768aa8fd2f6ae79be2d756b3a6b48816b3889ae906be3d5ffb2de5a5c781"
S = "${WORKDIR}/libatomic_ops-${PV}"
ALLOW_EMPTY_${PN} = "1"
ARM_INSTRUCTION_SET = "arm"
inherit autotools pkgconfig
do_install_append() {
# those contain only docs, not necessary for now.
install -m 0755 -d ${D}${docdir}
mv ${D}${datadir}/libatomic_ops ${D}${docdir}/${PN}
}
@@ -0,0 +1,32 @@
SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
DEPENDS = "gtk+ pulseaudio alsa-lib libtool libvorbis"
PR = "r1"
inherit gconf autotools
SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz"
SRC_URI[md5sum] = "c198b4811598c4c161ff505e4531b02c"
SRC_URI[sha256sum] = "eb1f8b2cabad7f07b6e44d606a91d73e1efca4b46daf92bd553e7222bc68868c"
EXTRA_OECONF = " --disable-oss --disable-ltdl-install"
do_configure_prepend () {
rm -f ${S}/libltdl/configure*
}
PACKAGES += "${PN}-gnome"
FILES_${PN} += "${libdir}/gtk-2.0/modules/ ${datadir}/gnome"
FILES_${PN}-gnome += "${datadir}/gdm/autostart/LoginWindow/libcanberra-ready-sound.desktop \
${libdir}/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk-module.desktop"
FILES_${PN}-dev += "${libdir}/libcanberra-0.28/libcanberra-*.so \
${libdir}/libcanberra-0.28/libcanberra-*.la \
${datadir}/vala/vapi"
FILES_${PN}-dbg += "${libdir}/gtk-2.0/modules/.debug ${libdir}/libcanberra-0.28/.debug"
@@ -0,0 +1,136 @@
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 = "GPLv2+ & LGPLv2.1"
LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \
file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://src/modules/bluetooth/proximity-helper.c;beginline=1;endline=25;md5=e4cc710e40a4d900c2c294167bc58270 \
file://src/pulsecore/vector.h;beginline=1;endline=21;md5=1b561f0a2ca47b1fa49862a6ccaacff1"
DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 gtk+', '', d)}"
# optional
DEPENDS += "udev alsa-lib glib-2.0 dbus consolekit \
${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez4', '', d)}"
SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz \
file://gcc4-compile-fix.patch \
file://volatiles.04_pulse"
inherit autotools pkgconfig useradd
EXTRA_OECONF = "\
--disable-lynx \
${@base_contains('DISTRO_FEATURES', 'bluetooth', '--enable-bluez', '--disable-bluez', d)} \
--disable-polkit \
${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)} \
--without-jack \
--with-glib \
--with-alsa \
--with-oss \
--without-hal \
--disable-hal \
--with-access-group=audio \
"
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_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
}
USERADD_PACKAGES = "pulseaudio-server"
GROUPADD_PARAM_pulseaudio-server = "pulse"
USERADD_PARAM_pulseaudio-server = "--system --home /var/run/pulse \
--no-create-home --shell /bin/false \
--groups audio,pulse --gid pulse pulse"
PACKAGES =+ "libpulsecore libpulsecommon libpulsedsp 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_libpulsecommon = "${libdir}/libpulsecommon*.so"
FILES_libpulsedsp = "${libdir}/libpulsedsp*.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-${PV}/modules/.debug"
FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake"
FILES_${PN}-conf = "${sysconfdir}"
FILES_${PN}-bin = "${bindir}/* \
${sysconfdir}/default/volatiles/volatiles.04_pulse"
FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl ${base_libdir}/udev/rules.d/*.rules"
FILES_${PN}-gconf-helper = "${libexecdir}/pulse/gconf-helper"
FILES_${PN}-misc = "${bindir}/*"
# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
ALLOW_EMPTY_${PN} = "1"
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
if [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
}
python populate_packages_prepend() {
#d.setVar('PKG_pulseaudio', 'pulseaudio')
plugindir = bb.data.expand('${libdir}/pulse-${PV}/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='' )
}
RDEPENDS_pulseaudio-module-console-kit =+ "consolekit"
RDEPENDS_pulseaudio-server = " \
pulseaudio-module-filter-apply \
pulseaudio-module-filter-heuristics \
pulseaudio-module-udev-detect \
pulseaudio-module-null-sink \
pulseaudio-module-device-restore \
pulseaudio-module-stream-restore \
pulseaudio-module-card-restore \
pulseaudio-module-augment-properties \
pulseaudio-module-detect \
pulseaudio-module-alsa-sink \
pulseaudio-module-alsa-source \
pulseaudio-module-alsa-card \
pulseaudio-module-native-protocol-unix \
pulseaudio-module-default-device-restore \
pulseaudio-module-intended-roles \
pulseaudio-module-rescue-streams \
pulseaudio-module-always-sink \
pulseaudio-module-suspend-on-idle \
pulseaudio-module-console-kit \
pulseaudio-module-position-event-sounds \
pulseaudio-module-cork-music-on-phone "
@@ -0,0 +1,238 @@
Upstream-Status: Pending
This patch makes assembly syntax compatible to the x32 toolchain.
This fixes these kinds of compilations errors with x32 gcc.
| pulsecore/svolume_mmx.c: Assembler messages:
| pulsecore/svolume_mmx.c:107: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:135: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:161: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:162: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:180: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:210: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:244: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:245: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
| make[3]: *** [libpulsecore_1.1_la-svolume_mmx.lo] Error 1
Orignally these assembly lines are written for x86_64 ABI, now they are also compatible with
X32 ABI.
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/03
Index: pulseaudio-1.1/src/pulsecore/svolume_mmx.c
===================================================================
--- pulseaudio-1.1.orig/src/pulsecore/svolume_mmx.c
+++ pulseaudio-1.1/src/pulsecore/svolume_mmx.c
@@ -107,7 +107,7 @@ static void pa_volume_s16ne_mmx(int16_t
" test $1, %2 \n\t" /* check for odd samples */
" je 2f \n\t"
- " movd (%1, %3, 4), %%mm0 \n\t" /* | v0h | v0l | */
+ " movd (%q1, %3, 4), %%mm0 \n\t" /* | v0h | v0l | */
" movw (%0), %w4 \n\t" /* .. | p0 | */
" movd %4, %%mm1 \n\t"
VOLUME_32x16 (%%mm1, %%mm0)
@@ -122,7 +122,7 @@ static void pa_volume_s16ne_mmx(int16_t
" je 4f \n\t"
"3: \n\t" /* do samples in groups of 2 */
- " movq (%1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
+ " movq (%q1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
" movd (%0), %%mm1 \n\t" /* .. | p1 | p0 | */
VOLUME_32x16 (%%mm1, %%mm0)
" movd %%mm0, (%0) \n\t" /* .. | p1*v1 | p0*v0 | */
@@ -135,8 +135,8 @@ static void pa_volume_s16ne_mmx(int16_t
" je 6f \n\t"
"5: \n\t" /* do samples in groups of 4 */
- " movq (%1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
- " movq 8(%1, %3, 4), %%mm2 \n\t" /* | v3h | v3l | v2h | v2l | */
+ " movq (%q1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
+ " movq 8(%q1, %3, 4), %%mm2 \n\t" /* | v3h | v3l | v2h | v2l | */
" movd (%0), %%mm1 \n\t" /* .. | p1 | p0 | */
" movd 4(%0), %%mm3 \n\t" /* .. | p3 | p2 | */
VOLUME_32x16 (%%mm1, %%mm0)
@@ -180,7 +180,7 @@ static void pa_volume_s16re_mmx(int16_t
" test $1, %2 \n\t" /* check for odd samples */
" je 2f \n\t"
- " movd (%1, %3, 4), %%mm0 \n\t" /* | v0h | v0l | */
+ " movd (%q1, %3, 4), %%mm0 \n\t" /* | v0h | v0l | */
" movw (%0), %w4 \n\t" /* .. | p0 | */
" rorw $8, %w4 \n\t"
" movd %4, %%mm1 \n\t"
@@ -197,7 +197,7 @@ static void pa_volume_s16re_mmx(int16_t
" je 4f \n\t"
"3: \n\t" /* do samples in groups of 2 */
- " movq (%1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
+ " movq (%q1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
" movd (%0), %%mm1 \n\t" /* .. | p1 | p0 | */
SWAP_16 (%%mm1)
VOLUME_32x16 (%%mm1, %%mm0)
@@ -212,8 +212,8 @@ static void pa_volume_s16re_mmx(int16_t
" je 6f \n\t"
"5: \n\t" /* do samples in groups of 4 */
- " movq (%1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
- " movq 8(%1, %3, 4), %%mm2 \n\t" /* | v3h | v3l | v2h | v2l | */
+ " movq (%q1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */
+ " movq 8(%q1, %3, 4), %%mm2 \n\t" /* | v3h | v3l | v2h | v2l | */
" movd (%0), %%mm1 \n\t" /* .. | p1 | p0 | */
" movd 4(%0), %%mm3 \n\t" /* .. | p3 | p2 | */
SWAP_16_2 (%%mm1, %%mm3)
Index: pulseaudio-1.1/src/pulsecore/svolume_sse.c
===================================================================
--- pulseaudio-1.1.orig/src/pulsecore/svolume_sse.c
+++ pulseaudio-1.1/src/pulsecore/svolume_sse.c
@@ -92,7 +92,7 @@ static void pa_volume_s16ne_sse2(int16_t
" test $1, %2 \n\t" /* check for odd samples */
" je 2f \n\t"
- " movd (%1, %3, 4), %%xmm0 \n\t" /* | v0h | v0l | */
+ " movd (%q1, %3, 4), %%xmm0 \n\t" /* | v0h | v0l | */
" movw (%0), %w4 \n\t" /* .. | p0 | */
" movd %4, %%xmm1 \n\t"
VOLUME_32x16 (%%xmm1, %%xmm0)
@@ -107,7 +107,7 @@ static void pa_volume_s16ne_sse2(int16_t
" je 4f \n\t"
"3: \n\t" /* do samples in groups of 2 */
- " movq (%1, %3, 4), %%xmm0 \n\t" /* | v1h | v1l | v0h | v0l | */
+ " movq (%q1, %3, 4), %%xmm0 \n\t" /* | v1h | v1l | v0h | v0l | */
" movd (%0), %%xmm1 \n\t" /* .. | p1 | p0 | */
VOLUME_32x16 (%%xmm1, %%xmm0)
" movd %%xmm0, (%0) \n\t" /* .. | p1*v1 | p0*v0 | */
@@ -123,7 +123,7 @@ static void pa_volume_s16ne_sse2(int16_t
* that the array is 16 bytes aligned, we probably have to do the odd values
* after this then. */
"5: \n\t" /* do samples in groups of 4 */
- " movdqu (%1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
+ " movdqu (%q1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
" movq (%0), %%xmm1 \n\t" /* .. | p3 .. p0 | */
VOLUME_32x16 (%%xmm1, %%xmm0)
" movq %%xmm0, (%0) \n\t" /* .. | p3*v3 .. p0*v0 | */
@@ -136,8 +136,8 @@ static void pa_volume_s16ne_sse2(int16_t
" je 8f \n\t"
"7: \n\t" /* do samples in groups of 8 */
- " movdqu (%1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
- " movdqu 16(%1, %3, 4), %%xmm2 \n\t" /* | v7h | v7l .. v4h | v4l | */
+ " movdqu (%q1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
+ " movdqu 16(%q1, %3, 4), %%xmm2 \n\t" /* | v7h | v7l .. v4h | v4l | */
" movq (%0), %%xmm1 \n\t" /* .. | p3 .. p0 | */
" movq 8(%0), %%xmm3 \n\t" /* .. | p7 .. p4 | */
VOLUME_32x16 (%%xmm1, %%xmm0)
@@ -176,7 +176,7 @@ static void pa_volume_s16re_sse2(int16_t
" test $1, %2 \n\t" /* check for odd samples */
" je 2f \n\t"
- " movd (%1, %3, 4), %%xmm0 \n\t" /* | v0h | v0l | */
+ " movd (%q1, %3, 4), %%xmm0 \n\t" /* | v0h | v0l | */
" movw (%0), %w4 \n\t" /* .. | p0 | */
" rorw $8, %w4 \n\t"
" movd %4, %%xmm1 \n\t"
@@ -193,7 +193,7 @@ static void pa_volume_s16re_sse2(int16_t
" je 4f \n\t"
"3: \n\t" /* do samples in groups of 2 */
- " movq (%1, %3, 4), %%xmm0 \n\t" /* | v1h | v1l | v0h | v0l | */
+ " movq (%q1, %3, 4), %%xmm0 \n\t" /* | v1h | v1l | v0h | v0l | */
" movd (%0), %%xmm1 \n\t" /* .. | p1 | p0 | */
SWAP_16 (%%xmm1)
VOLUME_32x16 (%%xmm1, %%xmm0)
@@ -211,7 +211,7 @@ static void pa_volume_s16re_sse2(int16_t
* that the array is 16 bytes aligned, we probably have to do the odd values
* after this then. */
"5: \n\t" /* do samples in groups of 4 */
- " movdqu (%1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
+ " movdqu (%q1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
" movq (%0), %%xmm1 \n\t" /* .. | p3 .. p0 | */
SWAP_16 (%%xmm1)
VOLUME_32x16 (%%xmm1, %%xmm0)
@@ -226,8 +226,8 @@ static void pa_volume_s16re_sse2(int16_t
" je 8f \n\t"
"7: \n\t" /* do samples in groups of 8 */
- " movdqu (%1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
- " movdqu 16(%1, %3, 4), %%xmm2 \n\t" /* | v7h | v7l .. v4h | v4l | */
+ " movdqu (%q1, %3, 4), %%xmm0 \n\t" /* | v3h | v3l .. v0h | v0l | */
+ " movdqu 16(%q1, %3, 4), %%xmm2 \n\t" /* | v7h | v7l .. v4h | v4l | */
" movq (%0), %%xmm1 \n\t" /* .. | p3 .. p0 | */
" movq 8(%0), %%xmm3 \n\t" /* .. | p7 .. p4 | */
SWAP_16_2 (%%xmm1, %%xmm3)
Index: pulseaudio-1.1/src/pulsecore/sconv_sse.c
===================================================================
--- pulseaudio-1.1.orig/src/pulsecore/sconv_sse.c
+++ pulseaudio-1.1/src/pulsecore/sconv_sse.c
@@ -54,8 +54,8 @@ static void pa_sconv_s16le_from_f32ne_ss
" je 2f \n\t"
"1: \n\t"
- " movups (%2, %0, 2), %%xmm0 \n\t" /* read 8 floats */
- " movups 16(%2, %0, 2), %%xmm2 \n\t"
+ " movups (%q2, %0, 2), %%xmm0 \n\t" /* read 8 floats */
+ " movups 16(%q2, %0, 2), %%xmm2 \n\t"
" minps %%xmm5, %%xmm0 \n\t" /* clamp to 1.0 */
" minps %%xmm5, %%xmm2 \n\t"
" maxps %%xmm6, %%xmm0 \n\t" /* clamp to -1.0 */
@@ -72,8 +72,8 @@ static void pa_sconv_s16le_from_f32ne_ss
" packssdw %%mm1, %%mm0 \n\t" /* pack parts */
" packssdw %%mm3, %%mm2 \n\t"
- " movq %%mm0, (%3, %0) \n\t"
- " movq %%mm2, 8(%3, %0) \n\t"
+ " movq %%mm0, (%q3, %0) \n\t"
+ " movq %%mm2, 8(%q3, %0) \n\t"
" add $16, %0 \n\t"
" dec %1 \n\t"
@@ -85,12 +85,12 @@ static void pa_sconv_s16le_from_f32ne_ss
" je 4f \n\t"
"3: \n\t"
- " movss (%2, %0, 2), %%xmm0 \n\t"
+ " movss (%q2, %0, 2), %%xmm0 \n\t"
" minss %%xmm5, %%xmm0 \n\t"
" maxss %%xmm6, %%xmm0 \n\t"
" mulss %%xmm7, %%xmm0 \n\t"
" cvtss2si %%xmm0, %4 \n\t"
- " movw %w4, (%3, %0) \n\t"
+ " movw %w4, (%q3, %0) \n\t"
" add $2, %0 \n\t"
" dec %1 \n\t"
" jne 3b \n\t"
@@ -119,8 +119,8 @@ static void pa_sconv_s16le_from_f32ne_ss
" je 2f \n\t"
"1: \n\t"
- " movups (%2, %0, 2), %%xmm0 \n\t" /* read 8 floats */
- " movups 16(%2, %0, 2), %%xmm2 \n\t"
+ " movups (%q2, %0, 2), %%xmm0 \n\t" /* read 8 floats */
+ " movups 16(%q2, %0, 2), %%xmm2 \n\t"
" minps %%xmm5, %%xmm0 \n\t" /* clamp to 1.0 */
" minps %%xmm5, %%xmm2 \n\t"
" maxps %%xmm6, %%xmm0 \n\t" /* clamp to -1.0 */
@@ -132,7 +132,7 @@ static void pa_sconv_s16le_from_f32ne_ss
" cvtps2dq %%xmm2, %%xmm2 \n\t"
" packssdw %%xmm2, %%xmm0 \n\t"
- " movdqu %%xmm0, (%3, %0) \n\t"
+ " movdqu %%xmm0, (%q3, %0) \n\t"
" add $16, %0 \n\t"
" dec %1 \n\t"
@@ -144,12 +144,12 @@ static void pa_sconv_s16le_from_f32ne_ss
" je 4f \n\t"
"3: \n\t"
- " movss (%2, %0, 2), %%xmm0 \n\t"
+ " movss (%q2, %0, 2), %%xmm0 \n\t"
" minss %%xmm5, %%xmm0 \n\t"
" maxss %%xmm6, %%xmm0 \n\t"
" mulss %%xmm7, %%xmm0 \n\t"
" cvtss2si %%xmm0, %4 \n\t"
- " movw %w4, (%3, %0) \n\t"
+ " movw %w4, (%q3, %0) \n\t"
" add $2, %0 \n\t"
" dec %1 \n\t"
" jne 3b \n\t"
@@ -0,0 +1,2 @@
# <type> <owner> <group> <mode> <path> <linksource>
d pulse pulse 0755 /var/run/pulse none
@@ -0,0 +1,22 @@
require pulseaudio.inc
PR = "r5"
DEPENDS += "libjson gdbm speex libxml-parser-perl-native"
inherit gettext perlnative
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \
file://volatiles.04_pulse \
file://pulseaudo_fix_for_x32.patch \
"
SRC_URI[md5sum] = "17d21df798cee407b769c6355fae397a"
SRC_URI[sha256sum] = "6fe531136f6ebce2d35872a2d2c914278cdc5dcdd5eea516dc52c81f9001f5ee"
do_compile_prepend() {
cd ${S}
mkdir -p ${S}/libltdl
cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
}
@@ -0,0 +1,28 @@
SUMMARY = "Speech Audio Codec"
DESCRIPTION = "Speex is an Open Source/Free Software patent-free audio compression format designed for speech."
HOMEPAGE = "http://www.speex.org"
SECTION = "libs"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=314649d8ba9dd7045dfb6683f298d0a8 \
file://include/speex/speex.h;beginline=1;endline=34;md5=a68129f78d7fe66e07163f73aba143b3"
DEPENDS = "libogg"
PR = "r0"
SRC_URI = "http://downloads.us.xiph.org/releases/speex/speex-1.2rc1.tar.gz"
SRC_URI[md5sum] = "c4438b22c08e5811ff10e2b06ee9b9ae"
SRC_URI[sha256sum] = "342f30dc57bd4a6dad41398365baaa690429660b10d866b7d508e8f1179cb7a6"
PARALLEL_MAKE = ""
inherit autotools pkgconfig
EXTRA_OECONF = " --enable-fixed-point --with-ogg-libraries=${STAGING_LIBDIR} \
--disable-float-api --disable-vbr \
--with-ogg-includes=${STAGING_INCDIR} --disable-oggtest"
PACKAGES += "${PN}-bin"
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_${PN}-dev += "${libdir}/lib*.so.*"
FILES_${PN}-bin = "${bindir}"
@@ -0,0 +1,19 @@
SUMMARY = "Fixed-point decoder"
DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec."
SECTION = "libs"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
DEPENDS = "libogg"
SRCDATE = "${PV}"
PR = "r0"
SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=18163;proto=http"
S = "${WORKDIR}/Tremor"
inherit autotools
EXTRA_OECONF=" --enable-shared --disable-rpath "
ARM_INSTRUCTION_SET = "arm"