summaryrefslogtreecommitdiff
path: root/audio/SDL_sound
diff options
context:
space:
mode:
authorwiz <wiz>2007-01-13 23:36:28 +0000
committerwiz <wiz>2007-01-13 23:36:28 +0000
commit29d80a0a5899bb67fd0758967c6aa0f70e1b3f91 (patch)
tree8ed3a9931e20c793503a0ebbd4e1b44cc41953a5 /audio/SDL_sound
parentcc6d521904d343b341e7c20a7ec809f30332b5bd (diff)
downloadpkgsrc-29d80a0a5899bb67fd0758967c6aa0f70e1b3f91.tar.gz
Enable flac supprt.
Add flac-1.1.3 support, using a patch from ftp.altlinux.org /pub/people/thresh Bump PKGREVISION.
Diffstat (limited to 'audio/SDL_sound')
-rw-r--r--audio/SDL_sound/Makefile5
-rw-r--r--audio/SDL_sound/distinfo5
-rw-r--r--audio/SDL_sound/patches/patch-aa13
-rw-r--r--audio/SDL_sound/patches/patch-ac101
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;
+