diff options
author | Alexis Ballier <aballier@gentoo.org> | 2006-11-18 11:11:50 +0000 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2006-11-18 11:11:50 +0000 |
commit | f5a5a114c0be0a9658e37553f939319afb679594 (patch) | |
tree | 035df3ce80142d7a726d9a2a8473e886c06e1437 /media-sound/moc | |
parent | Remove obsolete version. (diff) | |
download | gentoo-2-f5a5a114c0be0a9658e37553f939319afb679594.tar.gz gentoo-2-f5a5a114c0be0a9658e37553f939319afb679594.tar.bz2 gentoo-2-f5a5a114c0be0a9658e37553f939319afb679594.zip |
Add patch from Josh Coalson to be able to build with flac 1.1.3
(Portage version: 2.1.2_rc2)
Diffstat (limited to 'media-sound/moc')
-rw-r--r-- | media-sound/moc/ChangeLog | 6 | ||||
-rw-r--r-- | media-sound/moc/files/moc-2.4.1+flac-1.1.3.patch | 318 | ||||
-rw-r--r-- | media-sound/moc/moc-2.4.1.ebuild | 5 |
3 files changed, 326 insertions, 3 deletions
diff --git a/media-sound/moc/ChangeLog b/media-sound/moc/ChangeLog index 877ada213b65..e3eb093ea9dc 100644 --- a/media-sound/moc/ChangeLog +++ b/media-sound/moc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-sound/moc # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/moc/ChangeLog,v 1.27 2006/11/07 06:53:15 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/moc/ChangeLog,v 1.28 2006/11/18 11:11:50 aballier Exp $ + + 18 Nov 2006; Alexis Ballier <aballier@gentoo.org> + +files/moc-2.4.1+flac-1.1.3.patch, moc-2.4.1.ebuild: + Add patch from Josh Coalson to be able to build with flac 1.1.3 *moc-2.4.1 (07 Nov 2006) diff --git a/media-sound/moc/files/moc-2.4.1+flac-1.1.3.patch b/media-sound/moc/files/moc-2.4.1+flac-1.1.3.patch new file mode 100644 index 000000000000..176db8d9e0fe --- /dev/null +++ b/media-sound/moc/files/moc-2.4.1+flac-1.1.3.patch @@ -0,0 +1,318 @@ +diff -ru moc-2.4.1/configure moc-2.4.1-b2/configure +--- moc-2.4.1/configure 2006-10-08 08:38:06.000000000 -0700 ++++ moc-2.4.1-b2/configure 2006-10-31 00:22:00.000000000 -0800 +@@ -30698,7 +30698,7 @@ + LIBFLAC_LIBS="-L$libdir" + fi + +- LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -lm" ++ LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -logg -lm" + + if test "x$libFLAC_includes" != "x" ; then + LIBFLAC_CFLAGS="-I$libFLAC_includes" +diff -ru moc-2.4.1/decoder_plugins/flac/flac.c moc-2.4.1-b2/decoder_plugins/flac/flac.c +--- moc-2.4.1/decoder_plugins/flac/flac.c 2006-02-12 03:55:10.000000000 -0800 ++++ moc-2.4.1-b2/decoder_plugins/flac/flac.c 2006-10-31 00:23:55.000000000 -0800 +@@ -28,6 +28,13 @@ + #include "log.h" + #include "io.h" + ++/* by LEGACY_FLAC we mean pre-1.1.3, before FLAC__SeekableStreamDecoder was merged into FLAC__StreamDecoder */ ++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8 ++#define LEGACY_FLAC ++#else ++#undef LEGACY_FLAC ++#endif ++ + #define MAX_SUPPORTED_CHANNELS 2 + + #define SAMPLES_PER_WRITE 512 +@@ -35,7 +42,11 @@ + + struct flac_data + { ++#ifdef LEGACY_FLAC + FLAC__SeekableStreamDecoder *decoder; ++#else ++ FLAC__StreamDecoder *decoder; ++#endif + struct io_stream *stream; + int bitrate; + int abort; /* abort playing (due to an error) */ +@@ -109,7 +120,11 @@ + } + + static FLAC__StreamDecoderWriteStatus write_callback ( ++#ifdef LEGACY_FLAC + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, ++#else ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++#endif + const FLAC__Frame *frame, + const FLAC__int32 * const buffer[], void *client_data) + { +@@ -127,7 +142,11 @@ + } + + static void metadata_callback ( ++#ifdef LEGACY_FLAC + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, ++#else ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++#endif + const FLAC__StreamMetadata *metadata, void *client_data) + { + struct flac_data *data = (struct flac_data *)client_data; +@@ -147,7 +166,11 @@ + } + + static void error_callback ( ++#ifdef LEGACY_FLAC + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, ++#else ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++#endif + FLAC__StreamDecoderErrorStatus status, void *client_data) + { + struct flac_data *data = (struct flac_data *)client_data; +@@ -160,9 +183,15 @@ + decoder_error (&data->error, ERROR_FATAL, 0, "FLAC: lost sync"); + } + ++#ifdef LEGACY_FLAC + static FLAC__SeekableStreamDecoderReadStatus read_callback ( + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, + FLAC__byte buffer[], unsigned *bytes, void *client_data) ++#else ++static FLAC__StreamDecoderReadStatus read_callback ( ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++ FLAC__byte buffer[], size_t *bytes, void *client_data) ++#endif + { + struct flac_data *data = (struct flac_data *)client_data; + ssize_t res; +@@ -171,52 +200,97 @@ + + if (res > 0) { + *bytes = res; ++#ifdef LEGACY_FLAC ++ return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK; ++#else + return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; ++#endif + } + + if (res == 0) { + *bytes = 0; ++ /* not sure why this works, but if it ain't broke... */ + return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM; + } + + error ("read error: %s", io_strerror(data->stream)); + ++#ifdef LEGACY_FLAC ++ return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR; ++#else + return FLAC__STREAM_DECODER_READ_STATUS_ABORT; ++#endif + } + ++#ifdef LEGACY_FLAC + static FLAC__SeekableStreamDecoderSeekStatus seek_callback ( + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, + FLAC__uint64 absolute_byte_offset, void *client_data) ++#else ++static FLAC__StreamDecoderSeekStatus seek_callback ( ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++ FLAC__uint64 absolute_byte_offset, void *client_data) ++#endif + { + struct flac_data *data = (struct flac_data *)client_data; + ++#ifdef LEGACY_FLAC + return io_seek(data->stream, absolute_byte_offset, SEEK_SET) >= 0 + ? FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK + : FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR; ++#else ++ return io_seek(data->stream, absolute_byte_offset, SEEK_SET) >= 0 ++ ? FLAC__STREAM_DECODER_SEEK_STATUS_OK ++ : FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; ++#endif + } + ++#ifdef LEGACY_FLAC + static FLAC__SeekableStreamDecoderTellStatus tell_callback ( + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, + FLAC__uint64 *absolute_byte_offset, void *client_data) ++#else ++static FLAC__StreamDecoderTellStatus tell_callback ( ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++ FLAC__uint64 *absolute_byte_offset, void *client_data) ++#endif + { + struct flac_data *data = (struct flac_data *)client_data; + + *absolute_byte_offset = io_tell (data->stream); ++#ifdef LEGACY_FLAC + return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK; ++#else ++ return FLAC__STREAM_DECODER_TELL_STATUS_OK; ++#endif + } + ++#ifdef LEGACY_FLAC + static FLAC__SeekableStreamDecoderLengthStatus length_callback ( + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, + FLAC__uint64 *stream_length, void *client_data) ++#else ++static FLAC__StreamDecoderLengthStatus length_callback ( ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++ FLAC__uint64 *stream_length, void *client_data) ++#endif + { + struct flac_data *data = (struct flac_data *)client_data; + + *stream_length = io_file_size (data->stream); ++#ifdef LEGACY_FLAC + return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK; ++#else ++ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; ++#endif + } + + static FLAC__bool eof_callback ( ++#ifdef LEGACY_FLAC + const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED, ++#else ++ const FLAC__StreamDecoder *decoder ATTR_UNUSED, ++#endif + void *client_data) + { + struct flac_data *data = (struct flac_data *)client_data; +@@ -248,6 +322,7 @@ + + data->ok = 1; + ++#ifdef LEGACY_FLAC + if (!(data->decoder = FLAC__seekable_stream_decoder_new())) { + decoder_error (&data->error, ERROR_FATAL, 0, + "FLAC__seekable_stream_decoder_new() failed"); +@@ -279,7 +354,7 @@ + eof_callback); + + if (FLAC__seekable_stream_decoder_init(data->decoder) +- != FLAC__FILE_DECODER_OK) { ++ != FLAC__SEEKABLE_STREAM_DECODER_OK) { + decoder_error (&data->error, ERROR_FATAL, 0, + "FLAC__seekable_stream_decoder_init() failed"); + data->ok = 0; +@@ -294,6 +369,36 @@ + data->ok = 0; + return data; + } ++#else ++ if (!(data->decoder = FLAC__stream_decoder_new())) { ++ decoder_error (&data->error, ERROR_FATAL, 0, ++ "FLAC__stream_decoder_new() failed"); ++ data->ok = 0; ++ return data; ++ } ++ ++ FLAC__stream_decoder_set_md5_checking (data->decoder, false); ++ ++ FLAC__stream_decoder_set_metadata_ignore_all (data->decoder); ++ FLAC__stream_decoder_set_metadata_respond (data->decoder, ++ FLAC__METADATA_TYPE_STREAMINFO); ++ ++ if (FLAC__stream_decoder_init_stream(data->decoder, read_callback, seek_callback, tell_callback, length_callback, eof_callback, write_callback, metadata_callback, error_callback, data) ++ != FLAC__STREAM_DECODER_INIT_STATUS_OK) { ++ decoder_error (&data->error, ERROR_FATAL, 0, ++ "FLAC__stream_decoder_init() failed"); ++ data->ok = 0; ++ return data; ++ } ++ ++ if (!FLAC__stream_decoder_process_until_end_of_metadata(data->decoder)) { ++ decoder_error (&data->error, ERROR_FATAL, 0, ++ "FLAC__stream_decoder_process_until_end_of_metadata()" ++ " failed."); ++ data->ok = 0; ++ return data; ++ } ++#endif + + return data; + } +@@ -309,8 +414,13 @@ + + if (data->ok) { + if (data->decoder) { ++#ifdef LEGACY_FLAC + FLAC__seekable_stream_decoder_finish (data->decoder); + FLAC__seekable_stream_decoder_delete (data->decoder); ++#else ++ FLAC__stream_decoder_finish (data->decoder); ++ FLAC__stream_decoder_delete (data->decoder); ++#endif + } + io_close (data->stream); + } +@@ -430,11 +540,19 @@ + target_sample = (FLAC__uint64)((sec/(double)data->length) * + (double)data->total_samples); + ++#ifdef LEGACY_FLAC + if (FLAC__seekable_stream_decoder_seek_absolute(data->decoder, + target_sample)) ++#else ++ if (FLAC__stream_decoder_seek_absolute(data->decoder, target_sample)) ++#endif + return sec; + else { ++#ifdef LEGACY_FLAC + logit ("FLAC__seekable_stream_decoder_seek_absolute() failed."); ++#else ++ logit ("FLAC__stream_decoder_seek_absolute() failed."); ++#endif + return -1; + } + } +@@ -469,22 +587,34 @@ + if (!data->sample_buffer_fill) { + debug ("decoding..."); + +- if (FLAC__seekable_stream_decoder_get_state(data->decoder) +- == FLAC__FILE_DECODER_END_OF_FILE) { ++#ifdef LEGACY_FLAC ++ if (FLAC__seekable_stream_decoder_get_state(data->decoder) == FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM) ++#else ++ if (FLAC__stream_decoder_get_state(data->decoder) == FLAC__STREAM_DECODER_END_OF_STREAM) ++#endif ++ { + logit ("EOF"); + return 0; + } + +- if (!FLAC__seekable_stream_decoder_process_single( +- data->decoder)) { ++#ifdef LEGACY_FLAC ++ if (!FLAC__seekable_stream_decoder_process_single(data->decoder)) ++#else ++ if (!FLAC__stream_decoder_process_single(data->decoder)) ++#endif ++ { + decoder_error (&data->error, ERROR_FATAL, 0, + "Read error processing frame."); + return 0; + } + + /* Count the bitrate */ ++#ifdef LEGACY_FLAC + if(!FLAC__seekable_stream_decoder_get_decode_position( + data->decoder, &decode_position)) ++#else ++ if(!FLAC__stream_decoder_get_decode_position(data->decoder, &decode_position)) ++#endif + decode_position = 0; + if (decode_position > data->last_decode_position) { + int bytes_per_sec = bytes_per_sample * data->sample_rate diff --git a/media-sound/moc/moc-2.4.1.ebuild b/media-sound/moc/moc-2.4.1.ebuild index f7c086aea524..345cd1e6fa2e 100644 --- a/media-sound/moc/moc-2.4.1.ebuild +++ b/media-sound/moc/moc-2.4.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/moc/moc-2.4.1.ebuild,v 1.1 2006/11/07 06:53:15 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/moc/moc-2.4.1.ebuild,v 1.2 2006/11/18 11:11:50 aballier Exp $ inherit eutils autotools @@ -20,7 +20,7 @@ DEPEND="media-libs/libao sys-libs/ncurses alsa? ( >=media-libs/alsa-lib-0.9 ) sndfile? ( >=media-libs/libsndfile-1.0.0 ) - flac? ( ~media-libs/flac-1.1.2 ) + flac? ( media-libs/flac ) ffmpeg? ( media-video/ffmpeg ) mad? ( media-libs/libmad sys-libs/zlib media-libs/libid3tag ) musepack? ( media-libs/libmpcdec >=media-libs/taglib-1.3 ) @@ -32,6 +32,7 @@ DEPEND="media-libs/libao src_unpack() { unpack ${A} cd "${S}" + epatch "${FILESDIR}/${P}+flac-1.1.3.patch" } src_compile() { |