summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libmad
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-multimedia/libmad
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-multimedia/libmad')
-rw-r--r--meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch70
-rw-r--r--meta/recipes-multimedia/libmad/libmad/automake-foreign.patch12
-rw-r--r--meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch33
-rw-r--r--meta/recipes-multimedia/libmad/libmad/no-force-mem.patch18
-rw-r--r--meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch14
-rw-r--r--meta/recipes-multimedia/libmad/libmad_0.15.1b.bb38
6 files changed, 185 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..b49dc8c983
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch
@@ -0,0 +1,70 @@
1Here is a patch for adding pkg-config support to libmad.
2It would make life a bit easier for distro maintainers if this was applied.
3In case you didn't know, pkg-config is a tool for providing LDFLAGS and
4CFLAGS for packages using shared libraries. It's on freedesktop.org.
5Debian has already been distributing the pkg-config file mad.pc with
6libmad for some time, and people developing on debian (notably xmms2
7developers) have started relying on this support being present, causing
8some confusion for people installing from source and on some BSDs which
9do not provide mad.pc (google: pkgconfig libmad).
10
11EMH
12
13Upstream-Status: Inappropriate [configuration]
14
15--h31gzZEtNLTqOjlF
16Content-Type: text/plain; charset=us-ascii
17Content-Disposition: attachment; filename=&quot;libmad-0.15.1b-pkgconfig.patch&quot;
18
19diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac
20--- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100
21+++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200
22@@ -429,5 +429,5 @@
23 dnl AC_SUBST(LTLIBOBJS)
24
25 AC_CONFIG_FILES([Makefile msvc++/Makefile \
26- libmad.list])
27+ libmad.list mad.pc])
28 AC_OUTPUT
29diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in
30--- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100
31+++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200
32@@ -0,0 +1,14 @@
33+# libmad pkg-config source file
34+
35+prefix=@prefix@
36+exec_prefix=@exec_prefix@
37+libdir=@libdir@
38+includedir=@includedir@
39+
40+Name: mad
41+Description: MPEG Audio Decoder
42+Version: @VERSION@
43+Requires:
44+Conflicts:
45+Libs: -L${libdir} -lmad -lm
46+Cflags: -I${includedir}
47diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am
48--- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100
49+++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200
50@@ -24,6 +24,9 @@
51 SUBDIRS =
52 DIST_SUBDIRS = msvc++
53
54+pkgconfigdir = $(libdir)/pkgconfig
55+pkgconfig_DATA = mad.pc
56+
57 lib_LTLIBRARIES = libmad.la
58 include_HEADERS = mad.h
59
60@@ -34,7 +37,8 @@
61 minimad_LDADD = libmad.la
62
63 EXTRA_DIST = mad.h.sed \
64- CHANGES COPYRIGHT CREDITS README TODO VERSION
65+ CHANGES COPYRIGHT CREDITS README TODO VERSION \
66+ mad.pc.in
67
68 exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \
69 synth.h decoder.h
70
diff --git a/meta/recipes-multimedia/libmad/libmad/automake-foreign.patch b/meta/recipes-multimedia/libmad/libmad/automake-foreign.patch
new file mode 100644
index 0000000000..3e544248d9
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/automake-foreign.patch
@@ -0,0 +1,12 @@
1Pass foreign to AM_INIT_AUTOMAKE so it doesn't enforce GNU strictness.
2
3Upstream-Status: Pending
4Signed-off-by: Ross Burton <ross.burton@intel.com>
5
6diff --git a/configure.ac b/configure.ac
7index e602fd3..e075b86 100644
8--- a/configure.ac
9+++ b/configure.ac
10@@ -29 +29 @@ AC_CONFIG_SRCDIR([decoder.h])
11-AM_INIT_AUTOMAKE
12+AM_INIT_AUTOMAKE([foreign])
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..01c7aa3c8c
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
@@ -0,0 +1,33 @@
1gcc 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
3so the libmad build with gcc-4.5.0 was failing.
4
5Found a solution here:
6
7http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html
8
9Upstream-Status: Pending
10
112010/07/29
12Nitin A Kamble <nitin.a.kamble@intel.com>
13
14Index: libmad-0.15.1b/fixed.h
15===================================================================
16--- libmad-0.15.1b.orig/fixed.h
17+++ libmad-0.15.1b/fixed.h
18@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
19
20 /* --- MIPS ---------------------------------------------------------------- */
21
22+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
23+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
24+# define MAD_F_MLX(hi, lo, x, y) \
25+ do { \
26+ u64_di_t __ll = (u64_di_t) (x) * (y); \
27+ hi = __ll >> 32; \
28+ lo = __ll; \
29+ } while (0)
30+
31 # elif defined(FPM_MIPS)
32
33 /*
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..d5e6d206e2
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch
@@ -0,0 +1,18 @@
1This option no longer exists in gcc 3.4.1
2
3RP - 18/07/2008
4
5Upstream-Status: Inappropriate [configuration]
6
7Index: libmad-0.15.1b/configure.ac
8===================================================================
9--- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100
10+++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100
11@@ -140,7 +140,6 @@
12 case "$optimize" in
13 -O|"-O "*)
14 optimize="-O"
15- optimize="$optimize -fforce-mem"
16 optimize="$optimize -fforce-addr"
17 : #x optimize="$optimize -finline-functions"
18 : #- optimize="$optimize -fstrength-reduce"
diff --git a/meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch b/meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch
new file mode 100644
index 0000000000..cc87d299ed
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch
@@ -0,0 +1,14 @@
1Upstream-Status: Submitted [https://sourceforge.net/tracker/?group_id=12349&atid=112349]
2
3Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
4diff -Nurd libmad-0.15.1b/configure.ac libmad-0.15.1b/configure.ac
5--- libmad-0.15.1b/configure.ac 2004-01-23 11:41:32.000000000 +0200
6+++ libmad-0.15.1b/configure.ac 2013-01-03 08:28:23.718693697 +0200
7@@ -28,7 +28,7 @@
8
9 AM_INIT_AUTOMAKE
10
11-AM_CONFIG_HEADER([config.h])
12+AC_CONFIG_HEADERS([config.h])
13
14 dnl System type.
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..30937ebe68
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -0,0 +1,38 @@
1SUMMARY = "MPEG Audio Decoder library"
2HOMEPAGE = "http://sourceforge.net/projects/mad/"
3BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
4LICENSE = "GPLv2+"
5LICENSE_FLAGS = "commercial"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
7 file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
8 file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
9SECTION = "libs"
10DEPENDS = "libid3tag"
11PR = "r3"
12
13SRC_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 file://obsolete_automake_macros.patch \
18 file://automake-foreign.patch \
19"
20
21SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c"
22SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
23
24S = "${WORKDIR}/libmad-${PV}"
25
26inherit autotools pkgconfig
27
28EXTRA_OECONF = "-enable-speed --enable-shared"
29# The ASO's don't take any account of thumb...
30EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default"
31EXTRA_OECONF_append_arm = " --enable-fpm=arm"
32
33do_configure_prepend () {
34# damn picky automake...
35 touch NEWS AUTHORS ChangeLog
36}
37
38ARM_INSTRUCTION_SET = "arm"