diff options
author | wiz <wiz@pkgsrc.org> | 2007-01-13 23:36:28 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2007-01-13 23:36:28 +0000 |
commit | f972666daaf21b0b4a8bca26eb8769dcb83bad24 (patch) | |
tree | 8ed3a9931e20c793503a0ebbd4e1b44cc41953a5 | |
parent | f9d1c22552e4ae6936eb590a115b8f81a0b5ac67 (diff) | |
download | pkgsrc-f972666daaf21b0b4a8bca26eb8769dcb83bad24.tar.gz |
Enable flac supprt.
Add flac-1.1.3 support, using a patch from
ftp.altlinux.org /pub/people/thresh
Bump PKGREVISION.
-rw-r--r-- | audio/SDL_sound/Makefile | 5 | ||||
-rw-r--r-- | audio/SDL_sound/distinfo | 5 | ||||
-rw-r--r-- | audio/SDL_sound/patches/patch-aa | 13 | ||||
-rw-r--r-- | audio/SDL_sound/patches/patch-ac | 101 |
4 files changed, 118 insertions, 6 deletions
diff --git a/audio/SDL_sound/Makefile b/audio/SDL_sound/Makefile index d18ecaaf96b..8058db73d14 100644 --- a/audio/SDL_sound/Makefile +++ b/audio/SDL_sound/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.17 2006/07/16 07:30:45 wiz Exp $ +# $NetBSD: Makefile,v 1.18 2007/01/13 23:36:28 wiz Exp $ # DISTNAME= SDL_sound-1.0.1 -PKGREVISION= 5 +PKGREVISION= 6 CATEGORIES= audio MASTER_SITES= http://icculus.org/SDL_sound/downloads/ @@ -13,6 +13,7 @@ COMMENT= SDL library to handle the decoding of different file formats GNU_CONFIGURE= YES USE_LIBTOOL= YES +.include "../../audio/flac/buildlink3.mk" .include "../../audio/libmikmod/buildlink3.mk" .include "../../audio/libvorbis/buildlink3.mk" .include "../../devel/SDL/buildlink3.mk" diff --git a/audio/SDL_sound/distinfo b/audio/SDL_sound/distinfo index cf19361c2e2..98f13232dc9 100644 --- a/audio/SDL_sound/distinfo +++ b/audio/SDL_sound/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.3 2005/02/23 20:39:42 agc Exp $ +$NetBSD: distinfo,v 1.4 2007/01/13 23:36:28 wiz Exp $ SHA1 (SDL_sound-1.0.1.tar.gz) = 9cb8550facf64f941179ba5767f763d1d52ddd6b RMD160 (SDL_sound-1.0.1.tar.gz) = 28d934d604e5db9b3b0b681785406587323ea765 Size (SDL_sound-1.0.1.tar.gz) = 1019056 bytes -SHA1 (patch-aa) = b65a1ff2fc5f75dfb5e1e05c6aa74318836792fd +SHA1 (patch-aa) = 466578457c3c38012f5ef63632ad58a0d70675f1 +SHA1 (patch-ac) = 7c5151593785538390abc27a3ef6322fc9e5e5b1 diff --git a/audio/SDL_sound/patches/patch-aa b/audio/SDL_sound/patches/patch-aa index ecb5b962857..996f613ae88 100644 --- a/audio/SDL_sound/patches/patch-aa +++ b/audio/SDL_sound/patches/patch-aa @@ -1,7 +1,16 @@ -$NetBSD: patch-aa,v 1.1 2004/01/18 13:51:15 cube Exp $ +$NetBSD: patch-aa,v 1.2 2007/01/13 23:36:28 wiz Exp $ ---- configure.orig 2003-10-12 20:54:57.000000000 +0200 +--- configure.orig 2003-10-12 18:54:57.000000000 +0000 +++ configure +@@ -7089,7 +7089,7 @@ EOF + + fi + +-x="C__seekable_stream_decoder_process_single" ++x="C__stream_decoder_process_single" + flcsym="FLA$x" + # Check whether --enable-flac or --disable-flac was given. + if test "${enable_flac+set}" = set; then @@ -7363,15 +7363,15 @@ int main (int argc, char *argv[]) } else diff --git a/audio/SDL_sound/patches/patch-ac b/audio/SDL_sound/patches/patch-ac new file mode 100644 index 00000000000..cece50c1f25 --- /dev/null +++ b/audio/SDL_sound/patches/patch-ac @@ -0,0 +1,101 @@ +$NetBSD: patch-ac,v 1.1 2007/01/13 23:36:28 wiz Exp $ + +--- decoders/flac.c.orig 2003-03-10 22:44:14.000000000 +0000 ++++ decoders/flac.c +@@ -44,6 +44,16 @@ + #define __SDL_SOUND_INTERNAL__ + #include "SDL_sound_internal.h" + ++#include <FLAC/export.h> ++ ++/* FLAC 1.1.3 has FLAC_API_VERSION_CURRENT == 8 */ ++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8 ++#define LEGACY_FLAC ++#else ++#undef LEGACY_FLAC ++#endif ++ ++#ifdef LEGACY_FLAC + #include <FLAC/seekable_stream_decoder.h> + + #define D_END_OF_STREAM FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM +@@ -80,6 +90,34 @@ typedef FLAC__SeekableStreamDecoderReadS + typedef FLAC__SeekableStreamDecoderSeekStatus d_seek_status_t; + typedef FLAC__SeekableStreamDecoderTellStatus d_tell_status_t; + typedef FLAC__SeekableStreamDecoderLengthStatus d_length_status_t; ++#else ++#include <FLAC/stream_decoder.h> ++ ++#define D_END_OF_STREAM FLAC__STREAM_DECODER_END_OF_STREAM ++ ++#define d_new() FLAC__stream_decoder_new() ++#define d_process_metadata(x) FLAC__stream_decoder_process_until_end_of_metadata(x) ++#define d_process_one_frame(x) FLAC__stream_decoder_process_single(x) ++#define d_get_state(x) FLAC__stream_decoder_get_state(x) ++#define d_finish(x) FLAC__stream_decoder_finish(x) ++#define d_delete(x) FLAC__stream_decoder_delete(x) ++ ++typedef FLAC__StreamDecoder decoder_t; ++typedef FLAC__StreamDecoderReadStatus d_read_status_t; ++ ++#define D_SEEK_STATUS_OK FLAC__STREAM_DECODER_SEEK_STATUS_OK ++#define D_SEEK_STATUS_ERROR FLAC__STREAM_DECODER_SEEK_STATUS_ERROR ++#define D_TELL_STATUS_OK FLAC__STREAM_DECODER_TELL_STATUS_OK ++#define D_TELL_STATUS_ERROR FLAC__STREAM_DECODER_TELL_STATUS_ERROR ++#define D_LENGTH_STATUS_OK FLAC__STREAM_DECODER_LENGTH_STATUS_OK ++#define D_LENGTH_STATUS_ERROR FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR ++ ++#define d_seek_absolute(x, y) FLAC__stream_decoder_seek_absolute(x, y) ++ ++typedef FLAC__StreamDecoderSeekStatus d_seek_status_t; ++typedef FLAC__StreamDecoderTellStatus d_tell_status_t; ++typedef FLAC__StreamDecoderLengthStatus d_length_status_t; ++#endif + + #define D_WRITE_CONTINUE FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE + #define D_READ_END_OF_STREAM FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM +@@ -141,9 +179,15 @@ static void free_flac(flac_t *f) + } /* free_flac */ + + ++#ifdef LEGACY_FLAC + static d_read_status_t read_callback( + const decoder_t *decoder, FLAC__byte buffer[], + unsigned int *bytes, void *client_data) ++#else ++static d_read_status_t read_callback( ++ const decoder_t *decoder, FLAC__byte buffer[], ++ size_t *bytes, void *client_data) ++#endif + { + flac_t *f = (flac_t *) client_data; + Uint32 retval; +@@ -400,6 +444,7 @@ static int FLAC_open(Sound_Sample *sampl + BAIL_MACRO(ERR_OUT_OF_MEMORY, 0); + } /* if */ + ++#ifdef LEGACY_FLAC + d_set_read_callback(decoder, read_callback); + d_set_write_callback(decoder, write_callback); + d_set_metadata_callback(decoder, metadata_callback); +@@ -410,6 +455,7 @@ static int FLAC_open(Sound_Sample *sampl + d_set_eof_callback(decoder, eof_callback); + + d_set_client_data(decoder, f); ++#endif + + f->rw = internal->rw; + f->sample = sample; +@@ -418,7 +464,12 @@ static int FLAC_open(Sound_Sample *sampl + f->is_flac = 0 /* !!! FIXME: should be "has_extension", not "0". */; + + internal->decoder_private = f; ++ /* really should check the init return value here: */ ++#ifdef LEGACY_FLAC + d_init(decoder); ++#else ++ FLAC__stream_decoder_init_stream(decoder, read_callback, seek_callback, tell_callback, length_callback, eof_callback, write_callback, metadata_callback, error_callback, f); ++#endif + + sample->flags = SOUND_SAMPLEFLAG_NONE; + |