From 29d6678fd546377459ef75cf54abeef5b969b5cf Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 27 Aug 2010 15:14:24 +0100 Subject: 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 --- .../libmad/libmad/add-pkgconfig.patch | 68 ++++++++++++++++++++++ .../libmad/fix_for_mips_with_gcc-4.5.0.patch | 31 ++++++++++ .../libmad/libmad/no-force-mem.patch | 16 +++++ meta/recipes-multimedia/libmad/libmad_0.15.1b.bb | 32 ++++++++++ 4 files changed, 147 insertions(+) create mode 100644 meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch create mode 100644 meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch create mode 100644 meta/recipes-multimedia/libmad/libmad/no-force-mem.patch create mode 100644 meta/recipes-multimedia/libmad/libmad_0.15.1b.bb (limited to 'meta/recipes-multimedia/libmad') 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 @@ +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 + +--h31gzZEtNLTqOjlF +Content-Type: text/plain; charset=us-ascii +Content-Disposition: attachment; filename="libmad-0.15.1b-pkgconfig.patch" + +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 + 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 @@ +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 + +2010/07/29 +Nitin A Kamble + +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) + + /* 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 @@ +This option no longer exists in gcc 3.4.1 + +RP - 18/07/2008 + +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" 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 @@ +DESCRIPTION = "MPEG Audio Decoder Library" +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=8e55eb14894e782b84488d5a239bc23d \ + file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454" +SECTION = "libs" +PRIORITY = "optional" +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" + +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" -- cgit v1.2.3-54-g00ecf