diff options
Diffstat (limited to 'meta/recipes-multimedia/flac')
4 files changed, 236 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch b/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch new file mode 100644 index 0000000000..e2f4fa1360 --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | # Acquired from OpenEmbedded | ||
2 | |||
3 | diff -ruN flac-1.2.1-orig/src/Makefile.am flac-1.2.1-new/src/Makefile.am | ||
4 | --- flac-1.2.1-orig/src/Makefile.am 2010-06-23 15:06:29.167865355 +0800 | ||
5 | +++ flac-1.2.1-new/src/Makefile.am 2010-06-25 16:23:05.555202728 +0800 | ||
6 | @@ -15,10 +15,6 @@ | ||
7 | # restrictive of those mentioned above. See the file COPYING.Xiph in this | ||
8 | # distribution. | ||
9 | |||
10 | -if FLaC__HAS_XMMS | ||
11 | -XMMS_DIRS = plugin_common plugin_xmms | ||
12 | -endif | ||
13 | - | ||
14 | if FLaC__WITH_CPPLIBS | ||
15 | CPPLIBS_DIRS = libFLAC++ test_libFLAC++ | ||
16 | endif | ||
17 | @@ -29,7 +25,6 @@ | ||
18 | flac \ | ||
19 | metaflac \ | ||
20 | monkeys_audio_utilities \ | ||
21 | - $(XMMS_DIRS) \ | ||
22 | plugin_winamp2 \ | ||
23 | test_grabbag \ | ||
24 | test_libs_common \ | ||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch b/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch new file mode 100644 index 0000000000..fdb6f1337e --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | # Acquired from OpenEmbedded | ||
2 | # Fix no declaration of memcmp() | ||
3 | |||
4 | diff -urN flac-1.2.1-orig/examples/cpp/encode/file/main.cpp flac-1.2.1/examples/cpp/encode/file/main.cpp | ||
5 | --- flac-1.2.1-orig/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:29.159481339 +0800 | ||
6 | +++ flac-1.2.1/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:46.233384883 +0800 | ||
7 | @@ -30,6 +30,7 @@ | ||
8 | |||
9 | #include <stdio.h> | ||
10 | #include <stdlib.h> | ||
11 | +#include <string.h> | ||
12 | #include "FLAC++/metadata.h" | ||
13 | #include "FLAC++/encoder.h" | ||
14 | |||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 b/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 new file mode 100644 index 0000000000..5e250cdd38 --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 | |||
@@ -0,0 +1,149 @@ | |||
1 | # CFLAGS and library paths for XMMS | ||
2 | # written 15 December 1999 by Ben Gertzfield <che@debian.org> | ||
3 | # Acquired from OpenEmbedded | ||
4 | |||
5 | dnl Usage: | ||
6 | dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | ||
7 | dnl | ||
8 | dnl Example: | ||
9 | dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***])) | ||
10 | dnl | ||
11 | dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR, | ||
12 | dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR, | ||
13 | dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR, | ||
14 | dnl and XMMS_VERSION for your plugin pleasure. | ||
15 | dnl | ||
16 | |||
17 | dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]]) | ||
18 | AC_DEFUN(XMMS_TEST_VERSION, [ | ||
19 | |||
20 | # Determine which version number is greater. Prints 2 to stdout if | ||
21 | # the second number is greater, 1 if the first number is greater, | ||
22 | # 0 if the numbers are equal. | ||
23 | |||
24 | # Written 15 December 1999 by Ben Gertzfield <che@debian.org> | ||
25 | # Revised 15 December 1999 by Jim Monty <monty@primenet.com> | ||
26 | |||
27 | AC_PROG_AWK | ||
28 | xmms_got_version=[` $AWK ' \ | ||
29 | BEGIN { \ | ||
30 | print vercmp(ARGV[1], ARGV[2]); \ | ||
31 | } \ | ||
32 | \ | ||
33 | function vercmp(ver1, ver2, ver1arr, ver2arr, \ | ||
34 | ver1len, ver2len, \ | ||
35 | ver1int, ver2int, len, i, p) { \ | ||
36 | \ | ||
37 | ver1len = split(ver1, ver1arr, /\./); \ | ||
38 | ver2len = split(ver2, ver2arr, /\./); \ | ||
39 | \ | ||
40 | len = ver1len > ver2len ? ver1len : ver2len; \ | ||
41 | \ | ||
42 | for (i = 1; i <= len; i++) { \ | ||
43 | p = 1000 ^ (len - i); \ | ||
44 | ver1int += ver1arr[i] * p; \ | ||
45 | ver2int += ver2arr[i] * p; \ | ||
46 | } \ | ||
47 | \ | ||
48 | if (ver1int < ver2int) \ | ||
49 | return 2; \ | ||
50 | else if (ver1int > ver2int) \ | ||
51 | return 1; \ | ||
52 | else \ | ||
53 | return 0; \ | ||
54 | }' $1 $2`] | ||
55 | |||
56 | if test $xmms_got_version -eq 2; then # failure | ||
57 | ifelse([$4], , :, $4) | ||
58 | else # success! | ||
59 | ifelse([$3], , :, $3) | ||
60 | fi | ||
61 | ]) | ||
62 | |||
63 | AC_DEFUN(AM_PATH_XMMS, | ||
64 | [ | ||
65 | AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)], | ||
66 | xmms_config_prefix="$withval", xmms_config_prefix="") | ||
67 | AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)], | ||
68 | xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="") | ||
69 | |||
70 | if test x$xmms_config_exec_prefix != x; then | ||
71 | xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix" | ||
72 | if test x${XMMS_CONFIG+set} != xset; then | ||
73 | XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config | ||
74 | fi | ||
75 | fi | ||
76 | |||
77 | if test x$xmms_config_prefix != x; then | ||
78 | xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix" | ||
79 | if test x${XMMS_CONFIG+set} != xset; then | ||
80 | XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config | ||
81 | fi | ||
82 | fi | ||
83 | |||
84 | AC_PATH_PROG(XMMS_CONFIG, xmms-config, no) | ||
85 | min_xmms_version=ifelse([$1], ,0.9.5.1, $1) | ||
86 | |||
87 | if test "$XMMS_CONFIG" = "no"; then | ||
88 | no_xmms=yes | ||
89 | else | ||
90 | XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags` | ||
91 | XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs` | ||
92 | XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version` | ||
93 | XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir` | ||
94 | XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir` | ||
95 | XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \ | ||
96 | --visualization-plugin-dir` | ||
97 | XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir` | ||
98 | XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir` | ||
99 | XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir` | ||
100 | XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir` | ||
101 | |||
102 | XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version) | ||
103 | fi | ||
104 | |||
105 | AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version) | ||
106 | |||
107 | if test "x$no_xmms" = x; then | ||
108 | AC_MSG_RESULT(yes) | ||
109 | ifelse([$2], , :, [$2]) | ||
110 | else | ||
111 | AC_MSG_RESULT(no) | ||
112 | |||
113 | if test "$XMMS_CONFIG" = "no" ; then | ||
114 | echo "*** The xmms-config script installed by XMMS could not be found." | ||
115 | echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in" | ||
116 | echo "*** your path, or set the XMMS_CONFIG environment variable to the" | ||
117 | echo "*** full path to xmms-config." | ||
118 | else | ||
119 | if test "$no_xmms" = "version"; then | ||
120 | echo "*** An old version of XMMS, $XMMS_VERSION, was found." | ||
121 | echo "*** You need a version of XMMS newer than $min_xmms_version." | ||
122 | echo "*** The latest version of XMMS is always available from" | ||
123 | echo "*** http://www.xmms.org/" | ||
124 | echo "***" | ||
125 | |||
126 | echo "*** If you have already installed a sufficiently new version, this error" | ||
127 | echo "*** probably means that the wrong copy of the xmms-config shell script is" | ||
128 | echo "*** being found. The easiest way to fix this is to remove the old version" | ||
129 | echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the" | ||
130 | echo "*** correct copy of xmms-config. (In this case, you will have to" | ||
131 | echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf" | ||
132 | echo "*** so that the correct libraries are found at run-time)" | ||
133 | fi | ||
134 | fi | ||
135 | XMMS_CFLAGS="" | ||
136 | XMMS_LIBS="" | ||
137 | ifelse([$3], , :, [$3]) | ||
138 | fi | ||
139 | AC_SUBST(XMMS_CFLAGS) | ||
140 | AC_SUBST(XMMS_LIBS) | ||
141 | AC_SUBST(XMMS_VERSION) | ||
142 | AC_SUBST(XMMS_DATA_DIR) | ||
143 | AC_SUBST(XMMS_PLUGIN_DIR) | ||
144 | AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR) | ||
145 | AC_SUBST(XMMS_INPUT_PLUGIN_DIR) | ||
146 | AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR) | ||
147 | AC_SUBST(XMMS_GENERAL_PLUGIN_DIR) | ||
148 | AC_SUBST(XMMS_EFFECT_PLUGIN_DIR) | ||
149 | ]) | ||
diff --git a/meta/recipes-multimedia/flac/flac_1.2.1.bb b/meta/recipes-multimedia/flac/flac_1.2.1.bb new file mode 100644 index 0000000000..30a8cfb933 --- /dev/null +++ b/meta/recipes-multimedia/flac/flac_1.2.1.bb | |||
@@ -0,0 +1,49 @@ | |||
1 | DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless." | ||
2 | HOMEPAGE = "http://flac.sourceforge.net/" | ||
3 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=13478&atid=113478" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "FDLv1.2 & GPLv2+ & LGPLv2.1+ & BSD" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \ | ||
7 | file://src/Makefile.am;beginline=1;endline=16;md5=8dee151a56a3122f064a9dce771db37d \ | ||
8 | file://COPYING.GPL;md5=079b27cd65c86dbc1b6997ffde902735 \ | ||
9 | file://src/flac/main.c;beginline=1;endline=17;md5=756c4234516e4266ea45ee7bbbd798cf \ | ||
10 | file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \ | ||
11 | file://src/plugin_common/all.h;beginline=1;endline=17;md5=b2e7960da6b43e4eccabf999bcf7f3a9 \ | ||
12 | file://COPYING.Xiph;md5=df8975c0225f83ed7b567587ed953b83 \ | ||
13 | file://include/FLAC/all.h;beginline=64;endline=69;md5=64474f2b22e9e77b28d8b8b25c983a48" | ||
14 | DEPENDS = "libogg" | ||
15 | |||
16 | PR = "r0" | ||
17 | |||
18 | SRC_URI = "${SOURCEFORGE_MIRROR}/flac/flac-${PV}.tar.gz \ | ||
19 | file://disable-xmms-plugin.patch;patch=1 \ | ||
20 | file://flac-gcc43-fixes.patch;patch=1 \ | ||
21 | file://xmms.m4" | ||
22 | |||
23 | S = "${WORKDIR}/flac-${PV}" | ||
24 | |||
25 | inherit autotools | ||
26 | |||
27 | EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ | ||
28 | --with-ogg-libraries=${STAGING_LIBDIR} \ | ||
29 | --with-ogg-includes=${STAGING_INCDIR} \ | ||
30 | --without-xmms-prefix \ | ||
31 | --without-xmms-exec-prefix \ | ||
32 | --without-libiconv-prefix \ | ||
33 | --without-id3lib" | ||
34 | |||
35 | PACKAGES += "libflac libflac++ liboggflac liboggflac++" | ||
36 | FILES_${PN} = "${bindir}/*" | ||
37 | FILES_libflac = "${libdir}/libFLAC.so.*" | ||
38 | FILES_libflac++ = "${libdir}/libFLAC++.so.*" | ||
39 | FILES_liboggflac = "${libdir}/libOggFLAC.so.*" | ||
40 | FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*" | ||
41 | |||
42 | do_configure () { | ||
43 | install -d ${S}/m4 | ||
44 | install -m 0644 ${WORKDIR}/xmms.m4 ${S}/m4/ | ||
45 | autotools_do_configure | ||
46 | # removes '-read-only-relocs' which is enabled for PowerPC builds. | ||
47 | # It makes the build fail, other archs are not affected. Fixes #1775. | ||
48 | sed -i 's/-Wl,-read_only_relocs,warning//g' src/libFLAC/Makefile | ||
49 | } | ||