Revbump in ~arch for flac 1.1.3 compatibility
authorAlexis Ballier <aballier@gentoo.org>
Sun, 25 Mar 2007 21:47:48 +0000 (21:47 +0000)
committerAlexis Ballier <aballier@gentoo.org>
Sun, 25 Mar 2007 21:47:48 +0000 (21:47 +0000)
Package-Manager: portage-2.1.2.2

media-sound/timidity++/ChangeLog
media-sound/timidity++/Manifest
media-sound/timidity++/files/digest-timidity++-2.13.2-r4 [new file with mode: 0644]
media-sound/timidity++/files/timidity++-2.13.2-flac113.patch [new file with mode: 0644]
media-sound/timidity++/timidity++-2.13.2-r4.ebuild [new file with mode: 0644]

index 5ef5f1e0b134e151ed307fade058604036ebbc81..405f34b56fcc5a87ef1c0a56fa224bd2783c45c0 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-sound/timidity++
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/ChangeLog,v 1.83 2007/02/24 15:22:18 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/ChangeLog,v 1.84 2007/03/25 21:47:48 aballier Exp $
+
+*timidity++-2.13.2-r4 (25 Mar 2007)
+
+  25 Mar 2007; Alexis Ballier <aballier@gentoo.org>
+  +files/timidity++-2.13.2-flac113.patch, +timidity++-2.13.2-r4.ebuild:
+  Revbump in ~arch for flac 1.1.3 compatibility
 
   24 Feb 2007; Jeroen Roovers <jer@gentoo.org> timidity++-2.13.2-r3.ebuild:
   Stable for HPPA (bug #156160).
index 180f466a8d576041517dce7e096859bc86132b32..f9184b70baf7be1b9ca462af15b6b30f108685c9 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX conf.d.timidity 912 RMD160 ba936b4f721ed4d3dac2912659b13b125b09833a SHA1 4636543aa1c2c90afb4ee02e8f11067bda2bd271 SHA256 df5cec5d1335b9bdaf87c358b6d69f4f9300454c16aceaaccb212c98fb08f5a3
 MD5 dbfc5d45b6177ffaf7dd74d4971a520a files/conf.d.timidity 912
 RMD160 ba936b4f721ed4d3dac2912659b13b125b09833a files/conf.d.timidity 912
@@ -14,6 +17,10 @@ AUX timidity++-2.13.2-flac.patch 735 RMD160 65abbbc330b0ae486af3686cea8329a4f9a1
 MD5 fbb9c52d90ff967d8b4ac08643ef7b1c files/timidity++-2.13.2-flac.patch 735
 RMD160 65abbbc330b0ae486af3686cea8329a4f9a1b75c files/timidity++-2.13.2-flac.patch 735
 SHA256 5ae270f3bc0b74def45dde4b85d178c8ebfbef01752ef6b4ec2588ffda48bbca files/timidity++-2.13.2-flac.patch 735
+AUX timidity++-2.13.2-flac113.patch 11509 RMD160 709a31cc664a9686f1ac22974459e0c932511418 SHA1 173cc8f2ec5ecfc834d5a0027aa3cdecd3f9f14d SHA256 2ed4abfb75d225f6bd295ba4ffbc63f47c6caab57cb09e670df508c5d7447424
+MD5 ff74914a618a874e104729609cba4a63 files/timidity++-2.13.2-flac113.patch 11509
+RMD160 709a31cc664a9686f1ac22974459e0c932511418 files/timidity++-2.13.2-flac113.patch 11509
+SHA256 2ed4abfb75d225f6bd295ba4ffbc63f47c6caab57cb09e670df508c5d7447424 files/timidity++-2.13.2-flac113.patch 11509
 AUX timidity++-2.13.2-gcc4.patch 1325 RMD160 31383eb4a1d0a839d60af8d635aeba02febc9bb5 SHA1 8d50618a2379c078b07e8d0fc59457855c16106c SHA256 20ca5deb95ccbb527c0212f4ad002a5a8df1a9c005e210494abe7bc240cef3ee
 MD5 0868926c5290817cacb9a1849bc043c2 files/timidity++-2.13.2-gcc4.patch 1325
 RMD160 31383eb4a1d0a839d60af8d635aeba02febc9bb5 files/timidity++-2.13.2-gcc4.patch 1325
@@ -40,14 +47,18 @@ EBUILD timidity++-2.13.2-r3.ebuild 4772 RMD160 b67b71198bddf632f202a445691a63865
 MD5 9e274f094fc4e229c0a0afe5be7c3492 timidity++-2.13.2-r3.ebuild 4772
 RMD160 b67b71198bddf632f202a445691a638653397966 timidity++-2.13.2-r3.ebuild 4772
 SHA256 d28b6f84721ad3297e9f15d7ea04e139451cf587641c42aa798e421518a37335 timidity++-2.13.2-r3.ebuild 4772
+EBUILD timidity++-2.13.2-r4.ebuild 4824 RMD160 6db07aa11bf8cdf93960aca52a88ec0cc7397ed6 SHA1 271d4ee08b9d926e34a39b14b76be63e9f19ffd9 SHA256 f9a34543d70fd7f0c5794fbf53c7ee16e0e798ea96e31a4195cd788556ff9dff
+MD5 becd051cafe3174c613b3f25f89efb96 timidity++-2.13.2-r4.ebuild 4824
+RMD160 6db07aa11bf8cdf93960aca52a88ec0cc7397ed6 timidity++-2.13.2-r4.ebuild 4824
+SHA256 f9a34543d70fd7f0c5794fbf53c7ee16e0e798ea96e31a4195cd788556ff9dff timidity++-2.13.2-r4.ebuild 4824
 EBUILD timidity++-2.13.2.ebuild 3784 RMD160 ff9de8215e85a51aefb8bc8e3f47f4ac4b6f3dfb SHA1 57d572f8027a67b07ff9714dd67bdf311ec6d1ba SHA256 77943ab78073f61e0d638025c3c7f6d81fb5df598972394880a52c7e961aed76
 MD5 a187b929f58ed93b04d0deecbcce6782 timidity++-2.13.2.ebuild 3784
 RMD160 ff9de8215e85a51aefb8bc8e3f47f4ac4b6f3dfb timidity++-2.13.2.ebuild 3784
 SHA256 77943ab78073f61e0d638025c3c7f6d81fb5df598972394880a52c7e961aed76 timidity++-2.13.2.ebuild 3784
-MISC ChangeLog 13265 RMD160 530695cfb0a2a84b250043178bfbed30580b87cc SHA1 0cac517bcf1f3ae349042acb42d3011fe9e684ff SHA256 29a894b214e2fe053019b13a8f68b101cee6dec5585b4634a4deb4ee376253df
-MD5 0986f7da96d7d2c78093991bcde8e8d1 ChangeLog 13265
-RMD160 530695cfb0a2a84b250043178bfbed30580b87cc ChangeLog 13265
-SHA256 29a894b214e2fe053019b13a8f68b101cee6dec5585b4634a4deb4ee376253df ChangeLog 13265
+MISC ChangeLog 13480 RMD160 dd405fcb77f65739961acdd6165f5570f9ae77b2 SHA1 cbc866bb3ca271050967ecdd4342ab0451580a8e SHA256 c5b2d66dd423b45eb47410534dcd1b5f0351bef87f3ad7b754d2f52581c5fc9e
+MD5 2f26263ebb26a2f3077a61c9d4ec5813 ChangeLog 13480
+RMD160 dd405fcb77f65739961acdd6165f5570f9ae77b2 ChangeLog 13480
+SHA256 c5b2d66dd423b45eb47410534dcd1b5f0351bef87f3ad7b754d2f52581c5fc9e ChangeLog 13480
 MISC metadata.xml 158 RMD160 6842e2189a50bd8a98e84802c38180ac1421c00e SHA1 703cea5a2109d41f7c87993c1f01d418a4c85174 SHA256 dfb5b47e6836db39fb187301dfcff1c2605e91d13d21db160806a563d8c75f9b
 MD5 a1eaeb2ae801daeb712c90c060e922dc metadata.xml 158
 RMD160 6842e2189a50bd8a98e84802c38180ac1421c00e metadata.xml 158
@@ -61,3 +72,13 @@ SHA256 98bad02a8730d1cd370c7b6f53cecc9bf9ddaa29625e93f228b7feefed147f82 files/di
 MD5 f9f8b7aa60633b1d571491781e2c2f1d files/digest-timidity++-2.13.2-r3 536
 RMD160 c335b2484ab9ba2e1c2cff0a5bc14325614c31ad files/digest-timidity++-2.13.2-r3 536
 SHA256 98bad02a8730d1cd370c7b6f53cecc9bf9ddaa29625e93f228b7feefed147f82 files/digest-timidity++-2.13.2-r3 536
+MD5 f9f8b7aa60633b1d571491781e2c2f1d files/digest-timidity++-2.13.2-r4 536
+RMD160 c335b2484ab9ba2e1c2cff0a5bc14325614c31ad files/digest-timidity++-2.13.2-r4 536
+SHA256 98bad02a8730d1cd370c7b6f53cecc9bf9ddaa29625e93f228b7feefed147f82 files/digest-timidity++-2.13.2-r4 536
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.3 (GNU/Linux)
+
+iD8DBQFGBu4GvFcC4BYPU0oRAnXBAJkB3Oqhx+2bvCM8x0l60vV7sW9j3wCeK6WJ
+rpOkCJ23sxm2jt+rKeFJxJU=
+=jMsN
+-----END PGP SIGNATURE-----
diff --git a/media-sound/timidity++/files/digest-timidity++-2.13.2-r4 b/media-sound/timidity++/files/digest-timidity++-2.13.2-r4
new file mode 100644 (file)
index 0000000..7a95c8b
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 a82ceeb2245e22f4de2b41da21eaee32 TiMidity++-2.13.2.tar.bz2 1581230
+RMD160 0156221846a88abef9312700a050972d85084fd8 TiMidity++-2.13.2.tar.bz2 1581230
+SHA256 0a8524b789b57eaf944c3d9bce32c21a4e893016b22a02a24cd0a4c6afee7260 TiMidity++-2.13.2.tar.bz2 1581230
+MD5 31bdaea612f18e2c3d45a8a73ab44c81 timidity++-2.13.2-exiterror.patch 21406
+RMD160 6b73552e18580422ca4471f12142440a4f3760a9 timidity++-2.13.2-exiterror.patch 21406
+SHA256 ccf1a3678beff5cd143bec07b64ca35620b8eac98b093898c072459051752b77 timidity++-2.13.2-exiterror.patch 21406
diff --git a/media-sound/timidity++/files/timidity++-2.13.2-flac113.patch b/media-sound/timidity++/files/timidity++-2.13.2-flac113.patch
new file mode 100644 (file)
index 0000000..e7f9d4b
--- /dev/null
@@ -0,0 +1,281 @@
+Index: TiMidity++-2.13.2/timidity/flac_a.c
+===================================================================
+--- TiMidity++-2.13.2.orig/timidity/flac_a.c
++++ TiMidity++-2.13.2/timidity/flac_a.c
+@@ -45,6 +45,11 @@
+ #endif
+ #include <FLAC/all.h>
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
+ #ifdef AU_OGGFLAC
+ #include <OggFLAC/stream_encoder.h>
+ #endif
+@@ -100,7 +105,11 @@ typedef struct {
+   unsigned long out_bytes;
+   union {
+     FLAC__StreamEncoderState flac;
++#ifdef LEGACY_FLAC
+     FLAC__SeekableStreamEncoderState s_flac;
++#else
++    FLAC__StreamEncoderState s_flac;
++#endif
+ #ifdef AU_OGGFLAC
+     OggFLAC__StreamEncoderState ogg;
+ #endif
+@@ -108,7 +117,11 @@ typedef struct {
+   union {
+     union {
+       FLAC__StreamEncoder *stream;
++#ifdef LEGACY_FLAC
+       FLAC__SeekableStreamEncoder *s_stream;
++#else
++      FLAC__StreamEncoder *s_stream;
++#endif
+     } flac;
+ #ifdef AU_OGGFLAC
+     union {
+@@ -174,11 +187,19 @@ static void flac_stream_encoder_metadata
+                                                 const FLAC__StreamMetadata *metadata,
+                                                 void *client_data);
+ static FLAC__StreamEncoderWriteStatus
++#ifdef LEGACY_FLAC
+ flac_seekable_stream_encoder_write_callback(const FLAC__SeekableStreamEncoder *encoder,
++#else
++flac_seekable_stream_encoder_write_callback(const FLAC__StreamEncoder *encoder,
++#endif
+                                  const FLAC__byte buffer[],
+                                  unsigned bytes, unsigned samples,
+                                  unsigned current_frame, void *client_data);
++#ifdef LEGACY_FLAC
+ static void flac_seekable_stream_encoder_metadata_callback(const FLAC__SeekableStreamEncoder *encoder,
++#else
++static void flac_seekable_stream_encoder_metadata_callback(const FLAC__StreamEncoder *encoder,
++#endif
+                                                 const FLAC__StreamMetadata *metadata,
+                                                 void *client_data);
+@@ -306,8 +327,13 @@ static int flac_session_close()
+ #endif /* AU_OGGFLAC */
+     if (flac_options.seekable) {
+       if (ctx->encoder.flac.s_stream) {
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_finish(ctx->encoder.flac.s_stream);
+       FLAC__seekable_stream_encoder_delete(ctx->encoder.flac.s_stream);
++#else
++      FLAC__stream_encoder_finish(ctx->encoder.flac.s_stream);
++      FLAC__stream_encoder_delete(ctx->encoder.flac.s_stream);
++#endif
+       }
+     }
+     else
+@@ -435,17 +461,29 @@ static int flac_output_open(const char *
+   else
+ #endif /* AU_OGGFLAC */
+   if (flac_options.seekable) {
++#ifdef LEGACY_FLAC
+     if ((ctx->encoder.flac.s_stream = FLAC__seekable_stream_encoder_new()) == NULL) {
++#else
++    if ((ctx->encoder.flac.s_stream = FLAC__stream_encoder_new()) == NULL) {
++#endif
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "cannot create FLAC stream");
+       flac_session_close();
+       return -1;
+     }
++#ifdef LEGACY_FLAC
+     FLAC__seekable_stream_encoder_set_channels(ctx->encoder.flac.s_stream, nch);
+     /* 16bps only */
+     FLAC__seekable_stream_encoder_set_bits_per_sample(ctx->encoder.flac.s_stream, 16);
+     FLAC__seekable_stream_encoder_set_verify(ctx->encoder.flac.s_stream, flac_options.verify);
++#else
++    FLAC__stream_encoder_set_channels(ctx->encoder.flac.s_stream, nch);
++    /* 16bps only */
++    FLAC__stream_encoder_set_bits_per_sample(ctx->encoder.flac.s_stream, 16);
++
++    FLAC__stream_encoder_set_verify(ctx->encoder.flac.s_stream, flac_options.verify);
++#endif
+     if (!FLAC__format_sample_rate_is_valid(dpm.rate)) {
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "invalid sampling rate %d",
+@@ -453,27 +491,54 @@ static int flac_output_open(const char *
+       flac_session_close();
+       return -1;
+     }
++#ifdef LEGACY_FLAC
+     FLAC__seekable_stream_encoder_set_sample_rate(ctx->encoder.flac.s_stream, dpm.rate);
+     FLAC__seekable_stream_encoder_set_qlp_coeff_precision(ctx->encoder.flac.s_stream, flac_options.qlp_coeff_precision);
+     /* expensive! */
+     FLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search(ctx->encoder.flac.s_stream, flac_options.qlp_coeff_precision_search);
++#else
++    FLAC__stream_encoder_set_sample_rate(ctx->encoder.flac.s_stream, dpm.rate);
++
++    FLAC__stream_encoder_set_qlp_coeff_precision(ctx->encoder.flac.s_stream, flac_options.qlp_coeff_precision);
++    /* expensive! */
++    FLAC__stream_encoder_set_do_qlp_coeff_prec_search(ctx->encoder.flac.s_stream, flac_options.qlp_coeff_precision_search);
++#endif
++
+     if (nch == 2) {
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_do_mid_side_stereo(ctx->encoder.flac.s_stream, flac_options.mid_side);
+       FLAC__seekable_stream_encoder_set_loose_mid_side_stereo(ctx->encoder.flac.s_stream, flac_options.adaptive_mid_side);
++#else
++      FLAC__stream_encoder_set_do_mid_side_stereo(ctx->encoder.flac.s_stream, flac_options.mid_side);
++      FLAC__stream_encoder_set_loose_mid_side_stereo(ctx->encoder.flac.s_stream, flac_options.adaptive_mid_side);
++#endif
+     }
++#ifdef LEGACY_FLAC
+     FLAC__seekable_stream_encoder_set_max_lpc_order(ctx->encoder.flac.s_stream, flac_options.max_lpc_order);
+     FLAC__seekable_stream_encoder_set_min_residual_partition_order(ctx->encoder.flac.s_stream, flac_options.min_residual_partition_order);
+     FLAC__seekable_stream_encoder_set_max_residual_partition_order(ctx->encoder.flac.s_stream, flac_options.max_residual_partition_order);
+     FLAC__seekable_stream_encoder_set_blocksize(ctx->encoder.flac.s_stream, flac_options.blocksize);
+     FLAC__seekable_stream_encoder_set_client_data(ctx->encoder.flac.s_stream, ctx);
++#else
++    FLAC__stream_encoder_set_max_lpc_order(ctx->encoder.flac.s_stream, flac_options.max_lpc_order);
++    FLAC__stream_encoder_set_min_residual_partition_order(ctx->encoder.flac.s_stream, flac_options.min_residual_partition_order);
++    FLAC__stream_encoder_set_max_residual_partition_order(ctx->encoder.flac.s_stream, flac_options.max_residual_partition_order);
++
++    FLAC__stream_encoder_set_blocksize(ctx->encoder.flac.s_stream, flac_options.blocksize);
++#endif
+     if (0 < num_metadata)
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_metadata(ctx->encoder.flac.s_stream, metadata, num_metadata);
++#else
++      FLAC__stream_encoder_set_metadata(ctx->encoder.flac.s_stream, metadata, num_metadata);
++#endif
++#ifdef LEGACY_FLAC
+     /* set callback */
+ /*    FLAC__seekable_stream_encoder_set_metadata_callback(ctx->encoder.flac.s_stream, flac_seekable_stream_encoder_metadata_callback); /* */
+ #ifndef __BORLANDC__
+@@ -483,8 +548,17 @@ static int flac_output_open(const char *
+     ctx->state.s_flac = FLAC__seekable_stream_encoder_init(ctx->encoder.flac.s_stream);
+     if (ctx->state.s_flac != FLAC__SEEKABLE_STREAM_ENCODER_OK) {
++#else
++
++    ctx->state.s_flac = FLAC__stream_encoder_init_stream(ctx->encoder.flac.s_stream, flac_seekable_stream_encoder_write_callback, NULL, NULL, flac_seekable_stream_encoder_metadata_callback,  ctx);
++    if (ctx->state.s_flac != FLAC__STREAM_ENCODER_OK) {
++#endif
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "cannot create FLAC state (%s)",
++#ifdef LEGACY_FLAC
+               FLAC__SeekableStreamEncoderStateString[ctx->state.s_flac]);
++#else
++              FLAC__StreamEncoderStateString[ctx->state.s_flac]);
++#endif
+       flac_session_close();
+       return -1;
+     }
+@@ -525,16 +599,22 @@ static int flac_output_open(const char *
+     FLAC__stream_encoder_set_max_residual_partition_order(ctx->encoder.flac.stream, flac_options.max_residual_partition_order);
+     FLAC__stream_encoder_set_blocksize(ctx->encoder.flac.stream, flac_options.blocksize);
++#ifdef LEGACY_FLAC
+     FLAC__stream_encoder_set_client_data(ctx->encoder.flac.stream, ctx);
++#endif
+     if (0 < num_metadata)
+       FLAC__stream_encoder_set_metadata(ctx->encoder.flac.stream, metadata, num_metadata);
++#ifdef LEGACY_FLAC
+     /* set callback */
+     FLAC__stream_encoder_set_metadata_callback(ctx->encoder.flac.stream, flac_stream_encoder_metadata_callback);
+     FLAC__stream_encoder_set_write_callback(ctx->encoder.flac.stream, flac_stream_encoder_write_callback);
+     ctx->state.flac = FLAC__stream_encoder_init(ctx->encoder.flac.stream);
++#else
++    ctx->state.flac = FLAC__stream_encoder_init_stream(ctx->encoder.flac.stream, flac_stream_encoder_write_callback, NULL, NULL,  flac_stream_encoder_metadata_callback, ctx);
++#endif
+     if (ctx->state.flac != FLAC__STREAM_ENCODER_OK) {
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "cannot create FLAC state (%s)",
+               FLAC__StreamEncoderStateString[ctx->state.flac]);
+@@ -676,7 +756,11 @@ static void flac_stream_encoder_metadata
+ {
+ }
+ static FLAC__StreamEncoderWriteStatus
++#ifdef LEGACY_FLAC
+ flac_seekable_stream_encoder_write_callback(const FLAC__SeekableStreamEncoder *encoder,
++#else
++flac_seekable_stream_encoder_write_callback(const FLAC__StreamEncoder *encoder,
++#endif
+                                  const FLAC__byte buffer[],
+                                  unsigned bytes, unsigned samples,
+                                  unsigned current_frame, void *client_data)
+@@ -690,7 +774,11 @@ flac_seekable_stream_encoder_write_callb
+   else
+     return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR;
+ }
++#ifdef LEGACY_FLAC
+ static void flac_seekable_stream_encoder_metadata_callback(const FLAC__SeekableStreamEncoder *encoder,
++#else
++static void flac_seekable_stream_encoder_metadata_callback(const FLAC__StreamEncoder *encoder,
++#endif
+                                                 const FLAC__StreamMetadata *metadata,
+                                                 void *client_data)
+ {
+@@ -747,22 +835,38 @@ static int output_data(char *buf, int32 
+   else
+ #endif /* AU_OGGFLAC */
+       if (flac_options.seekable) {
++#ifdef LEGACY_FLAC
+     ctx->state.s_flac = FLAC__seekable_stream_encoder_get_state(ctx->encoder.flac.s_stream);
++#else
++    ctx->state.s_flac = FLAC__stream_encoder_get_state(ctx->encoder.flac.s_stream);
++#endif
+     if (ctx->state.s_flac != FLAC__STREAM_ENCODER_OK) {
+       if (ctx->state.s_flac == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR |
+         FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) {
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "FLAC stream verify error (%s)",
++#ifdef LEGACY_FLAC
+                 FLAC__SeekableStreamDecoderStateString[FLAC__seekable_stream_encoder_get_verify_decoder_state(ctx->encoder.flac.s_stream)]);
++#else
++                FLAC__StreamDecoderStateString[FLAC__stream_encoder_get_verify_decoder_state(ctx->encoder.flac.s_stream)]);
++#endif
+       }
+       else {
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "cannot encode FLAC stream (%s)",
++#ifdef LEGACY_FLAC
+                 FLAC__SeekableStreamEncoderStateString[ctx->state.s_flac]);
++#else
++                FLAC__StreamEncoderStateString[ctx->state.s_flac]);
++#endif
+       }
+       flac_session_close();
+       return -1;
+     }
++#ifdef LEGACY_FLAC
+     if (!FLAC__seekable_stream_encoder_process_interleaved(ctx->encoder.flac.s_stream, oggbuf,
++#else
++    if (!FLAC__stream_encoder_process_interleaved(ctx->encoder.flac.s_stream, oggbuf,
++#endif
+                                                 nbytes / nch / 2 )) {
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "cannot encode FLAC stream");
+       flac_session_close();
+@@ -823,9 +927,17 @@ static void close_output(void)
+   else
+ #endif /* AU_OGGFLAC */
+   if (flac_options.seekable) {
++#ifdef LEGACY_FLAC
+     if ((ctx->state.s_flac = FLAC__seekable_stream_encoder_get_state(ctx->encoder.flac.s_stream)) != FLAC__SEEKABLE_STREAM_ENCODER_OK) {
++#else
++    if ((ctx->state.s_flac = FLAC__stream_encoder_get_state(ctx->encoder.flac.s_stream)) != FLAC__STREAM_ENCODER_OK) {
++#endif
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "FLAC stream encoder is invalid (%s)",
++#ifdef LEGACY_FLAC
+               FLAC__SeekableStreamEncoderStateString[ctx->state.s_flac]);
++#else
++              FLAC__StreamEncoderStateString[ctx->state.s_flac]);
++#endif
+       /* fall through */
+     }
+       }
diff --git a/media-sound/timidity++/timidity++-2.13.2-r4.ebuild b/media-sound/timidity++/timidity++-2.13.2-r4.ebuild
new file mode 100644 (file)
index 0000000..6cf5802
--- /dev/null
@@ -0,0 +1,161 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/timidity++-2.13.2-r4.ebuild,v 1.1 2007/03/25 21:47:48 aballier Exp $
+
+inherit eutils
+
+MY_PV=${PV/_/-}
+MY_P=TiMidity++-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
+HOMEPAGE="http://timidity.sourceforge.net/"
+SRC_URI="mirror://sourceforge/timidity/${MY_P}.tar.bz2 mirror://gentoo/${P}-exiterror.patch"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="oss nas esd motif X gtk gtk vorbis tk slang alsa arts jack portaudio emacs ao speex flac ncurses"
+
+DEPEND="ncurses? ( >=sys-libs/ncurses-5.0 )
+       gtk? ( >=x11-libs/gtk+-2.0 )
+       tk? ( >=dev-lang/tk-8.1 )
+       motif? ( virtual/motif )
+       esd? ( >=media-sound/esound-0.2.22 )
+       nas? ( >=media-libs/nas-1.4 )
+       alsa? ( media-libs/alsa-lib )
+       slang? ( =sys-libs/slang-1.4* )
+       arts? ( kde-base/arts )
+       jack? ( media-sound/jack-audio-connection-kit )
+       portaudio? ( media-libs/portaudio )
+       vorbis? ( >=media-libs/libvorbis-1.0_beta4 )
+       flac? ( >=media-libs/flac-1.1.2 )
+       speex? ( >=media-libs/speex-1.1.5 )
+       ao? ( >=media-libs/libao-0.8.5 )"
+
+RDEPEND="${RDEPEND}
+       app-admin/eselect-timidity
+       emacs? ( virtual/emacs )"
+
+PDEPEND="|| ( media-sound/timidity-eawpatches media-sound/timidity-shompatches media-sound/timidity-freepats )"
+
+pkg_setup() {
+       if use alsa && ! built_with_use --missing true media-libs/alsa-lib midi; then
+               eerror ""
+               eerror "To be able to build TiMidity++ with ALSA support you need"
+               eerror "to have built media-libs/alsa-lib with midi USE flag."
+               die "Missing midi USE flag on media-libs/alsa-lib"
+       fi
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+       epatch "${DISTDIR}/${P}-exiterror.patch"
+       epatch "${FILESDIR}/${P}-gtk26.patch"
+       epatch "${FILESDIR}/${P}-gcc4.patch"
+       epatch "${FILESDIR}/${P}-flac.patch"
+       epatch "${FILESDIR}/${P}-flac113.patch"
+
+       # fix header location of speex
+       sed -i -e "s:#include <speex:#include <speex/speex:g" configure* timidity/speex_a.c
+}
+
+src_compile() {
+       local myconf
+       local audios
+
+       use flac && audios="${audios},flac"
+       use speex && audios="${audios},speex"
+       use vorbis && audios="${audios},vorbis"
+
+       use oss && audios="${audios},oss"
+       use esd && audios="${audios},esd"
+       use arts && audios="${audios},arts"
+       use jack && audios="${audios},jack"
+       use portaudio && use !ppc && audios="${audios},portaudio"
+       use ao && audios="${audios},ao"
+
+       if use nas; then
+               audios="${audios},nas"
+               myconf="${myconf} --with-nas-library=/usr/$(get_libdir)/libaudio.so --with-x"
+               use X || ewarn "Basic X11 support will be enabled because required by nas."
+       fi
+
+       if use alsa; then
+               audios="${audios},alsa"
+               myconf="${myconf} --with-default-output=alsa --enable-alsaseq"
+       fi
+
+       # We disable motif by default and then only enable it if it's requested.
+       if use motif; then
+               myconf="${myconf} --enable-motif --with-x"
+               use X || ewarn "Basic X11 support will be enabled because required by motif."
+       fi
+
+       econf \
+               --localstatedir=/var/state/timidity++ \
+               --with-elf \
+               --enable-audio=${audios} \
+               --enable-server \
+               --enable-network \
+               --enable-dynamic \
+               --enable-vt100 \
+               --enable-spline=cubic \
+               $(use_enable emacs) \
+               $(use_enable slang) \
+               $(use_enable ncurses) \
+               $(use_with X x) \
+               $(use_enable X spectrogram) \
+               $(use_enable X wrd) \
+               $(use_enable X xskin) \
+               $(use_enable X xaw) \
+               $(use_enable gtk) \
+               $(use_enable tk tcltk) \
+               --disable-motif \
+               ${myconf} || die
+
+       emake || die
+}
+
+src_install() {
+       make DESTDIR="${D}" install || die
+
+       dodoc AUTHORS ChangeLog*
+       dodoc NEWS README* "${FILESDIR}/timidity.cfg"
+
+       # these are only for the ALSA sequencer mode
+       if use alsa; then
+               newconfd "${FILESDIR}/conf.d.timidity" timidity
+               newinitd "${FILESDIR}/init.d.timidity" timidity
+       fi
+
+       insinto /etc
+       newins "${FILESDIR}/timidity.cfg-r1" timidity.cfg
+
+       dodir /usr/share/timidity
+       dosym /etc/timidity.cfg /usr/share/timidity/timidity.cfg
+
+       if use emacs ; then
+               dosed 's:/usr/local/bin/timidity:/usr/bin/timidity:g' /usr/share/emacs/site-lisp/timidity.el
+       else
+               rm "${D}/timidity.el"
+       fi
+}
+
+pkg_postinst() {
+       elog "A timidity config file has been installed in /etc/timidity.cfg."
+       elog "Do not edit this file as it will interfere with the eselect timidity tool."
+       elog "The tool 'eselect timidity' can be used to switch between installed patchsets."
+
+       if use alsa; then
+               elog "An init script for the alsa timidity sequencer has been installed."
+               elog "If you wish to use the timidity virtual sequencer, edit /etc/conf.d/timidity"
+               elog "and run 'rc-update add timidity <runlevel> && /etc/init.d/timidity start'"
+       fi
+
+       if use sparc; then
+               ewarn "sparc support is experimental. oss, alsa, esd, and portaudio do not work."
+               ewarn "-Ow (save to wave file) does..."
+       fi
+}