diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 15:14:24 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 15:29:45 +0100 |
commit | 29d6678fd546377459ef75cf54abeef5b969b5cf (patch) | |
tree | 8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-multimedia/libmad | |
parent | da49de6885ee1bc424e70bc02f21f6ab920efb55 (diff) | |
download | poky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz |
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.
The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.
Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-multimedia/libmad')
4 files changed, 147 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch new file mode 100644 index 0000000000..636b27a928 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | Here is a patch for adding pkg-config support to libmad. | ||
2 | It would make life a bit easier for distro maintainers if this was applied. | ||
3 | In case you didn't know, pkg-config is a tool for providing LDFLAGS and | ||
4 | CFLAGS for packages using shared libraries. It's on freedesktop.org. | ||
5 | Debian has already been distributing the pkg-config file mad.pc with | ||
6 | libmad for some time, and people developing on debian (notably xmms2 | ||
7 | developers) have started relying on this support being present, causing | ||
8 | some confusion for people installing from source and on some BSDs which | ||
9 | do not provide mad.pc (google: pkgconfig libmad). | ||
10 | |||
11 | EMH | ||
12 | |||
13 | --h31gzZEtNLTqOjlF | ||
14 | Content-Type: text/plain; charset=us-ascii | ||
15 | Content-Disposition: attachment; filename="libmad-0.15.1b-pkgconfig.patch" | ||
16 | |||
17 | diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac | ||
18 | --- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100 | ||
19 | +++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200 | ||
20 | @@ -429,5 +429,5 @@ | ||
21 | dnl AC_SUBST(LTLIBOBJS) | ||
22 | |||
23 | AC_CONFIG_FILES([Makefile msvc++/Makefile \ | ||
24 | - libmad.list]) | ||
25 | + libmad.list mad.pc]) | ||
26 | AC_OUTPUT | ||
27 | diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in | ||
28 | --- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100 | ||
29 | +++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200 | ||
30 | @@ -0,0 +1,14 @@ | ||
31 | +# libmad pkg-config source file | ||
32 | + | ||
33 | +prefix=@prefix@ | ||
34 | +exec_prefix=@exec_prefix@ | ||
35 | +libdir=@libdir@ | ||
36 | +includedir=@includedir@ | ||
37 | + | ||
38 | +Name: mad | ||
39 | +Description: MPEG Audio Decoder | ||
40 | +Version: @VERSION@ | ||
41 | +Requires: | ||
42 | +Conflicts: | ||
43 | +Libs: -L${libdir} -lmad -lm | ||
44 | +Cflags: -I${includedir} | ||
45 | diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am | ||
46 | --- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100 | ||
47 | +++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200 | ||
48 | @@ -24,6 +24,9 @@ | ||
49 | SUBDIRS = | ||
50 | DIST_SUBDIRS = msvc++ | ||
51 | |||
52 | +pkgconfigdir = $(libdir)/pkgconfig | ||
53 | +pkgconfig_DATA = mad.pc | ||
54 | + | ||
55 | lib_LTLIBRARIES = libmad.la | ||
56 | include_HEADERS = mad.h | ||
57 | |||
58 | @@ -34,7 +37,8 @@ | ||
59 | minimad_LDADD = libmad.la | ||
60 | |||
61 | EXTRA_DIST = mad.h.sed \ | ||
62 | - CHANGES COPYRIGHT CREDITS README TODO VERSION | ||
63 | + CHANGES COPYRIGHT CREDITS README TODO VERSION \ | ||
64 | + mad.pc.in | ||
65 | |||
66 | exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \ | ||
67 | synth.h decoder.h | ||
68 | |||
diff --git a/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch new file mode 100644 index 0000000000..785a8a22db --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | 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. | ||
2 | |||
3 | so the libmad build with gcc-4.5.0 was failing. | ||
4 | |||
5 | Found a solution here: | ||
6 | |||
7 | http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html | ||
8 | |||
9 | 2010/07/29 | ||
10 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
11 | |||
12 | Index: libmad-0.15.1b/fixed.h | ||
13 | =================================================================== | ||
14 | --- libmad-0.15.1b.orig/fixed.h | ||
15 | +++ libmad-0.15.1b/fixed.h | ||
16 | @@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t | ||
17 | |||
18 | /* --- MIPS ---------------------------------------------------------------- */ | ||
19 | |||
20 | +# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | ||
21 | + typedef unsigned int u64_di_t __attribute__ ((mode (DI))); | ||
22 | +# define MAD_F_MLX(hi, lo, x, y) \ | ||
23 | + do { \ | ||
24 | + u64_di_t __ll = (u64_di_t) (x) * (y); \ | ||
25 | + hi = __ll >> 32; \ | ||
26 | + lo = __ll; \ | ||
27 | + } while (0) | ||
28 | + | ||
29 | # elif defined(FPM_MIPS) | ||
30 | |||
31 | /* | ||
diff --git a/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch new file mode 100644 index 0000000000..d4dab7556d --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | This option no longer exists in gcc 3.4.1 | ||
2 | |||
3 | RP - 18/07/2008 | ||
4 | |||
5 | Index: libmad-0.15.1b/configure.ac | ||
6 | =================================================================== | ||
7 | --- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100 | ||
8 | +++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100 | ||
9 | @@ -140,7 +140,6 @@ | ||
10 | case "$optimize" in | ||
11 | -O|"-O "*) | ||
12 | optimize="-O" | ||
13 | - optimize="$optimize -fforce-mem" | ||
14 | optimize="$optimize -fforce-addr" | ||
15 | : #x optimize="$optimize -finline-functions" | ||
16 | : #- optimize="$optimize -fstrength-reduce" | ||
diff --git a/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb new file mode 100644 index 0000000000..acc9df5501 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | DESCRIPTION = "MPEG Audio Decoder Library" | ||
2 | HOMEPAGE = "http://sourceforge.net/projects/mad/" | ||
3 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
6 | file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \ | ||
7 | file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454" | ||
8 | SECTION = "libs" | ||
9 | PRIORITY = "optional" | ||
10 | DEPENDS = "libid3tag" | ||
11 | PR = "r2" | ||
12 | |||
13 | SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libmad-${PV}.tar.gz \ | ||
14 | file://no-force-mem.patch \ | ||
15 | file://add-pkgconfig.patch \ | ||
16 | file://fix_for_mips_with_gcc-4.5.0.patch" | ||
17 | |||
18 | S = "${WORKDIR}/libmad-${PV}" | ||
19 | |||
20 | inherit autotools pkgconfig | ||
21 | |||
22 | EXTRA_OECONF = "-enable-speed --enable-shared" | ||
23 | # The ASO's don't take any account of thumb... | ||
24 | EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default" | ||
25 | EXTRA_OECONF_append_arm = " --enable-fpm=arm" | ||
26 | |||
27 | do_configure_prepend () { | ||
28 | # damn picky automake... | ||
29 | touch NEWS AUTHORS ChangeLog | ||
30 | } | ||
31 | |||
32 | ARM_INSTRUCTION_SET = "arm" | ||