aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorChristian Weisgerber <naddy@FreeBSD.org>2008-04-07 20:37:23 +0000
committerChristian Weisgerber <naddy@FreeBSD.org>2008-04-07 20:37:23 +0000
commitfc6f8996911202c6df18b1ee15a9cb205ba4ea49 (patch)
tree539cb57de0e25c0fcfd062eb36d849e1f96fdb90 /audio
parente736f59941a3e760ba36b76c2472497f04a3d7da (diff)
downloadports-fc6f8996911202c6df18b1ee15a9cb205ba4ea49.tar.gz
ports-fc6f8996911202c6df18b1ee15a9cb205ba4ea49.zip
Notes
Diffstat (limited to 'audio')
-rw-r--r--audio/akode-plugins-xiph/Makefile1
-rw-r--r--audio/akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp11
-rw-r--r--audio/aqualung/Makefile3
-rw-r--r--audio/bmp-flac/Makefile6
-rw-r--r--audio/bmp-flac/files/patch-src_plugin_bmp_plugin.c153
-rw-r--r--audio/bmp-flac/files/patch-src_share_grabbag_replaygain.c85
-rw-r--r--audio/cmus/Makefile2
-rw-r--r--audio/cynthiune/Makefile2
-rw-r--r--audio/cynthiune/files/patch-Bundles_FLACTags_FLACTags.m71
-rw-r--r--audio/cynthiune/files/patch-Bundles_FLAC_FLAC.h11
-rw-r--r--audio/cynthiune/files/patch-Bundles_FLAC_FLAC.m129
-rw-r--r--audio/easytag-devel/Makefile1
-rw-r--r--audio/easytag/Makefile2
-rw-r--r--audio/flac/Makefile36
-rw-r--r--audio/flac/distinfo9
-rw-r--r--audio/flac/files/patch-Makefile.in16
-rw-r--r--audio/flac/files/patch-configure17
-rw-r--r--audio/flac/files/patch-doc_Makefile.in14
-rw-r--r--audio/flac/files/patch-doc_html_Makefile.in35
-rw-r--r--audio/flac/files/patch-doc_html_images_Makefile.in14
-rw-r--r--audio/flac/files/patch-doc_html_ru_Makefile.in14
-rw-r--r--audio/flac/files/patch-man_flac.113
-rw-r--r--audio/flac/files/patch-src_libFLAC++_metadata.cpp66
-rw-r--r--audio/flac/files/patch-src_libFLAC_Makefile.in16
-rw-r--r--audio/flac/files/patch-src_libFLAC_bitbuffer.c31
-rw-r--r--audio/flac/files/patch-src_libFLAC_cpu.c32
-rw-r--r--audio/flac/files/patch-src_libFLAC_file__decoder.c22
-rw-r--r--audio/flac/files/patch-src_libFLAC_file__encoder.c22
-rw-r--r--audio/flac/files/patch-src_libFLAC_format.c25
-rw-r--r--audio/flac/files/patch-src_libFLAC_include_private_md5.h14
-rw-r--r--audio/flac/files/patch-src_libFLAC_md5.c35
-rw-r--r--audio/flac/files/patch-src_libFLAC_memory.c76
-rw-r--r--audio/flac/files/patch-src_libFLAC_metadata__iterators.c67
-rw-r--r--audio/flac/files/patch-src_libFLAC_metadata__object.c176
-rw-r--r--audio/flac/files/patch-src_libFLAC_stream__decoder.c121
-rw-r--r--audio/flac/files/patch-src_libFLAC_stream__encoder.c22
-rw-r--r--audio/flac/files/patch-src_libOggFLAC_file__decoder.c22
-rw-r--r--audio/flac/files/patch-src_libOggFLAC_file__encoder.c22
-rw-r--r--audio/flac/files/patch-src_libOggFLAC_ogg__helper.c31
-rw-r--r--audio/flac/files/patch-src_metaflac_operations.c24
-rw-r--r--audio/flac/files/patch-src_metaflac_options.c66
-rw-r--r--audio/flac/files/patch-src_metaflac_utils.c22
-rw-r--r--audio/flac/files/patch-src_plugin__common_charset.c25
-rw-r--r--audio/flac/files/patch-src_plugin__common_tags.c59
-rw-r--r--audio/flac/files/patch-src_share_utf8_charset.c22
-rw-r--r--audio/flac/files/patch-src_share_utf8_iconvert.c49
-rw-r--r--audio/flac/files/patch-src_share_utf8_utf8.c72
-rw-r--r--audio/flac/pkg-descr4
-rw-r--r--audio/flac/pkg-plist256
-rw-r--r--audio/flac123/Makefile3
-rw-r--r--audio/gstreamer-plugins-flac/Makefile2
-rw-r--r--audio/gtkpod/Makefile3
-rw-r--r--audio/hydrogen/Makefile8
-rw-r--r--audio/hydrogen/files/patch-src_lib_FLACFile.cpp21
-rw-r--r--audio/ices0/Makefile4
-rw-r--r--audio/kid3-kde4/Makefile3
-rw-r--r--audio/kid3/Makefile3
-rw-r--r--audio/libsndfile/Makefile4
-rw-r--r--audio/libsndfile/files/patch-flac_metadata_support44
-rw-r--r--audio/libsndfile/files/patch-src_flac.c501
-rw-r--r--audio/libtunepimp-old/Makefile2
-rw-r--r--audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.cpp57
-rw-r--r--audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.h11
-rw-r--r--audio/libtunepimp/Makefile2
-rw-r--r--audio/lmms/Makefile2
-rw-r--r--audio/moc/Makefile6
-rw-r--r--audio/moc/distinfo3
-rw-r--r--audio/muine/Makefile3
-rw-r--r--audio/musicpd/Makefile4
-rw-r--r--audio/p5-Audio-FLAC-Header/Makefile3
-rw-r--r--audio/py-flac/Makefile2
-rw-r--r--audio/rezound/Makefile4
-rw-r--r--audio/rezound/files/patch-src_backend_CFLACSoundTranslator.cpp69
-rw-r--r--audio/sdl_sound/Makefile4
-rw-r--r--audio/sdl_sound/files/patch-configure13
-rw-r--r--audio/sdl_sound/files/patch-decoders_flac.c99
-rw-r--r--audio/sox/Makefile3
-rw-r--r--audio/squash/Makefile4
-rw-r--r--audio/squash/files/patch-include::play_flac.h31
-rw-r--r--audio/squash/files/patch-src::play_flac.c231
-rw-r--r--audio/vorbis-tools/Makefile3
-rw-r--r--audio/xmcd/Makefile4
-rw-r--r--audio/xmcd/files/patch-ak519
-rw-r--r--audio/xmms-flac/Makefile16
-rw-r--r--audio/xmms-flac/distinfo9
-rw-r--r--audio/xmms-flac/files/patch-configure17
-rw-r--r--audio/xmms-flac/files/patch-src_plugin__common_charset.c25
-rw-r--r--audio/xmms-flac/files/patch-src_plugin__common_tags.c59
-rw-r--r--audio/xmms-flac/files/patch-src_plugin__xmms_Makefile.in26
-rw-r--r--audio/xmms-flac/files/patch-src_plugin__xmms_http.c16
-rw-r--r--audio/xmms-flac/files/patch-src_plugin__xmms_plugin.c34
-rw-r--r--audio/xmms-flac/files/patch-src_share_utf8_charset.c22
-rw-r--r--audio/xmms-flac/files/patch-src_share_utf8_iconvert.c49
-rw-r--r--audio/xmms-flac/files/patch-src_share_utf8_utf8.c72
-rw-r--r--audio/xmms2/Makefile3
95 files changed, 2271 insertions, 1796 deletions
diff --git a/audio/akode-plugins-xiph/Makefile b/audio/akode-plugins-xiph/Makefile
index a6469e6d9b06..5635e7d24397 100644
--- a/audio/akode-plugins-xiph/Makefile
+++ b/audio/akode-plugins-xiph/Makefile
@@ -7,6 +7,7 @@
PORTNAME= akode-plugins-${PORTNAMESUFX}
PORTVERSION= 2.0.2
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= audio kde
MASTER_SITES= ${MASTER_SITE_GENTOO}
diff --git a/audio/akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp b/audio/akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp
new file mode 100644
index 000000000000..3ca2593f4bf1
--- /dev/null
+++ b/audio/akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp
@@ -0,0 +1,11 @@
+--- akode/plugins/xiph_decoder/flac113_decoder.cpp.orig 2008-03-27 16:11:26.000000000 +0100
++++ akode/plugins/xiph_decoder/flac113_decoder.cpp 2008-03-27 16:11:46.000000000 +0100
+@@ -108,7 +108,7 @@ struct FLACDecoder::private_data {
+ static FLAC__StreamDecoderReadStatus flac_read_callback(
+ const FLAC__StreamDecoder *,
+ FLAC__byte buffer[],
+- unsigned *bytes,
++ size_t *bytes,
+ void *client_data)
+ {
+ FLACDecoder::private_data *data = (FLACDecoder::private_data*)client_data;
diff --git a/audio/aqualung/Makefile b/audio/aqualung/Makefile
index 9b0dfc7cd25e..c6b7eb0baead 100644
--- a/audio/aqualung/Makefile
+++ b/audio/aqualung/Makefile
@@ -7,6 +7,7 @@
PORTNAME= aqualung
DISTVERSION= 0.9beta9
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= SF
@@ -16,7 +17,7 @@ COMMENT= Music player with rich features
LIB_DEPENDS= jack.0:${PORTSDIR}/audio/jack \
samplerate.1:${PORTSDIR}/audio/libsamplerate \
sndfile.1:${PORTSDIR}/audio/libsndfile \
- FLAC.7:${PORTSDIR}/audio/flac \
+ FLAC.10:${PORTSDIR}/audio/flac \
vorbis.4:${PORTSDIR}/audio/libvorbis \
oggz.3:${PORTSDIR}/audio/liboggz \
speex.1:${PORTSDIR}/audio/speex \
diff --git a/audio/bmp-flac/Makefile b/audio/bmp-flac/Makefile
index cdb57a81c81f..9bf67c60d713 100644
--- a/audio/bmp-flac/Makefile
+++ b/audio/bmp-flac/Makefile
@@ -7,7 +7,7 @@
PORTNAME= flac
PORTVERSION= 20040316
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= audio
MASTER_SITES= http://ccm.sherry.jp/tmp/
PKGNAMEPREFIX= bmp-
@@ -17,7 +17,7 @@ MAINTAINER= nork@FreeBSD.org
COMMENT= FLAC input plugin for beep-media-player
LIB_DEPENDS= beep.2:${PORTSDIR}/multimedia/beep-media-player \
- FLAC.7:${PORTSDIR}/audio/flac
+ FLAC.10:${PORTSDIR}/audio/flac
PLIST_FILES= lib/bmp/Input/libbmp-flac.so
@@ -33,8 +33,10 @@ post-patch:
@${REINPLACE_CMD} -e 's|echo aout|echo elf|' ${WRKSRC}/configure
# "obj" is magic to our make(1)
+# make sure we get the new includes from ${LOCALBASE}/include/FLAC
post-configure:
@${RM} -rf ${WRKSRC}/obj
+ @${RM} -rf ${WRKSRC}/include/FLAC
# This is to avoid libtool running ldconfig -m ${X11BASE}/lib/bmp/Input
do-install:
diff --git a/audio/bmp-flac/files/patch-src_plugin_bmp_plugin.c b/audio/bmp-flac/files/patch-src_plugin_bmp_plugin.c
new file mode 100644
index 000000000000..ca6fd56766ae
--- /dev/null
+++ b/audio/bmp-flac/files/patch-src_plugin_bmp_plugin.c
@@ -0,0 +1,153 @@
+--- src/plugin_bmp/plugin.c.orig 2008-04-06 19:21:13.000000000 +0200
++++ src/plugin_bmp/plugin.c 2008-04-06 19:45:38.000000000 +0200
+@@ -80,12 +80,12 @@ static void FLAC_XMMS__cleanup();
+ static void FLAC_XMMS__get_song_info(char *filename, char **title, int *length);
+
+ static void *play_loop_(void *arg);
+-static FLAC__bool safe_decoder_init_(const char *filename, FLAC__FileDecoder *decoder);
+-static void safe_decoder_finish_(FLAC__FileDecoder *decoder);
+-static void safe_decoder_delete_(FLAC__FileDecoder *decoder);
+-static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
+-static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
+-static void error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
++static FLAC__bool safe_decoder_init_(const char *filename, FLAC__StreamDecoder *decoder);
++static void safe_decoder_finish_(FLAC__StreamDecoder *decoder);
++static void safe_decoder_delete_(FLAC__StreamDecoder *decoder);
++static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
++static void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
++static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
+
+ InputPlugin flac_ip =
+ {
+@@ -120,7 +120,7 @@ InputPlugin flac_ip =
+ static FLAC__byte sample_buffer_[SAMPLE_BUFFER_SIZE];
+ static unsigned sample_buffer_first_, sample_buffer_last_;
+
+-static FLAC__FileDecoder *decoder_ = 0;
++static FLAC__StreamDecoder *decoder_ = 0;
+ static file_info_struct file_info_;
+ static pthread_t decode_thread_;
+ static FLAC__bool audio_error_ = false;
+@@ -186,7 +186,7 @@ void FLAC_XMMS__init()
+ if(!xmms_cfg_read_int(cfg, "flac", "output.resolution.replaygain.bps_out", &flac_cfg.output.resolution.replaygain.bps_out))
+ flac_cfg.output.resolution.replaygain.bps_out = 16;
+
+- decoder_ = FLAC__file_decoder_new();
++ decoder_ = FLAC__stream_decoder_new();
+
+ xmms_cfg_free(cfg);
+ }
+@@ -359,11 +359,11 @@ void *play_loop_(void *arg)
+ unsigned s;
+
+ s = sample_buffer_last_ - sample_buffer_first_;
+- if(FLAC__file_decoder_get_state(decoder_) == FLAC__FILE_DECODER_END_OF_FILE) {
++ if(FLAC__stream_decoder_get_state(decoder_) == FLAC__STREAM_DECODER_END_OF_STREAM) {
+ file_info_.eof = true;
+ break;
+ }
+- else if(!FLAC__file_decoder_process_single(decoder_)) {
++ else if(!FLAC__stream_decoder_process_single(decoder_)) {
+ /*@@@ this should probably be a dialog */
+ fprintf(stderr, "libxmms-flac: READ ERROR processing frame\n");
+ file_info_.eof = true;
+@@ -371,7 +371,7 @@ void *play_loop_(void *arg)
+ }
+ blocksize = sample_buffer_last_ - sample_buffer_first_ - s;
+ decode_position_frame_last = decode_position_frame;
+- if(!FLAC__file_decoder_get_decode_position(decoder_, &decode_position_frame))
++ if(!FLAC__stream_decoder_get_decode_position(decoder_, &decode_position_frame))
+ decode_position_frame = 0;
+ }
+ if(sample_buffer_last_ - sample_buffer_first_ > 0) {
+@@ -413,10 +413,10 @@ void *play_loop_(void *arg)
+ if(file_info_.seek_to_in_sec != -1) {
+ const double distance = (double)file_info_.seek_to_in_sec * 1000.0 / (double)file_info_.length_in_msec;
+ unsigned target_sample = (unsigned)(distance * (double)file_info_.total_samples);
+- if(FLAC__file_decoder_seek_absolute(decoder_, (FLAC__uint64)target_sample)) {
++ if(FLAC__stream_decoder_seek_absolute(decoder_, (FLAC__uint64)target_sample)) {
+ flac_ip.output->flush(file_info_.seek_to_in_sec * 1000);
+ bh_index_last_w = bh_index_last_o = flac_ip.output->output_time() / BITRATE_HIST_SEGMENT_MSEC % BITRATE_HIST_SIZE;
+- if(!FLAC__file_decoder_get_decode_position(decoder_, &decode_position_frame))
++ if(!FLAC__stream_decoder_get_decode_position(decoder_, &decode_position_frame))
+ decode_position_frame = 0;
+ file_info_.seek_to_in_sec = -1;
+ file_info_.eof = false;
+@@ -445,46 +445,41 @@ void *play_loop_(void *arg)
+ return 0; /* to silence the compiler warning about not returning a value */
+ }
+
+-FLAC__bool safe_decoder_init_(const char *filename, FLAC__FileDecoder *decoder)
++FLAC__bool safe_decoder_init_(const char *filename, FLAC__StreamDecoder *decoder)
+ {
+ if(decoder == 0)
+ return false;
+
+ safe_decoder_finish_(decoder);
+
+- FLAC__file_decoder_set_md5_checking(decoder, false);
+- FLAC__file_decoder_set_filename(decoder, filename);
+- FLAC__file_decoder_set_metadata_ignore_all(decoder);
+- FLAC__file_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_STREAMINFO);
+- FLAC__file_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
+- FLAC__file_decoder_set_write_callback(decoder, write_callback_);
+- FLAC__file_decoder_set_metadata_callback(decoder, metadata_callback_);
+- FLAC__file_decoder_set_error_callback(decoder, error_callback_);
+- FLAC__file_decoder_set_client_data(decoder, &file_info_);
+- if(FLAC__file_decoder_init(decoder) != FLAC__FILE_DECODER_OK)
++ FLAC__stream_decoder_set_md5_checking(decoder, false);
++ FLAC__stream_decoder_set_metadata_ignore_all(decoder);
++ FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_STREAMINFO);
++ FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
++ if(FLAC__stream_decoder_init_file(decoder, filename, write_callback_, metadata_callback_, error_callback_, /*client_data=*/&file_info_) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
+ return false;
+
+- if(!FLAC__file_decoder_process_until_end_of_metadata(decoder))
++ if(!FLAC__stream_decoder_process_until_end_of_metadata(decoder))
+ return false;
+
+ return true;
+ }
+
+-void safe_decoder_finish_(FLAC__FileDecoder *decoder)
++void safe_decoder_finish_(FLAC__StreamDecoder *decoder)
+ {
+- if(decoder && FLAC__file_decoder_get_state(decoder) != FLAC__FILE_DECODER_UNINITIALIZED)
+- FLAC__file_decoder_finish(decoder);
++ if(decoder && FLAC__stream_decoder_get_state(decoder) != FLAC__STREAM_DECODER_UNINITIALIZED)
++ FLAC__stream_decoder_finish(decoder);
+ }
+
+-void safe_decoder_delete_(FLAC__FileDecoder *decoder)
++void safe_decoder_delete_(FLAC__StreamDecoder *decoder)
+ {
+ if(decoder) {
+ safe_decoder_finish_(decoder);
+- FLAC__file_decoder_delete(decoder);
++ FLAC__stream_decoder_delete(decoder);
+ }
+ }
+
+-FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
++FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
+ {
+ file_info_struct *file_info = (file_info_struct *)client_data;
+ const unsigned channels = file_info->channels, wide_samples = frame->header.blocksize;
+@@ -544,7 +539,7 @@ FLAC__StreamDecoderWriteStatus write_cal
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+-void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
++void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
+ {
+ file_info_struct *file_info = (file_info_struct *)client_data;
+ (void)decoder;
+@@ -565,7 +560,7 @@ void metadata_callback_(const FLAC__File
+ }
+ }
+
+-void error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
++void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
+ {
+ file_info_struct *file_info = (file_info_struct *)client_data;
+ (void)decoder;
diff --git a/audio/bmp-flac/files/patch-src_share_grabbag_replaygain.c b/audio/bmp-flac/files/patch-src_share_grabbag_replaygain.c
new file mode 100644
index 000000000000..4c9d8c6da045
--- /dev/null
+++ b/audio/bmp-flac/files/patch-src_share_grabbag_replaygain.c
@@ -0,0 +1,85 @@
+--- src/share/grabbag/replaygain.c.orig 2004-02-12 09:00:39.000000000 +0100
++++ src/share/grabbag/replaygain.c 2008-04-06 21:03:18.000000000 +0200
+@@ -19,8 +19,8 @@
+ #include "share/grabbag.h"
+ #include "share/replaygain_analysis.h"
+ #include "FLAC/assert.h"
+-#include "FLAC/file_decoder.h"
+ #include "FLAC/metadata.h"
++#include "FLAC/stream_decoder.h"
+ #include <locale.h>
+ #include <math.h>
+ #include <stdio.h>
+@@ -266,7 +266,7 @@
+ FLAC__bool error;
+ } DecoderInstance;
+
+-static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
++static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
+ {
+ DecoderInstance *instance = (DecoderInstance*)client_data;
+ const unsigned bits_per_sample = frame->header.bits_per_sample;
+@@ -295,7 +295,7 @@
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+
+-static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
++static void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
+ {
+ DecoderInstance *instance = (DecoderInstance*)client_data;
+
+@@ -318,7 +318,7 @@
+ }
+ }
+
+-static void error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
++static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
+ {
+ DecoderInstance *instance = (DecoderInstance*)client_data;
+
+@@ -330,7 +330,7 @@
+ const char *grabbag__replaygain_analyze_file(const char *filename, float *title_gain, float *title_peak)
+ {
+ DecoderInstance instance;
+- FLAC__FileDecoder *decoder = FLAC__file_decoder_new();
++ FLAC__StreamDecoder *decoder = FLAC__stream_decoder_new();
+
+ if(0 == decoder)
+ return "memory allocation error";
+@@ -338,27 +338,22 @@
+ instance.error = false;
+
+ /* It does these three by default but lets be explicit: */
+- FLAC__file_decoder_set_md5_checking(decoder, false);
+- FLAC__file_decoder_set_metadata_ignore_all(decoder);
+- FLAC__file_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_STREAMINFO);
+-
+- FLAC__file_decoder_set_filename(decoder, filename);
+- FLAC__file_decoder_set_write_callback(decoder, write_callback_);
+- FLAC__file_decoder_set_metadata_callback(decoder, metadata_callback_);
+- FLAC__file_decoder_set_error_callback(decoder, error_callback_);
+- FLAC__file_decoder_set_client_data(decoder, &instance);
++ FLAC__stream_decoder_set_md5_checking(decoder, false);
++ FLAC__stream_decoder_set_metadata_ignore_all(decoder);
++ FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_STREAMINFO);
+
+- if(FLAC__file_decoder_init(decoder) != FLAC__FILE_DECODER_OK) {
+- FLAC__file_decoder_delete(decoder);
++
++ if(FLAC__stream_decoder_init_file(decoder, filename, write_callback_, metadata_callback_, error_callback_, &instance) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
++ FLAC__stream_decoder_delete(decoder);
+ return "initializing decoder";
+ }
+
+- if(!FLAC__file_decoder_process_until_end_of_file(decoder) || instance.error) {
+- FLAC__file_decoder_delete(decoder);
++ if(!FLAC__stream_decoder_process_until_end_of_stream(decoder) || instance.error) {
++ FLAC__stream_decoder_delete(decoder);
+ return "decoding file";
+ }
+
+- FLAC__file_decoder_delete(decoder);
++ FLAC__stream_decoder_delete(decoder);
+
+ grabbag__replaygain_get_title(title_gain, title_peak);
+
diff --git a/audio/cmus/Makefile b/audio/cmus/Makefile
index ac3dc1eded26..a985b1409f41 100644
--- a/audio/cmus/Makefile
+++ b/audio/cmus/Makefile
@@ -7,7 +7,7 @@
PORTNAME= cmus
PORTVERSION= 2.2.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= audio
MASTER_SITES= http://onion.dynserv.net/~timo/files/ \
http://mirror.greaterscope.net/cmus/
diff --git a/audio/cynthiune/Makefile b/audio/cynthiune/Makefile
index df8b67220b6d..3db788c23375 100644
--- a/audio/cynthiune/Makefile
+++ b/audio/cynthiune/Makefile
@@ -7,7 +7,7 @@
PORTNAME= cynthiune
PORTVERSION= 0.9.5
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio gnustep
MASTER_SITES= ${MASTER_SITE_DEBIAN}
MASTER_SITE_SUBDIR= pool/main/c/cynthiune.app
diff --git a/audio/cynthiune/files/patch-Bundles_FLACTags_FLACTags.m b/audio/cynthiune/files/patch-Bundles_FLACTags_FLACTags.m
new file mode 100644
index 000000000000..4b2e6b23f40d
--- /dev/null
+++ b/audio/cynthiune/files/patch-Bundles_FLACTags_FLACTags.m
@@ -0,0 +1,71 @@
+--- Bundles/FLACTags/FLACTags.m.orig 2006-03-21 22:41:04.000000000 +0100
++++ Bundles/FLACTags/FLACTags.m 2008-03-27 17:23:35.000000000 +0100
+@@ -78,14 +78,14 @@ processComment (FLAC__StreamMetadata_Vor
+ }
+
+ static FLAC__StreamDecoderWriteStatus
+-writeCallback (const FLAC__FileDecoder *fileDecoder, const FLAC__Frame *frame,
++writeCallback (const FLAC__StreamDecoder *fileDecoder, const FLAC__Frame *frame,
+ const FLAC__int32 * const buffer[], void *clientData)
+ {
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+ static void
+-metadataCallback (const FLAC__FileDecoder *fileDecoder,
++metadataCallback (const FLAC__StreamDecoder *fileDecoder,
+ const FLAC__StreamMetadata *metadata,
+ void *clientData)
+ {
+@@ -104,7 +104,7 @@ metadataCallback (const FLAC__FileDecode
+ }
+
+ static void
+-errorCallback (const FLAC__FileDecoder *fileDecoder,
++errorCallback (const FLAC__StreamDecoder *fileDecoder,
+ FLAC__StreamDecoderErrorStatus status,
+ void *clientData)
+ {
+@@ -132,30 +132,25 @@ errorCallback (const FLAC__FileDecoder *
+ year: (NSString **) year
+ ofFilename: (NSString *) filename
+ {
+- FLAC__FileDecoder *fileDecoder;
++ FLAC__StreamDecoder *fileDecoder;
+ BOOL result;
+ NSString **arrayOfValues[] = { title, artist, album, trackNumber,
+ genre, year };
+
+- fileDecoder = FLAC__file_decoder_new();
++ fileDecoder = FLAC__stream_decoder_new();
+ if (fileDecoder)
+ {
+- FLAC__file_decoder_set_metadata_ignore_all (fileDecoder);
+- FLAC__file_decoder_set_metadata_respond (fileDecoder,
++ FLAC__stream_decoder_set_metadata_ignore_all (fileDecoder);
++ FLAC__stream_decoder_set_metadata_respond (fileDecoder,
+ FLAC__METADATA_TYPE_VORBIS_COMMENT);
+- FLAC__file_decoder_set_metadata_callback (fileDecoder,
+- metadataCallback);
+- FLAC__file_decoder_set_write_callback (fileDecoder, writeCallback);
+- FLAC__file_decoder_set_error_callback (fileDecoder, errorCallback);
+- FLAC__file_decoder_set_client_data (fileDecoder, arrayOfValues);
+-
+- result = (FLAC__file_decoder_set_filename (fileDecoder,
+- [filename cString])
+- && (FLAC__file_decoder_init (fileDecoder)
+- == FLAC__FILE_DECODER_OK)
+- && FLAC__file_decoder_process_until_end_of_metadata
+- (fileDecoder));
+- FLAC__file_decoder_delete (fileDecoder);
++ result = (FLAC__stream_decoder_init_file (fileDecoder,
++ [filename cString],
++ writeCallback, metadataCallback,
++ errorCallback,
++ *arrayOfValues)
++ == FLAC__STREAM_DECODER_INIT_STATUS_OK)
++ && FLAC__stream_decoder_process_until_end_of_metadata (fileDecoder);
++ FLAC__stream_decoder_delete (fileDecoder);
+ }
+ else
+ result = NO;
diff --git a/audio/cynthiune/files/patch-Bundles_FLAC_FLAC.h b/audio/cynthiune/files/patch-Bundles_FLAC_FLAC.h
new file mode 100644
index 000000000000..85680ee18b61
--- /dev/null
+++ b/audio/cynthiune/files/patch-Bundles_FLAC_FLAC.h
@@ -0,0 +1,11 @@
+--- Bundles/FLAC/FLAC.h.orig 2006-03-21 11:11:19.000000000 +0100
++++ Bundles/FLAC/FLAC.h 2008-03-27 17:23:35.000000000 +0100
+@@ -31,7 +31,7 @@
+
+ @interface FLAC : NSObject <CynthiuneBundle, Format>
+ {
+- FLAC__FileDecoder *fileDecoder;
++ FLAC__StreamDecoder *fileDecoder;
+
+ unsigned int bitsPerSample;
+ unsigned int duration;
diff --git a/audio/cynthiune/files/patch-Bundles_FLAC_FLAC.m b/audio/cynthiune/files/patch-Bundles_FLAC_FLAC.m
new file mode 100644
index 000000000000..119d4b090bd3
--- /dev/null
+++ b/audio/cynthiune/files/patch-Bundles_FLAC_FLAC.m
@@ -0,0 +1,129 @@
+--- Bundles/FLAC/FLAC.m.orig 2006-03-21 22:39:13.000000000 +0100
++++ Bundles/FLAC/FLAC.m 2008-03-27 17:23:35.000000000 +0100
+@@ -39,7 +39,7 @@
+ #define LOCALIZED(X) _b ([FLAC class], X)
+
+ static FLAC__StreamDecoderWriteStatus
+-writeCallback (const FLAC__FileDecoder *fileDecoder, const FLAC__Frame *frame,
++writeCallback (const FLAC__StreamDecoder *fileDecoder, const FLAC__Frame *frame,
+ const FLAC__int32 * const buffer[], void *clientData)
+ {
+ CFLAC *cStream;
+@@ -70,7 +70,7 @@ writeCallback (const FLAC__FileDecoder *
+ }
+
+ static void
+-metadataCallback (const FLAC__FileDecoder *fileDecoder,
++metadataCallback (const FLAC__StreamDecoder *fileDecoder,
+ const FLAC__StreamMetadata *metadata,
+ void *clientData)
+ {
+@@ -88,7 +88,7 @@ metadataCallback (const FLAC__FileDecode
+ }
+
+ static void
+-errorCallback (const FLAC__FileDecoder *fileDecoder,
++errorCallback (const FLAC__StreamDecoder *fileDecoder,
+ FLAC__StreamDecoderErrorStatus status,
+ void *clientData)
+ {
+@@ -161,25 +161,24 @@ errorCallback (const FLAC__FileDecoder *
+
+ - (BOOL) _initializeFileDecoderWithFilename: (NSString *) fileName
+ {
+- FLAC__file_decoder_set_metadata_ignore_all (fileDecoder);
+- FLAC__file_decoder_set_metadata_respond (fileDecoder,
++ FLAC__stream_decoder_set_metadata_ignore_all (fileDecoder);
++ FLAC__stream_decoder_set_metadata_respond (fileDecoder,
+ FLAC__METADATA_TYPE_STREAMINFO);
+- FLAC__file_decoder_set_metadata_callback (fileDecoder,
+- metadataCallback);
+- FLAC__file_decoder_set_write_callback (fileDecoder, writeCallback);
+- FLAC__file_decoder_set_error_callback (fileDecoder, errorCallback);
+- FLAC__file_decoder_set_client_data (fileDecoder, self);
+-
+- return (FLAC__file_decoder_set_filename (fileDecoder, [fileName cString])
+- && (FLAC__file_decoder_init (fileDecoder) == FLAC__FILE_DECODER_OK)
+- && FLAC__file_decoder_process_until_end_of_metadata (fileDecoder));
++ return (FLAC__stream_decoder_init_file (fileDecoder,
++ [fileName cString],
++ writeCallback,
++ metadataCallback,
++ errorCallback,
++ self)
++ == FLAC__STREAM_DECODER_INIT_STATUS_OK)
++ && FLAC__stream_decoder_process_until_end_of_metadata (fileDecoder);
+ }
+
+ - (BOOL) streamOpen: (NSString *) fileName
+ {
+ BOOL result;
+
+- fileDecoder = FLAC__file_decoder_new();
++ fileDecoder = FLAC__stream_decoder_new();
+
+ if (fileDecoder)
+ {
+@@ -187,7 +186,7 @@ errorCallback (const FLAC__FileDecoder *
+ result = YES;
+ else
+ {
+- FLAC__file_decoder_delete (fileDecoder);
++ FLAC__stream_decoder_delete (fileDecoder);
+ fileDecoder = NULL;
+ result = NO;
+ }
+@@ -200,7 +199,7 @@ errorCallback (const FLAC__FileDecoder *
+
+ - (void) streamClose
+ {
+- FLAC__file_decoder_delete (fileDecoder);
++ FLAC__stream_decoder_delete (fileDecoder);
+ fileDecoder = NULL;
+ }
+
+@@ -215,7 +214,7 @@ errorCallback (const FLAC__FileDecoder *
+ if (position >= readBufferSize)
+ {
+ position = 0;
+- success = FLAC__file_decoder_process_single (fileDecoder);
++ success = FLAC__stream_decoder_process_single (fileDecoder);
+ }
+
+ if (success)
+@@ -251,13 +250,13 @@ errorCallback (const FLAC__FileDecoder *
+ withSize: (unsigned int) bufferSize
+ {
+ int readBytes;
+- FLAC__FileDecoderState state;
++ FLAC__StreamDecoderState state;
+
+- state = FLAC__file_decoder_get_state (fileDecoder);
++ state = FLAC__stream_decoder_get_state (fileDecoder);
+
+- if (state == FLAC__FILE_DECODER_OK)
++ if (state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC)
+ readBytes = [self _processNextChunk: buffer withSize: bufferSize];
+- else if (state == FLAC__FILE_DECODER_END_OF_FILE)
++ else if (state == FLAC__STREAM_DECODER_END_OF_STREAM)
+ readBytes = 0;
+ else
+ readBytes = -1;
+@@ -272,7 +271,7 @@ errorCallback (const FLAC__FileDecoder *
+
+ - (void) seek: (unsigned int) aPos
+ {
+- FLAC__file_decoder_seek_absolute (fileDecoder, aPos * rate);
++ FLAC__stream_decoder_seek_absolute (fileDecoder, aPos * rate);
+ }
+
+ - (unsigned int) readChannels
+@@ -295,7 +294,7 @@ errorCallback (const FLAC__FileDecoder *
+ if (readBuffer)
+ free (readBuffer);
+ if (fileDecoder)
+- FLAC__file_decoder_delete (fileDecoder);
++ FLAC__stream_decoder_delete (fileDecoder);
+ [super dealloc];
+ }
+
diff --git a/audio/easytag-devel/Makefile b/audio/easytag-devel/Makefile
index 6a242133ce73..fd0bb472840e 100644
--- a/audio/easytag-devel/Makefile
+++ b/audio/easytag-devel/Makefile
@@ -7,6 +7,7 @@
PORTNAME= easytag
PORTVERSION= 2.1.5
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/audio/easytag/Makefile b/audio/easytag/Makefile
index f7a40017bce9..410a224f8229 100644
--- a/audio/easytag/Makefile
+++ b/audio/easytag/Makefile
@@ -7,7 +7,7 @@
PORTNAME= easytag
PORTVERSION= 2.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/audio/flac/Makefile b/audio/flac/Makefile
index 7031a4a532bc..d8ffb4ddb1e3 100644
--- a/audio/flac/Makefile
+++ b/audio/flac/Makefile
@@ -6,14 +6,10 @@
#
PORTNAME= flac
-PORTVERSION= 1.1.2
-PORTREVISION= 2
+PORTVERSION= 1.2.1
CATEGORIES= audio
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:sf/} \
- ${MASTER_SITE_LOCAL:S/$/:local/}
-MASTER_SITE_SUBDIR= ${PORTNAME}/:sf naddy/:local
-DISTFILES= ${EXTRACT_ONLY}:sf flac-alloc.h:local
-EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
MAINTAINER= naddy@FreeBSD.org
COMMENT= Free lossless audio codec
@@ -26,14 +22,17 @@ GNU_CONFIGURE= yes
CONFIGURE_TARGET= --target=${ARCH}-unknown-freebsd${OSREL}
CONFIGURE_ARGS= --enable-sse \
--with-libiconv-prefix="${LOCALBASE}" \
- --with-ogg="${LOCALBASE}"
-CONFIGURE_ENV= CPPFLAGS="-I${WRKSRC}/include" \
- ac_cv_path_XMMS_CONFIG=no
+ --with-ogg="${LOCALBASE}" \
+ --disable-thorough-tests \
+ --disable-xmms-plugin
+CONFIGURE_ENV= CPPFLAGS="-I${WRKSRC}/include"
+MAKE_ARGS= pkgconfigdir="${PREFIX}/libdata/pkgconfig"
+MAKE_ENV= MAKEOBJDIR=/nonexistent # ignore ${WRKSRC}/obj
.if defined(NOPORTDOCS)
-MAKE_ENV= DOC=""
+MAKE_ENV+= DOC=""
.else
-MAKE_ENV= DOC=doc
+MAKE_ENV+= DOC=doc
.endif
USE_LDCONFIG= yes
@@ -42,20 +41,17 @@ MAN1= flac.1 metaflac.1
.include <bsd.port.pre.mk>
.if ${ARCH} == "i386"
-BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
+BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
.endif
-post-extract:
- @${CP} ${DISTDIR}/flac-alloc.h ${WRKSRC}/include/share/alloc.h
-
-# "obj" is magic to our make(1)
-post-configure:
- @${RM} -rf ${WRKSRC}/obj
+pre-patch:
+ @${REINPLACE_CMD} 's:^docdir = $$(datadir)/doc/$$(PACKAGE)-$$(VERSION):docdir = $$(datadir)/doc/$$(PACKAGE):' \
+ `find ${WRKSRC}/doc -name Makefile.in`
post-build:
${REINPLACE_CMD} 's:%%PREFIX%%:${PREFIX}:' ${WRKSRC}/man/flac.1
test: build
- @cd ${WRKSRC}; ${MAKE} check
+ @cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} check
.include <bsd.port.post.mk>
diff --git a/audio/flac/distinfo b/audio/flac/distinfo
index 0928ac572faf..63088d9fe7b5 100644
--- a/audio/flac/distinfo
+++ b/audio/flac/distinfo
@@ -1,6 +1,3 @@
-MD5 (flac-1.1.2.tar.gz) = 2bfc127cdda02834d0491ab531a20960
-SHA256 (flac-1.1.2.tar.gz) = ce4f7d11b3c04a7368c916ca4abc284dd0c0256f461dfb7f07df1ab445e7a5c0
-SIZE (flac-1.1.2.tar.gz) = 1516235
-MD5 (flac-alloc.h) = 08891390039e2aee9bd4335f784467db
-SHA256 (flac-alloc.h) = da40afc663e5b3fe6dccd1a0f1c218b7ec02d3699d72b41d6978696896d7df98
-SIZE (flac-alloc.h) = 5697
+MD5 (flac-1.2.1.tar.gz) = 153c8b15a54da428d1f0fadc756c22c7
+SHA256 (flac-1.2.1.tar.gz) = 9635a44bceb478bbf2ee8a785cf6986fba525afb5fad1fd4bba73cf71f2d3edf
+SIZE (flac-1.2.1.tar.gz) = 2009217
diff --git a/audio/flac/files/patch-Makefile.in b/audio/flac/files/patch-Makefile.in
index b0a73cdc9a22..14dd79539ad5 100644
--- a/audio/flac/files/patch-Makefile.in
+++ b/audio/flac/files/patch-Makefile.in
@@ -3,12 +3,12 @@ $FreeBSD$
--- Makefile.in.orig
+++ Makefile.in
-@@ -258,7 +258,7 @@
- sharedstatedir = @sharedstatedir@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
--SUBDIRS = doc include man src test build flac.pbproj obj
-+SUBDIRS = $(DOC) include man src test build flac.pbproj
+@@ -234,7 +234,7 @@
+
+ AUTOMAKE_OPTIONS = foreign 1.7
+
+-SUBDIRS = doc include m4 man src examples test build obj
++SUBDIRS = $(DOC) include m4 man src test build
+
DISTCLEANFILES = libtool-disable-static
- EXTRA_DIST = \
- COPYING.FDL \
+
diff --git a/audio/flac/files/patch-configure b/audio/flac/files/patch-configure
index e335f4533ff4..75fe5afb534a 100644
--- a/audio/flac/files/patch-configure
+++ b/audio/flac/files/patch-configure
@@ -3,15 +3,12 @@ $FreeBSD$
--- configure.orig
+++ configure
-@@ -10541,9 +10541,9 @@
- if test x$debug = xtrue; then
- OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -g -O0 -DDEBUG"
- else
-- OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -O2 -DNDEBUG"
-+ OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -DNDEBUG"
- if test x$GCC = xyes; then
-- OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -O3 -fomit-frame-pointer -funroll-loops -finline-functions -Wall -W -Winline -DFLaC__INLINE=__inline__"
-+ OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -Wall -W -DFLaC__INLINE=__inline__"
+@@ -23490,7 +23490,7 @@
+ CPPFLAGS="-DNDEBUG $CPPFLAGS"
+ if test "x$GCC" = xyes; then
+ CPPFLAGS="-DFLaC__INLINE=__inline__ $CPPFLAGS"
+- CFLAGS="-O3 -funroll-loops -finline-functions -Wall -W -Winline $CFLAGS"
++ CFLAGS="-Wall -W $CFLAGS"
fi
fi
- CFLAGS="$OUR_CFLAGS_HEAD $CFLAGS"
+
diff --git a/audio/flac/files/patch-doc_Makefile.in b/audio/flac/files/patch-doc_Makefile.in
deleted file mode 100644
index 7d82b0fba502..000000000000
--- a/audio/flac/files/patch-doc_Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/Makefile.in.orig
-+++ doc/Makefile.in
-@@ -236,7 +236,7 @@
- target_alias = @target_alias@
- AUTOMAKE_OPTIONS = foreign
- SUBDIRS = . html
--docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
-+docdir = $(datadir)/doc/$(PACKAGE)
- doc_DATA = \
- FLAC.tag
-
diff --git a/audio/flac/files/patch-doc_html_Makefile.in b/audio/flac/files/patch-doc_html_Makefile.in
deleted file mode 100644
index b63d9e76e82d..000000000000
--- a/audio/flac/files/patch-doc_html_Makefile.in
+++ /dev/null
@@ -1,35 +0,0 @@
-
-$FreeBSD$
-
---- doc/html/Makefile.in.orig
-+++ doc/html/Makefile.in
-@@ -236,7 +236,7 @@
- target_alias = @target_alias@
- AUTOMAKE_OPTIONS = foreign
- SUBDIRS = ru images
--docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html
-+docdir = $(datadir)/doc/$(PACKAGE)/html
- doc_DATA = \
- changelog.html \
- comparison.html \
-@@ -577,13 +577,13 @@
-
- # The install targets don't copy whole directories so we have to
- # handle 'api/' specially:
--@FLaC__HAS_DOXYGEN_TRUE@install-data-local:
--@FLaC__HAS_DOXYGEN_TRUE@ $(mkinstalldirs) $(DESTDIR)$(docdir)/api
--@FLaC__HAS_DOXYGEN_TRUE@ (cd api && $(INSTALL_DATA) * $(DESTDIR)$(docdir)/api)
--@FLaC__HAS_DOXYGEN_TRUE@uninstall-local:
--@FLaC__HAS_DOXYGEN_TRUE@ rm -rf $(DESTDIR)$(docdir)/api
--@FLaC__HAS_DOXYGEN_TRUE@maintainer-clean-local:
--@FLaC__HAS_DOXYGEN_TRUE@ rm -rf api
-+install-data-local:
-+ $(mkinstalldirs) $(DESTDIR)$(docdir)/api
-+ (cd api && $(INSTALL_DATA) * $(DESTDIR)$(docdir)/api)
-+uninstall-local:
-+ rm -rf $(DESTDIR)$(docdir)/api
-+maintainer-clean-local:
-+ rm -rf api
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
diff --git a/audio/flac/files/patch-doc_html_images_Makefile.in b/audio/flac/files/patch-doc_html_images_Makefile.in
deleted file mode 100644
index e0eef34182bc..000000000000
--- a/audio/flac/files/patch-doc_html_images_Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/html/images/Makefile.in.orig
-+++ doc/html/images/Makefile.in
-@@ -226,7 +226,7 @@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
- AUTOMAKE_OPTIONS = foreign
--docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images
-+docdir = $(datadir)/doc/$(PACKAGE)/html/images
- doc_DATA = \
- 1x1.gif \
- cafebug.gif \
diff --git a/audio/flac/files/patch-doc_html_ru_Makefile.in b/audio/flac/files/patch-doc_html_ru_Makefile.in
deleted file mode 100644
index 7843a0cc5469..000000000000
--- a/audio/flac/files/patch-doc_html_ru_Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/html/ru/Makefile.in.orig
-+++ doc/html/ru/Makefile.in
-@@ -226,7 +226,7 @@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
- AUTOMAKE_OPTIONS = foreign
--docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/ru
-+docdir = $(datadir)/doc/$(PACKAGE)/html/ru
- doc_DATA = \
- authors.html \
- comparison.html \
diff --git a/audio/flac/files/patch-man_flac.1 b/audio/flac/files/patch-man_flac.1
index 58bb5ceaabb0..48102d8cd528 100644
--- a/audio/flac/files/patch-man_flac.1
+++ b/audio/flac/files/patch-man_flac.1
@@ -3,13 +3,12 @@ $FreeBSD$
--- man/flac.1.orig
+++ man/flac.1
-@@ -397,8 +397,7 @@
+@@ -325,7 +325,7 @@
.PP
- The programs are documented fully by HTML format
- documentation, available in
--\fI/usr/share/doc/flac/html\fR on
--Debian GNU/Linux systems.
-+\fI%%PREFIX%%/share/doc/flac/html\fR.
+ metaflac(1).
+ .PP
+-The programs are documented fully by HTML format documentation, available in \fI/usr/share/doc/flac/html\fR on Debian GNU/Linux systems.
++The programs are documented fully by HTML format documentation, available in \fI%%PREFIX%%/share/doc/flac/html\fR.
.SH "AUTHOR"
.PP
- This manual page was written by Matt Zimmerman <mdz@debian.org> for
+ This manual page was written by Matt Zimmerman <mdz@debian.org> for the Debian GNU/Linux system (but may be used by others).
diff --git a/audio/flac/files/patch-src_libFLAC++_metadata.cpp b/audio/flac/files/patch-src_libFLAC++_metadata.cpp
deleted file mode 100644
index 3bd2644ee2cc..000000000000
--- a/audio/flac/files/patch-src_libFLAC++_metadata.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC++/metadata.cpp.orig
-+++ src/libFLAC++/metadata.cpp
-@@ -33,6 +33,7 @@
- #include "FLAC/assert.h"
- #include <stdlib.h> // for malloc(), free()
- #include <string.h> // for memcpy() etc.
-+#include "share/alloc.h"
-
- #ifdef _MSC_VER
- // warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)
-@@ -568,7 +569,7 @@
-
- clear_entry();
-
-- if(0 == (entry_.entry = (FLAC__byte*)malloc(field_length+1))) {
-+ if(0 == (entry_.entry = (FLAC__byte*)safe_malloc_add_2op_(field_length, /*+*/1))) {
- is_valid_ = false;
- }
- else {
-@@ -617,7 +618,7 @@
-
- clear_field_value();
-
-- if(0 == (field_value_ = (char *)malloc(field_value_length+1))) {
-+ if(0 == (field_value_ = (char *)safe_malloc_add_2op_(field_value_length, /*+*/1))) {
- is_valid_ = false;
- }
- else {
-@@ -707,7 +708,7 @@
- {
- clear_entry();
-
-- if(0 == (entry_.entry = (FLAC__byte*)malloc(field_name_length_ + 1 + field_value_length_ + 1))) {
-+ if(0 == (entry_.entry = (FLAC__byte*)safe_malloc_add_4op_(field_name_length_, /*+*/1, /*+*/field_value_length_, /*+*/1))) {
- is_valid_ = false;
- }
- else {
-@@ -733,7 +734,7 @@
- p = (const char *)entry_.entry + entry_.length;
-
- field_name_length_ = p - (const char *)entry_.entry;
-- if(0 == (field_name_ = (char *)malloc(field_name_length_ + 1))) { // +1 for the trailing \0
-+ if(0 == (field_name_ = (char *)safe_malloc_add_2op_(field_name_length_, /*+*/1))) { // +1 for the trailing \0
- is_valid_ = false;
- return;
- }
-@@ -742,14 +743,14 @@
-
- if(entry_.length - field_name_length_ == 0) {
- field_value_length_ = 0;
-- if(0 == (field_value_ = (char *)malloc(0))) {
-+ if(0 == (field_value_ = (char *)safe_malloc_(0))) {
- is_valid_ = false;
- return;
- }
- }
- else {
- field_value_length_ = entry_.length - field_name_length_ - 1;
-- if(0 == (field_value_ = (char *)malloc(field_value_length_ + 1))) { // +1 for the trailing \0
-+ if(0 == (field_value_ = (char *)safe_malloc_add_2op_(field_value_length_, /*+*/1))) { // +1 for the trailing \0
- is_valid_ = false;
- return;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_Makefile.in b/audio/flac/files/patch-src_libFLAC_Makefile.in
index d517bf48b1a0..83d8e416ea8c 100644
--- a/audio/flac/files/patch-src_libFLAC_Makefile.in
+++ b/audio/flac/files/patch-src_libFLAC_Makefile.in
@@ -3,11 +3,11 @@ $FreeBSD$
--- src/libFLAC/Makefile.in.orig
+++ src/libFLAC/Makefile.in
-@@ -304,7 +304,6 @@
- @FLaC__CPU_IA32_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_LIBADD = ia32/libFLAC-asm.la
- @FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_LIBADD = ppc/gas/libFLAC-asm.la
- @FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_LIBADD = ppc/as/libFLAC-asm.la
--@FLaC__CPU_PPC_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning"
- SUBDIRS = $(ARCH_SUBDIRS) include .
- m4datadir = $(datadir)/aclocal
- m4data_DATA = libFLAC.m4
+@@ -249,7 +249,6 @@
+ @FLaC__CPU_IA32_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LIBADD = ia32/libFLAC-asm.la
+ @FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la
+ @FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LIBADD = ppc/gas/libFLAC-asm.la
+-@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning"
+ @FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LDFLAGS = ""
+
+ libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@
diff --git a/audio/flac/files/patch-src_libFLAC_bitbuffer.c b/audio/flac/files/patch-src_libFLAC_bitbuffer.c
deleted file mode 100644
index 6efff9b42108..000000000000
--- a/audio/flac/files/patch-src_libFLAC_bitbuffer.c
+++ /dev/null
@@ -1,31 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/bitbuffer.c.orig
-+++ src/libFLAC/bitbuffer.c
-@@ -35,6 +35,7 @@
- #include "private/bitmath.h"
- #include "private/crc.h"
- #include "FLAC/assert.h"
-+#include "share/alloc.h"
-
- /*
- * Along the way you will see two versions of some functions, selected
-@@ -193,7 +194,7 @@
- if(bb->capacity == new_capacity)
- return true;
-
-- new_buffer = (FLAC__blurb*)calloc(new_capacity, sizeof(FLAC__blurb));
-+ new_buffer = (FLAC__blurb*)safe_calloc_(new_capacity, sizeof(FLAC__blurb));
- if(new_buffer == 0)
- return false;
- memcpy(new_buffer, bb->buffer, sizeof(FLAC__blurb)*min(bb->blurbs+(bb->bits?1:0), new_capacity));
-@@ -425,7 +426,7 @@
- {
- if(bb->buffer == 0) {
- bb->capacity = FLAC__BITBUFFER_DEFAULT_CAPACITY;
-- bb->buffer = (FLAC__blurb*)calloc(bb->capacity, sizeof(FLAC__blurb));
-+ bb->buffer = (FLAC__blurb*)safe_calloc_(bb->capacity, sizeof(FLAC__blurb));
- if(bb->buffer == 0)
- return false;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_cpu.c b/audio/flac/files/patch-src_libFLAC_cpu.c
deleted file mode 100644
index adc10c2ec480..000000000000
--- a/audio/flac/files/patch-src_libFLAC_cpu.c
+++ /dev/null
@@ -1,32 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/cpu.c.orig
-+++ src/libFLAC/cpu.c
-@@ -37,6 +37,11 @@
- #include <config.h>
- #endif
-
-+#ifdef __FreeBSD__
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#endif
-+
- #if defined FLAC__CPU_PPC
- #if !defined FLAC__NO_ASM
- #if defined FLAC__SYS_DARWIN
-@@ -95,6 +100,14 @@
-
- #ifndef FLAC__SSE_OS
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = false;
-+#elif defined(__FreeBSD__)
-+ /* on FreeBSD we can double-check via sysctl whether the OS supports SSE */
-+ {
-+ int sse;
-+ size_t len = sizeof(sse);
-+ if (sysctlbyname("hw.instruction_sse", &sse, &len, NULL, 0) || !sse)
-+ info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = false;
-+ }
- #endif
-
- #ifdef FLAC__USE_3DNOW
diff --git a/audio/flac/files/patch-src_libFLAC_file__decoder.c b/audio/flac/files/patch-src_libFLAC_file__decoder.c
deleted file mode 100644
index 88138d4b04d1..000000000000
--- a/audio/flac/files/patch-src_libFLAC_file__decoder.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/file_decoder.c.orig
-+++ src/libFLAC/file_decoder.c
-@@ -43,6 +43,7 @@
- #include "FLAC/assert.h"
- #include "protected/file_decoder.h"
- #include "protected/seekable_stream_decoder.h"
-+#include "share/alloc.h"
-
- /***********************************************************************
- *
-@@ -248,7 +249,7 @@
- decoder->private_->filename = 0;
- }
- if(0 != strcmp(value, "-")) {
-- if(0 == (decoder->private_->filename = (char*)malloc(strlen(value)+1))) {
-+ if(0 == (decoder->private_->filename = (char*)safe_malloc_add_2op_(strlen(value), /*+*/1))) {
- decoder->protected_->state = FLAC__FILE_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_file__encoder.c b/audio/flac/files/patch-src_libFLAC_file__encoder.c
deleted file mode 100644
index 824fc0081f26..000000000000
--- a/audio/flac/files/patch-src_libFLAC_file__encoder.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/file_encoder.c.orig
-+++ src/libFLAC/file_encoder.c
-@@ -34,6 +34,7 @@
- #include <string.h> /* for strlen(), strcpy() */
- #include "FLAC/assert.h"
- #include "protected/file_encoder.h"
-+#include "share/alloc.h"
-
- #ifdef max
- #undef max
-@@ -436,7 +437,7 @@
- free(encoder->private_->filename);
- encoder->private_->filename = 0;
- }
-- if(0 == (encoder->private_->filename = (char*)malloc(strlen(value)+1))) {
-+ if(0 == (encoder->private_->filename = (char*)safe_malloc_add_2op_(strlen(value), /*+*/1))) {
- encoder->protected_->state = FLAC__FILE_ENCODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_format.c b/audio/flac/files/patch-src_libFLAC_format.c
deleted file mode 100644
index bbd71f468ad0..000000000000
--- a/audio/flac/files/patch-src_libFLAC_format.c
+++ /dev/null
@@ -1,25 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/format.c.orig
-+++ src/libFLAC/format.c
-@@ -38,6 +38,7 @@
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
-+#include "share/alloc.h"
-
- #ifdef min
- #undef min
-@@ -463,9 +464,9 @@
- FLAC__ASSERT(object->capacity_by_order > 0 || (0 == object->parameters && 0 == object->raw_bits));
-
- if(object->capacity_by_order < max_partition_order) {
-- if(0 == (object->parameters = (unsigned*)realloc(object->parameters, sizeof(unsigned)*(1 << max_partition_order))))
-+ if(0 == (object->parameters = (unsigned*)safe_realloc_mul_2op_(object->parameters, sizeof(unsigned), /*times*/(1 << max_partition_order))))
- return false;
-- if(0 == (object->raw_bits = (unsigned*)realloc(object->raw_bits, sizeof(unsigned)*(1 << max_partition_order))))
-+ if(0 == (object->raw_bits = (unsigned*)safe_realloc_mul_2op_(object->raw_bits, sizeof(unsigned), /*times*/(1 << max_partition_order))))
- return false;
- object->capacity_by_order = max_partition_order;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_include_private_md5.h b/audio/flac/files/patch-src_libFLAC_include_private_md5.h
deleted file mode 100644
index 5570635a4646..000000000000
--- a/audio/flac/files/patch-src_libFLAC_include_private_md5.h
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/include/private/md5.h.orig
-+++ src/libFLAC/include/private/md5.h
-@@ -41,7 +41,7 @@
- FLAC__uint32 bytes[2];
- FLAC__uint32 in[16];
- FLAC__byte *internal_buf;
-- unsigned capacity;
-+ size_t capacity;
- };
-
- FLAC_API void FLAC__MD5Init(struct FLAC__MD5Context *context);
diff --git a/audio/flac/files/patch-src_libFLAC_md5.c b/audio/flac/files/patch-src_libFLAC_md5.c
deleted file mode 100644
index db1cf692435a..000000000000
--- a/audio/flac/files/patch-src_libFLAC_md5.c
+++ /dev/null
@@ -1,35 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/md5.c.orig
-+++ src/libFLAC/md5.c
-@@ -31,6 +31,7 @@
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
-+#include "share/alloc.h"
-
- #ifndef FLaC__INLINE
- #define FLaC__INLINE
-@@ -230,13 +231,19 @@
- unsigned channel, sample, a_byte;
- FLAC__int32 a_word;
- FLAC__byte *buf_;
-- const unsigned bytes_needed = channels * samples * bytes_per_sample;
-+ const size_t bytes_needed = (size_t)channels * (size_t)samples * (size_t)bytes_per_sample;
-+
-+ /* overflow check */
-+ if((size_t)channels > SIZE_MAX / (size_t)bytes_per_sample)
-+ return false;
-+ if((size_t)channels * (size_t)bytes_per_sample > SIZE_MAX / (size_t)samples)
-+ return false;
-
- if(ctx->capacity < bytes_needed) {
- FLAC__byte *tmp = (FLAC__byte*)realloc(ctx->internal_buf, bytes_needed);
- if(0 == tmp) {
- free(ctx->internal_buf);
-- if(0 == (ctx->internal_buf = (FLAC__byte*)malloc(bytes_needed)))
-+ if(0 == (ctx->internal_buf = (FLAC__byte*)safe_malloc_(bytes_needed)))
- return false;
- }
- ctx->internal_buf = tmp;
diff --git a/audio/flac/files/patch-src_libFLAC_memory.c b/audio/flac/files/patch-src_libFLAC_memory.c
deleted file mode 100644
index 6b0cf93481a9..000000000000
--- a/audio/flac/files/patch-src_libFLAC_memory.c
+++ /dev/null
@@ -1,76 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/memory.c.orig
-+++ src/libFLAC/memory.c
-@@ -35,6 +35,7 @@
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
-+#include "share/alloc.h"
-
- void *FLAC__memory_alloc_aligned(size_t bytes, void **aligned_address)
- {
-@@ -44,10 +45,10 @@
-
- #ifdef FLAC__ALIGN_MALLOC_DATA
- /* align on 32-byte (256-bit) boundary */
-- x = malloc(bytes+31);
-+ x = safe_malloc_add_2op_(bytes, /*+*/31);
- *aligned_address = (void*)(((unsigned)x + 31) & -32);
- #else
-- x = malloc(bytes);
-+ x = safe_malloc_(bytes);
- *aligned_address = x;
- #endif
- return x;
-@@ -66,6 +67,9 @@
- FLAC__ASSERT(0 != aligned_pointer);
- FLAC__ASSERT(unaligned_pointer != aligned_pointer);
-
-+ if((size_t)elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
-+ return false;
-+
- pu = (FLAC__int32*)FLAC__memory_alloc_aligned(sizeof(FLAC__int32) * elements, &u.pv);
- if(0 == pu) {
- return false;
-@@ -92,6 +96,9 @@
- FLAC__ASSERT(0 != aligned_pointer);
- FLAC__ASSERT(unaligned_pointer != aligned_pointer);
-
-+ if((size_t)elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
-+ return false;
-+
- pu = (FLAC__uint32*)FLAC__memory_alloc_aligned(sizeof(FLAC__uint32) * elements, &u.pv);
- if(0 == pu) {
- return false;
-@@ -118,6 +125,9 @@
- FLAC__ASSERT(0 != aligned_pointer);
- FLAC__ASSERT(unaligned_pointer != aligned_pointer);
-
-+ if((size_t)elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
-+ return false;
-+
- pu = (FLAC__uint64*)FLAC__memory_alloc_aligned(sizeof(FLAC__uint64) * elements, &u.pv);
- if(0 == pu) {
- return false;
-@@ -144,6 +154,9 @@
- FLAC__ASSERT(0 != aligned_pointer);
- FLAC__ASSERT(unaligned_pointer != aligned_pointer);
-
-+ if((size_t)elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
-+ return false;
-+
- pu = (unsigned*)FLAC__memory_alloc_aligned(sizeof(unsigned) * elements, &u.pv);
- if(0 == pu) {
- return false;
-@@ -171,6 +184,9 @@
- FLAC__ASSERT(0 != unaligned_pointer);
- FLAC__ASSERT(0 != aligned_pointer);
- FLAC__ASSERT(unaligned_pointer != aligned_pointer);
-+
-+ if((size_t)elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
-+ return false;
-
- pu = (FLAC__real*)FLAC__memory_alloc_aligned(sizeof(FLAC__real) * elements, &u.pv);
- if(0 == pu) {
diff --git a/audio/flac/files/patch-src_libFLAC_metadata__iterators.c b/audio/flac/files/patch-src_libFLAC_metadata__iterators.c
deleted file mode 100644
index 6266b3c07e35..000000000000
--- a/audio/flac/files/patch-src_libFLAC_metadata__iterators.c
+++ /dev/null
@@ -1,67 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/metadata_iterators.c.orig
-+++ src/libFLAC/metadata_iterators.c
-@@ -48,6 +48,7 @@
-
- #include "FLAC/assert.h"
- #include "FLAC/file_decoder.h"
-+#include "share/alloc.h"
-
- #ifdef max
- #undef max
-@@ -1928,7 +1929,7 @@
- block->data = 0;
- }
- else {
-- if(0 == (block->data = (FLAC__byte*)malloc(block_length)))
-+ if(0 == (block->data = (FLAC__byte*)safe_malloc_(block_length)))
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
-
- if(read_cb(block->data, 1, block_length, handle) != block_length)
-@@ -1949,7 +1950,7 @@
-
- if(block->num_points == 0)
- block->points = 0;
-- else if(0 == (block->points = (FLAC__StreamMetadata_SeekPoint*)malloc(block->num_points * sizeof(FLAC__StreamMetadata_SeekPoint))))
-+ else if(0 == (block->points = (FLAC__StreamMetadata_SeekPoint*)safe_malloc_mul_2op_(block->num_points, /*times*/ sizeof(FLAC__StreamMetadata_SeekPoint))))
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
-
- for(i = 0; i < block->num_points; i++) {
-@@ -1982,7 +1983,7 @@
- entry->entry = 0;
- }
- else {
-- if(0 == (entry->entry = (FLAC__byte*)malloc(entry->length+1)))
-+ if(0 == (entry->entry = (FLAC__byte*)safe_malloc_add_2op_(entry->length, /*+*/1)))
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
-
- if(read_cb(entry->entry, 1, entry->length, handle) != entry->length)
-@@ -2145,7 +2146,7 @@
- block->data = 0;
- }
- else {
-- if(0 == (block->data = (FLAC__byte*)malloc(block_length)))
-+ if(0 == (block->data = (FLAC__byte*)safe_malloc_(block_length)))
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
-
- if(read_cb(block->data, 1, block_length, handle) != block_length)
-@@ -2812,7 +2813,7 @@
- {
- static const char *tempfile_suffix = ".metadata_edit";
- if(0 == tempfile_path_prefix) {
-- if(0 == (*tempfilename = (char*)malloc(strlen(filename) + strlen(tempfile_suffix) + 1))) {
-+ if(0 == (*tempfilename = (char*)safe_malloc_add_3op_(strlen(filename), /*+*/strlen(tempfile_suffix), /*+*/1))) {
- *status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -2826,7 +2827,7 @@
- else
- p++;
-
-- if(0 == (*tempfilename = (char*)malloc(strlen(tempfile_path_prefix) + 1 + strlen(p) + strlen(tempfile_suffix) + 1))) {
-+ if(0 == (*tempfilename = (char*)safe_malloc_add_4op_(strlen(tempfile_path_prefix), /*+*/strlen(p), /*+*/strlen(tempfile_suffix), /*+*/2))) {
- *status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_metadata__object.c b/audio/flac/files/patch-src_libFLAC_metadata__object.c
deleted file mode 100644
index c488976fe6bb..000000000000
--- a/audio/flac/files/patch-src_libFLAC_metadata__object.c
+++ /dev/null
@@ -1,176 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/metadata_object.c.orig
-+++ src/libFLAC/metadata_object.c
-@@ -35,6 +35,7 @@
- #include "private/metadata.h"
-
- #include "FLAC/assert.h"
-+#include "share/alloc.h"
-
-
- /****************************************************************************
-@@ -47,7 +48,7 @@
- {
- if(bytes > 0 && 0 != from) {
- FLAC__byte *x;
-- if(0 == (x = (FLAC__byte*)malloc(bytes)))
-+ if(0 == (x = (FLAC__byte*)safe_malloc_(bytes)))
- return false;
- memcpy(x, from, bytes);
- *to = x;
-@@ -62,7 +63,7 @@
-
- static FLAC__bool ensure_null_terminated_(FLAC__byte **entry, unsigned length)
- {
-- FLAC__byte *x = (FLAC__byte*)realloc(*entry, length+1);
-+ FLAC__byte *x = (FLAC__byte*)safe_realloc_add_2op_(*entry, length, /*+*/1);
- if(0 != x) {
- x[length] = '\0';
- *entry = x;
-@@ -82,7 +83,7 @@
- else {
- FLAC__byte *x;
- FLAC__ASSERT(from->length > 0);
-- if(0 == (x = (FLAC__byte*)malloc(from->length+1)))
-+ if(0 == (x = (FLAC__byte*)safe_malloc_add_2op_(from->length, /*+*/1)))
- return false;
- memcpy(x, from->entry, from->length);
- x[from->length] = '\0';
-@@ -100,7 +101,7 @@
- else {
- FLAC__StreamMetadata_CueSheet_Index *x;
- FLAC__ASSERT(from->num_indices > 0);
-- if(0 == (x = (FLAC__StreamMetadata_CueSheet_Index*)malloc(from->num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index))))
-+ if(0 == (x = (FLAC__StreamMetadata_CueSheet_Index*)safe_malloc_mul_2op_(from->num_indices, /*times*/sizeof(FLAC__StreamMetadata_CueSheet_Index))))
- return false;
- memcpy(x, from->indices, from->num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index));
- to->indices = x;
-@@ -122,7 +123,7 @@
-
- FLAC__ASSERT(num_points > 0);
-
-- object_array = (FLAC__StreamMetadata_SeekPoint*)malloc(num_points * sizeof(FLAC__StreamMetadata_SeekPoint));
-+ object_array = (FLAC__StreamMetadata_SeekPoint*)safe_malloc_mul_2op_(num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint));
-
- if(0 != object_array) {
- unsigned i;
-@@ -155,7 +156,7 @@
- {
- FLAC__ASSERT(num_comments > 0);
-
-- return (FLAC__StreamMetadata_VorbisComment_Entry*)calloc(num_comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
-+ return (FLAC__StreamMetadata_VorbisComment_Entry*)safe_calloc_(num_comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
- }
-
- static void vorbiscomment_entry_array_delete_(FLAC__StreamMetadata_VorbisComment_Entry *object_array, unsigned num_comments)
-@@ -294,14 +295,14 @@
- {
- FLAC__ASSERT(num_indices > 0);
-
-- return (FLAC__StreamMetadata_CueSheet_Index*)calloc(num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index));
-+ return (FLAC__StreamMetadata_CueSheet_Index*)safe_calloc_(num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index));
- }
-
- static FLAC__StreamMetadata_CueSheet_Track *cuesheet_track_array_new_(unsigned num_tracks)
- {
- FLAC__ASSERT(num_tracks > 0);
-
-- return (FLAC__StreamMetadata_CueSheet_Track*)calloc(num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track));
-+ return (FLAC__StreamMetadata_CueSheet_Track*)safe_calloc_(num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track));
- }
-
- static void cuesheet_track_array_delete_(FLAC__StreamMetadata_CueSheet_Track *object_array, unsigned num_tracks)
-@@ -462,6 +463,10 @@
- break;
- case FLAC__METADATA_TYPE_SEEKTABLE:
- to->data.seek_table.num_points = object->data.seek_table.num_points;
-+ if(to->data.seek_table.num_points > SIZE_MAX / sizeof(FLAC__StreamMetadata_SeekPoint)) { /* overflow check */
-+ FLAC__metadata_object_delete(to);
-+ return 0;
-+ }
- if(!copy_bytes_((FLAC__byte**)&to->data.seek_table.points, (FLAC__byte*)object->data.seek_table.points, object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint))) {
- FLAC__metadata_object_delete(to);
- return 0;
-@@ -788,8 +793,12 @@
- return false;
- }
- else {
-- const unsigned old_size = object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
-- const unsigned new_size = new_num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
-+ const size_t old_size = object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
-+ const size_t new_size = new_num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
-+
-+ /* overflow check */
-+ if((size_t)new_num_points > SIZE_MAX / sizeof(FLAC__StreamMetadata_SeekPoint))
-+ return false;
-
- FLAC__ASSERT(object->data.seek_table.num_points > 0);
-
-@@ -982,8 +991,12 @@
- return false;
- }
- else {
-- const unsigned old_size = object->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
-- const unsigned new_size = new_num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
-+ const size_t old_size = object->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
-+ const size_t new_size = new_num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
-+
-+ /* overflow check */
-+ if((size_t)new_num_comments > SIZE_MAX / sizeof(FLAC__StreamMetadata_VorbisComment_Entry))
-+ return false;
-
- FLAC__ASSERT(object->data.vorbis_comment.num_comments > 0);
-
-@@ -1131,7 +1144,7 @@
- const size_t nn = strlen(field_name);
- const size_t nv = strlen(field_value);
- entry->length = nn + 1 /*=*/ + nv;
-- if(0 == (entry->entry = (FLAC__byte*)malloc(entry->length+1)))
-+ if(0 == (entry->entry = (FLAC__byte*)safe_malloc_add_2op_(entry->length, /*+*/1)))
- return false;
- memcpy(entry->entry, field_name, nn);
- entry->entry[nn] = '=';
-@@ -1158,9 +1171,9 @@
- FLAC__ASSERT(0 != eq);
- if(0 == eq)
- return false; /* double protection */
-- if(0 == (*field_name = (char*)malloc(nn+1)))
-+ if(0 == (*field_name = (char*)safe_malloc_add_2op_(nn, /*+*/1)))
- return false;
-- if(0 == (*field_value = (char*)malloc(nv+1))) {
-+ if(0 == (*field_value = (char*)safe_malloc_add_2op_(nv, /*+*/1))) {
- free(*field_name);
- return false;
- }
-@@ -1290,8 +1303,12 @@
- return false;
- }
- else {
-- const unsigned old_size = track->num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index);
-- const unsigned new_size = new_num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index);
-+ const size_t old_size = track->num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index);
-+ const size_t new_size = new_num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index);
-+
-+ /* overflow check */
-+ if((size_t)new_num_indices > SIZE_MAX / sizeof(FLAC__StreamMetadata_CueSheet_Index))
-+ return false;
-
- FLAC__ASSERT(track->num_indices > 0);
-
-@@ -1374,8 +1391,12 @@
- return false;
- }
- else {
-- const unsigned old_size = object->data.cue_sheet.num_tracks * sizeof(FLAC__StreamMetadata_CueSheet_Track);
-- const unsigned new_size = new_num_tracks * sizeof(FLAC__StreamMetadata_CueSheet_Track);
-+ const size_t old_size = object->data.cue_sheet.num_tracks * sizeof(FLAC__StreamMetadata_CueSheet_Track);
-+ const size_t new_size = new_num_tracks * sizeof(FLAC__StreamMetadata_CueSheet_Track);
-+
-+ /* overflow check */
-+ if((size_t)new_num_tracks > SIZE_MAX / sizeof(FLAC__StreamMetadata_CueSheet_Track))
-+ return false;
-
- FLAC__ASSERT(object->data.cue_sheet.num_tracks > 0);
-
diff --git a/audio/flac/files/patch-src_libFLAC_stream__decoder.c b/audio/flac/files/patch-src_libFLAC_stream__decoder.c
deleted file mode 100644
index dfbfa72fb5bb..000000000000
--- a/audio/flac/files/patch-src_libFLAC_stream__decoder.c
+++ /dev/null
@@ -1,121 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/stream_decoder.c.orig
-+++ src/libFLAC/stream_decoder.c
-@@ -46,6 +46,7 @@
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
-+#include "share/alloc.h"
-
- #ifdef max
- #undef max
-@@ -214,7 +215,7 @@
- }
-
- decoder->private_->metadata_filter_ids_capacity = 16;
-- if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)malloc((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) * decoder->private_->metadata_filter_ids_capacity))) {
-+ if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)safe_malloc_mul_2op_((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8), /*times*/decoder->private_->metadata_filter_ids_capacity))) {
- FLAC__bitbuffer_delete(decoder->private_->input);
- free(decoder->private_);
- free(decoder->protected_);
-@@ -455,7 +456,7 @@
- FLAC__ASSERT(0 != decoder->private_->metadata_filter_ids);
-
- if(decoder->private_->metadata_filter_ids_count == decoder->private_->metadata_filter_ids_capacity) {
-- if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)realloc(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity * 2)))
-+ if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)safe_realloc_mul_2op_(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity, /*times*/2)))
- return decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- decoder->private_->metadata_filter_ids_capacity *= 2;
- }
-@@ -512,7 +513,7 @@
- FLAC__ASSERT(0 != decoder->private_->metadata_filter_ids);
-
- if(decoder->private_->metadata_filter_ids_count == decoder->private_->metadata_filter_ids_capacity) {
-- if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)realloc(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity * 2)))
-+ if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)safe_realloc_mul_2op_(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity, /*times*/2)))
- return decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- decoder->private_->metadata_filter_ids_capacity *= 2;
- }
-@@ -804,7 +805,7 @@
- * (at negative indices) for alignment purposes; we use 4
- * to keep the data well-aligned.
- */
-- tmp = (FLAC__int32*)malloc(sizeof(FLAC__int32)*(size+4));
-+ tmp = (FLAC__int32*)safe_malloc_mul_2op_(sizeof(FLAC__int32), /*times*/(size+4));
- if(tmp == 0) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
-@@ -967,7 +968,7 @@
- case FLAC__METADATA_TYPE_APPLICATION:
- /* remember, we read the ID already */
- if(real_length > 0) {
-- if(0 == (block.data.application.data = (FLAC__byte*)malloc(real_length))) {
-+ if(0 == (block.data.application.data = (FLAC__byte*)safe_malloc_(real_length))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -991,7 +992,7 @@
- break;
- default:
- if(real_length > 0) {
-- if(0 == (block.data.unknown.data = (FLAC__byte*)malloc(real_length))) {
-+ if(0 == (block.data.unknown.data = (FLAC__byte*)safe_malloc_(real_length))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -1132,7 +1133,7 @@
- decoder->private_->seek_table.data.seek_table.num_points = length / FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
-
- /* use realloc since we may pass through here several times (e.g. after seeking) */
-- if(0 == (decoder->private_->seek_table.data.seek_table.points = (FLAC__StreamMetadata_SeekPoint*)realloc(decoder->private_->seek_table.data.seek_table.points, decoder->private_->seek_table.data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint)))) {
-+ if(0 == (decoder->private_->seek_table.data.seek_table.points = (FLAC__StreamMetadata_SeekPoint*)safe_realloc_mul_2op_(decoder->private_->seek_table.data.seek_table.points, decoder->private_->seek_table.data.seek_table.num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint)))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -1171,7 +1172,7 @@
- if(!FLAC__bitbuffer_read_raw_uint32_little_endian(decoder->private_->input, &obj->vendor_string.length, read_callback_, decoder))
- return false; /* the read_callback_ sets the state for us */
- if(obj->vendor_string.length > 0) {
-- if(0 == (obj->vendor_string.entry = (FLAC__byte*)malloc(obj->vendor_string.length+1))) {
-+ if(0 == (obj->vendor_string.entry = (FLAC__byte*)safe_malloc_add_2op_(obj->vendor_string.length, /*+*/1))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -1189,7 +1190,7 @@
-
- /* read comments */
- if(obj->num_comments > 0) {
-- if(0 == (obj->comments = (FLAC__StreamMetadata_VorbisComment_Entry*)malloc(obj->num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
-+ if(0 == (obj->comments = (FLAC__StreamMetadata_VorbisComment_Entry*)safe_malloc_mul_2op_(obj->num_comments, /*times*/sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -1198,7 +1199,7 @@
- if(!FLAC__bitbuffer_read_raw_uint32_little_endian(decoder->private_->input, &obj->comments[i].length, read_callback_, decoder))
- return false; /* the read_callback_ sets the state for us */
- if(obj->comments[i].length > 0) {
-- if(0 == (obj->comments[i].entry = (FLAC__byte*)malloc(obj->comments[i].length+1))) {
-+ if(0 == (obj->comments[i].entry = (FLAC__byte*)safe_malloc_add_2op_(obj->comments[i].length, /*+*/1))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -1244,7 +1245,7 @@
- obj->num_tracks = x;
-
- if(obj->num_tracks > 0) {
-- if(0 == (obj->tracks = (FLAC__StreamMetadata_CueSheet_Track*)calloc(obj->num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track)))) {
-+ if(0 == (obj->tracks = (FLAC__StreamMetadata_CueSheet_Track*)safe_calloc_(obj->num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track)))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -1277,7 +1278,7 @@
- track->num_indices = (FLAC__byte)x;
-
- if(track->num_indices > 0) {
-- if(0 == (track->indices = (FLAC__StreamMetadata_CueSheet_Index*)calloc(track->num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index)))) {
-+ if(0 == (track->indices = (FLAC__StreamMetadata_CueSheet_Index*)safe_calloc_(track->num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index)))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_libFLAC_stream__encoder.c b/audio/flac/files/patch-src_libFLAC_stream__encoder.c
deleted file mode 100644
index 2bbfd294dafd..000000000000
--- a/audio/flac/files/patch-src_libFLAC_stream__encoder.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/libFLAC/stream_encoder.c.orig
-+++ src/libFLAC/stream_encoder.c
-@@ -50,6 +50,7 @@
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
-+#include "share/alloc.h"
-
- #ifdef min
- #undef min
-@@ -836,7 +837,7 @@
- */
- encoder->private_->verify.input_fifo.size = encoder->protected_->blocksize;
- for(i = 0; i < encoder->protected_->channels; i++) {
-- if(0 == (encoder->private_->verify.input_fifo.data[i] = (FLAC__int32*)malloc(sizeof(FLAC__int32) * encoder->private_->verify.input_fifo.size)))
-+ if(0 == (encoder->private_->verify.input_fifo.data[i] = (FLAC__int32*)safe_malloc_mul_2op_(sizeof(FLAC__int32), /*times*/encoder->private_->verify.input_fifo.size)))
- return encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
- }
- encoder->private_->verify.input_fifo.tail = 0;
diff --git a/audio/flac/files/patch-src_libOggFLAC_file__decoder.c b/audio/flac/files/patch-src_libOggFLAC_file__decoder.c
deleted file mode 100644
index 213336bb84a6..000000000000
--- a/audio/flac/files/patch-src_libOggFLAC_file__decoder.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/libOggFLAC/file_decoder.c.orig
-+++ src/libOggFLAC/file_decoder.c
-@@ -43,6 +43,7 @@
- #include "FLAC/assert.h"
- #include "protected/file_decoder.h"
- #include "protected/seekable_stream_decoder.h"
-+#include "share/alloc.h"
-
- /***********************************************************************
- *
-@@ -248,7 +249,7 @@
- decoder->private_->filename = 0;
- }
- if(0 != strcmp(value, "-")) {
-- if(0 == (decoder->private_->filename = (char*)malloc(strlen(value)+1))) {
-+ if(0 == (decoder->private_->filename = (char*)safe_malloc_add_2op_(strlen(value), /*+*/1))) {
- decoder->protected_->state = OggFLAC__FILE_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_libOggFLAC_file__encoder.c b/audio/flac/files/patch-src_libOggFLAC_file__encoder.c
deleted file mode 100644
index 3c035a88109b..000000000000
--- a/audio/flac/files/patch-src_libOggFLAC_file__encoder.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/libOggFLAC/file_encoder.c.orig
-+++ src/libOggFLAC/file_encoder.c
-@@ -35,6 +35,7 @@
- #include "FLAC/assert.h"
- #include "OggFLAC/seekable_stream_encoder.h"
- #include "protected/file_encoder.h"
-+#include "share/alloc.h"
-
- #ifdef max
- #undef max
-@@ -450,7 +451,7 @@
- free(encoder->private_->filename);
- encoder->private_->filename = 0;
- }
-- if(0 == (encoder->private_->filename = (char*)malloc(strlen(value)+1))) {
-+ if(0 == (encoder->private_->filename = (char*)safe_malloc_add_2op_(strlen(value), /*+*/1))) {
- encoder->protected_->state = OggFLAC__FILE_ENCODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_libOggFLAC_ogg__helper.c b/audio/flac/files/patch-src_libOggFLAC_ogg__helper.c
deleted file mode 100644
index d843825582b2..000000000000
--- a/audio/flac/files/patch-src_libOggFLAC_ogg__helper.c
+++ /dev/null
@@ -1,31 +0,0 @@
-
-$FreeBSD$
-
---- src/libOggFLAC/ogg_helper.c.orig
-+++ src/libOggFLAC/ogg_helper.c
-@@ -34,6 +34,7 @@
- #include "FLAC/assert.h"
- #include "private/ogg_helper.h"
- #include "protected/seekable_stream_encoder.h"
-+#include "share/alloc.h"
-
-
- static FLAC__bool full_read_(OggFLAC__SeekableStreamEncoder *encoder, FLAC__byte *buffer, unsigned bytes, OggFLAC__SeekableStreamEncoderReadCallback read_callback, void *client_data)
-@@ -102,7 +103,7 @@
- }
-
- /* allocate space for the page header */
-- if(0 == (page->header = (unsigned char *)malloc(OGG_MAX_HEADER_LEN))) {
-+ if(0 == (page->header = (unsigned char *)safe_malloc_(OGG_MAX_HEADER_LEN))) {
- encoder->protected_->state = OggFLAC__SEEKABLE_STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
-@@ -144,7 +145,7 @@
- }
-
- /* allocate space for the page body */
-- if(0 == (page->body = (unsigned char *)malloc(page->body_len))) {
-+ if(0 == (page->body = (unsigned char *)safe_malloc_(page->body_len))) {
- encoder->protected_->state = OggFLAC__SEEKABLE_STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
- return false;
- }
diff --git a/audio/flac/files/patch-src_metaflac_operations.c b/audio/flac/files/patch-src_metaflac_operations.c
deleted file mode 100644
index 4bc7e111e987..000000000000
--- a/audio/flac/files/patch-src_metaflac_operations.c
+++ /dev/null
@@ -1,24 +0,0 @@
-
-$FreeBSD$
-
---- src/metaflac/operations.c.orig
-+++ src/metaflac/operations.c
-@@ -21,6 +21,7 @@
- #include "utils.h"
- #include "FLAC/assert.h"
- #include "FLAC/metadata.h"
-+#include "share/alloc.h"
- #include "share/grabbag.h"
- #include <stdio.h>
- #include <stdlib.h>
-@@ -430,8 +431,8 @@
- }
-
- if(
-- 0 == (title_gains = (float*)malloc(sizeof(float) * num_files)) ||
-- 0 == (title_peaks = (float*)malloc(sizeof(float) * num_files))
-+ 0 == (title_gains = (float*)safe_malloc_mul_2op_(sizeof(float), /*times*/num_files)) ||
-+ 0 == (title_peaks = (float*)safe_malloc_mul_2op_(sizeof(float), /*times*/num_files))
- )
- die("out of memory allocating space for title gains/peaks");
-
diff --git a/audio/flac/files/patch-src_metaflac_options.c b/audio/flac/files/patch-src_metaflac_options.c
deleted file mode 100644
index 5777d634331b..000000000000
--- a/audio/flac/files/patch-src_metaflac_options.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-$FreeBSD$
-
---- src/metaflac/options.c.orig
-+++ src/metaflac/options.c
-@@ -20,6 +20,7 @@
- #include "usage.h"
- #include "utils.h"
- #include "FLAC/assert.h"
-+#include "share/alloc.h"
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -183,7 +184,7 @@
-
- if(options->num_files > 0) {
- unsigned i = 0;
-- if(0 == (options->filenames = (char**)malloc(sizeof(char*) * options->num_files)))
-+ if(0 == (options->filenames = (char**)safe_malloc_mul_2op_(sizeof(char*), /*times*/options->num_files)))
- die("out of memory allocating space for file names list");
- while(share__optind < argc)
- options->filenames[i++] = local_strdup(argv[share__optind++]);
-@@ -661,8 +662,10 @@
- }
- if(options->ops.capacity <= options->ops.num_operations) {
- unsigned original_capacity = options->ops.capacity;
-- options->ops.capacity *= 4;
-- if(0 == (options->ops.operations = (Operation*)realloc(options->ops.operations, sizeof(Operation) * options->ops.capacity)))
-+ if(options->ops.capacity > SIZE_MAX / 2) /* overflow check */
-+ die("out of memory allocating space for option list");
-+ options->ops.capacity *= 2;
-+ if(0 == (options->ops.operations = (Operation*)safe_realloc_mul_2op_(options->ops.operations, sizeof(Operation), /*times*/options->ops.capacity)))
- die("out of memory allocating space for option list");
- memset(options->ops.operations + original_capacity, 0, sizeof(Operation) * (options->ops.capacity - original_capacity));
- }
-@@ -680,8 +683,10 @@
- }
- if(options->args.capacity <= options->args.num_arguments) {
- unsigned original_capacity = options->args.capacity;
-- options->args.capacity *= 4;
-- if(0 == (options->args.arguments = (Argument*)realloc(options->args.arguments, sizeof(Argument) * options->args.capacity)))
-+ if(options->args.capacity > SIZE_MAX / 2) /* overflow check */
-+ die("out of memory allocating space for option list");
-+ options->args.capacity *= 2;
-+ if(0 == (options->args.arguments = (Argument*)safe_realloc_mul_2op_(options->args.arguments, sizeof(Argument), /*times*/options->args.capacity)))
- die("out of memory allocating space for option list");
- memset(options->args.arguments + original_capacity, 0, sizeof(Argument) * (options->args.capacity - original_capacity));
- }
-@@ -897,7 +902,7 @@
-
- /* make space */
- FLAC__ASSERT(out->num_entries > 0);
-- if(0 == (out->entries = (unsigned*)malloc(sizeof(unsigned) * out->num_entries)))
-+ if(0 == (out->entries = (unsigned*)safe_malloc_mul_2op_(sizeof(unsigned), /*times*/out->num_entries)))
- die("out of memory allocating space for option list");
-
- /* load 'em up */
-@@ -936,7 +941,7 @@
-
- /* make space */
- FLAC__ASSERT(out->num_entries > 0);
-- if(0 == (out->entries = (Argument_BlockTypeEntry*)malloc(sizeof(Argument_BlockTypeEntry) * out->num_entries)))
-+ if(0 == (out->entries = (Argument_BlockTypeEntry*)safe_malloc_mul_2op_(sizeof(Argument_BlockTypeEntry), /*times*/out->num_entries)))
- die("out of memory allocating space for option list");
-
- /* load 'em up */
diff --git a/audio/flac/files/patch-src_metaflac_utils.c b/audio/flac/files/patch-src_metaflac_utils.c
deleted file mode 100644
index eab7b132ff03..000000000000
--- a/audio/flac/files/patch-src_metaflac_utils.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/metaflac/utils.c.orig
-+++ src/metaflac/utils.c
-@@ -18,6 +18,7 @@
-
- #include "utils.h"
- #include "FLAC/assert.h"
-+#include "share/alloc.h"
- #include "share/utf8.h"
- #include <ctype.h>
- #include <stdarg.h>
-@@ -64,7 +65,7 @@
- if(nsource == 0)
- return;
-
-- *dest = (char*)realloc(*dest, ndest + nsource + 1);
-+ *dest = (char*)safe_realloc_add_3op_(*dest, ndest, /*+*/nsource, /*+*/1);
- if(0 == *dest)
- die("out of memory growing string");
- strcpy((*dest)+ndest, source);
diff --git a/audio/flac/files/patch-src_plugin__common_charset.c b/audio/flac/files/patch-src_plugin__common_charset.c
deleted file mode 100644
index ec73bd8e3042..000000000000
--- a/audio/flac/files/patch-src_plugin__common_charset.c
+++ /dev/null
@@ -1,25 +0,0 @@
-
-$FreeBSD$
-
---- src/plugin_common/charset.c.orig
-+++ src/plugin_common/charset.c
-@@ -83,6 +83,8 @@
- /* Due to a GLIBC bug, round outbuf_size up to a multiple of 4 */
- /* + 1 for nul in case len == 1 */
- outsize = ((length + 3) & ~3) + 1;
-+ if(outsize < length) /* overflow check */
-+ return NULL;
- out = (char*)malloc(outsize);
- outleft = outsize - 1;
- outptr = out;
-@@ -95,6 +97,10 @@
- {
- case E2BIG:
- used = outptr - out;
-+ if((outsize - 1) * 2 + 1 <= outsize) { /* overflow check */
-+ free(out);
-+ return NULL;
-+ }
- outsize = (outsize - 1) * 2 + 1;
- out = realloc(out, outsize);
- outptr = out + used;
diff --git a/audio/flac/files/patch-src_plugin__common_tags.c b/audio/flac/files/patch-src_plugin__common_tags.c
deleted file mode 100644
index 1439821d2f77..000000000000
--- a/audio/flac/files/patch-src_plugin__common_tags.c
+++ /dev/null
@@ -1,59 +0,0 @@
-
-$FreeBSD$
-
---- src/plugin_common/tags.c.orig
-+++ src/plugin_common/tags.c
-@@ -23,6 +23,7 @@
- #include "tags.h"
- #include "FLAC/assert.h"
- #include "FLAC/metadata.h"
-+#include "share/alloc.h"
-
-
- static __inline unsigned local__wide_strlen(const FLAC__uint16 *s)
-@@ -82,7 +83,7 @@
- }
-
- /* allocate */
-- out = (FLAC__uint16*)malloc(chars * sizeof(FLAC__uint16));
-+ out = (FLAC__uint16*)safe_malloc_mul_2op_(chars, /*times*/sizeof(FLAC__uint16));
- if (0 == out) {
- FLAC__ASSERT(0);
- return 0;
-@@ -130,19 +131,23 @@
- static char *local__convert_ucs2_to_utf8(const FLAC__uint16 *src, unsigned length)
- {
- char *out;
-- unsigned len = 0;
-+ unsigned len = 0, n;
-
- FLAC__ASSERT(0 != src);
-
- /* calculate length */
- {
- unsigned i;
-- for (i = 0; i < length; i++)
-- len += local__ucs2len(src[i]);
-+ for (i = 0; i < length; i++) {
-+ n += local__ucs2len(src[i]);
-+ if(len + n < len) /* overflow check */
-+ return 0;
-+ len += n;
-+ }
- }
-
- /* allocate */
-- out = (char*)malloc(len * sizeof(char));
-+ out = (char*)safe_malloc_mul_2op_(len, /*times*/sizeof(char));
- if (0 == out)
- return 0;
-
-@@ -265,7 +270,7 @@
- const size_t value_len = strlen(value);
- const size_t separator_len = strlen(separator);
- FLAC__byte *new_entry;
-- if(0 == (new_entry = (FLAC__byte*)realloc(entry->entry, entry->length + value_len + separator_len + 1)))
-+ if(0 == (new_entry = (FLAC__byte*)safe_realloc_add_4op_(entry->entry, entry->length, /*+*/value_len, /*+*/separator_len, /*+*/1)))
- return false;
- memcpy(new_entry+entry->length, separator, separator_len);
- entry->length += separator_len;
diff --git a/audio/flac/files/patch-src_share_utf8_charset.c b/audio/flac/files/patch-src_share_utf8_charset.c
deleted file mode 100644
index 109f3c8afafb..000000000000
--- a/audio/flac/files/patch-src_share_utf8_charset.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/share/utf8/charset.c.orig
-+++ src/share/utf8/charset.c
-@@ -35,6 +35,7 @@
-
- #include <stdlib.h>
-
-+#include "share/alloc.h"
- #include "charset.h"
-
- #include "charmaps.h"
-@@ -492,7 +493,7 @@
- if (!charset1 || !charset2 )
- return -1;
-
-- tobuf = (char *)malloc(fromlen * charset2->max + 1);
-+ tobuf = (char *)safe_malloc_mul2add_(fromlen, /*times*/charset2->max, /*+*/1);
- if (!tobuf)
- return -2;
-
diff --git a/audio/flac/files/patch-src_share_utf8_iconvert.c b/audio/flac/files/patch-src_share_utf8_iconvert.c
deleted file mode 100644
index 755f1eaabd39..000000000000
--- a/audio/flac/files/patch-src_share_utf8_iconvert.c
+++ /dev/null
@@ -1,49 +0,0 @@
-
-$FreeBSD$
-
---- src/share/utf8/iconvert.c.orig
-+++ src/share/utf8/iconvert.c
-@@ -27,6 +27,7 @@
- #include <iconv.h>
- #include <stdlib.h>
- #include <string.h>
-+#include "share/alloc.h"
-
- /*
- * Convert data from one encoding to another. Return:
-@@ -79,7 +80,7 @@
- * This is deliberately not a config option as people often
- * change their iconv library without rebuilding applications.
- */
-- tocode1 = (char *)malloc(strlen(tocode) + 11);
-+ tocode1 = (char *)safe_malloc_add_2op_(strlen(tocode), /*+*/11);
- if (!tocode1)
- goto fail;
-
-@@ -117,6 +118,8 @@
- break;
- if (obl < 6) {
- /* Enlarge the buffer */
-+ if(utflen*2 < utflen) /* overflow check */
-+ goto fail;
- utflen *= 2;
- newbuf = (char *)realloc(utfbuf, utflen);
- if (!newbuf)
-@@ -143,7 +146,7 @@
- iconv_close(cd1);
- return ret;
- }
-- newbuf = (char *)realloc(utfbuf, (ob - utfbuf) + 1);
-+ newbuf = (char *)safe_realloc_add_2op_(utfbuf, (ob - utfbuf), /*+*/1);
- if (!newbuf)
- goto fail;
- ob = (ob - utfbuf) + newbuf;
-@@ -194,7 +197,7 @@
- outlen += ob - tbuf;
-
- /* Convert from UTF-8 for real */
-- outbuf = (char *)malloc(outlen + 1);
-+ outbuf = (char *)safe_malloc_add_2op_(outlen, /*+*/1);
- if (!outbuf)
- goto fail;
- ib = utfbuf;
diff --git a/audio/flac/files/patch-src_share_utf8_utf8.c b/audio/flac/files/patch-src_share_utf8_utf8.c
deleted file mode 100644
index ecb45334861a..000000000000
--- a/audio/flac/files/patch-src_share_utf8_utf8.c
+++ /dev/null
@@ -1,72 +0,0 @@
-
-$FreeBSD$
-
---- src/share/utf8/utf8.c.orig
-+++ src/share/utf8/utf8.c
-@@ -28,6 +28,7 @@
- #include <config.h>
- #endif
-
-+#include "share/alloc.h"
- #include "utf8.h"
- #include "charset.h"
-
-@@ -57,10 +58,13 @@
- } else {
- size += 3;
- }
-+ if(size+n < size) /* overflow check */
-+ return NULL;
-+ size += n;
- c = unicode[index++];
- }
-
-- out = malloc(size + 1);
-+ out = safe_malloc_add_2op_(size, /*+*/1);
- if (out == NULL)
- return NULL;
- index = 0;
-@@ -101,11 +105,15 @@
- } else {
- index += 1;
- }
-+ if(size + 1 == 0) /* overflow check */
-+ return NULL;
- size += 1;
- c = utf8[index++];
- }
-
-- out = malloc((size + 1) * sizeof(wchar_t));
-+ if(size + 1 == 0) /* overflow check */
-+ return NULL;
-+ out = safe_malloc_mul_2op_((size + 1), /*times*/sizeof(wchar_t));
- if (out == NULL)
- return NULL;
- index = 0;
-@@ -147,7 +155,7 @@
- return -1;
- }
-
-- unicode = calloc(wchars + 1, sizeof(unsigned short));
-+ unicode = safe_calloc_(wchars + 1, sizeof(unsigned short));
- if(unicode == NULL)
- {
- fprintf(stderr, "Out of memory processing string to UTF8\n");
-@@ -197,7 +205,7 @@
- return -1;
- }
-
-- *to = calloc(chars + 1, sizeof(unsigned char));
-+ *to = safe_calloc_(chars + 1, sizeof(unsigned char));
- if(*to == NULL)
- {
- fprintf(stderr, "Out of memory processing string to local charset\n");
-@@ -285,7 +293,7 @@
- if (ret != -1)
- return ret;
-
-- s = malloc(fromlen + 1);
-+ s = safe_malloc_add_2op_(fromlen, /*+*/1);
- if (!s)
- return -1;
- strcpy(s, from);
diff --git a/audio/flac/pkg-descr b/audio/flac/pkg-descr
index 84ebeba47487..4bb4f57e88f1 100644
--- a/audio/flac/pkg-descr
+++ b/audio/flac/pkg-descr
@@ -2,10 +2,8 @@ FLAC is an Open Source lossless audio codec.
FLAC is comprised of
* libFLAC, a library which implements reference encoders and
- decoders, and a metadata interface
+ decoders for native FLAC and Ogg FLAC, and a metadata interface
* libFLAC++, a C++ object wrapper library around libFLAC
-* libOggFLAC and libOggFLAC++, which provide encoders and
- decoders for FLAC streams in an Ogg container
* flac, a command-line program for encoding and decoding files
* metaflac, a command-line program for viewing and editing FLAC
metadata
diff --git a/audio/flac/pkg-plist b/audio/flac/pkg-plist
index c332ab9d659d..60dea510fef6 100644
--- a/audio/flac/pkg-plist
+++ b/audio/flac/pkg-plist
@@ -10,218 +10,161 @@ include/FLAC/all.h
include/FLAC/assert.h
include/FLAC/callback.h
include/FLAC/export.h
-include/FLAC/file_decoder.h
-include/FLAC/file_encoder.h
include/FLAC/format.h
include/FLAC/metadata.h
include/FLAC/ordinals.h
-include/FLAC/seekable_stream_decoder.h
-include/FLAC/seekable_stream_encoder.h
include/FLAC/stream_decoder.h
include/FLAC/stream_encoder.h
-include/OggFLAC++/all.h
-include/OggFLAC++/decoder.h
-include/OggFLAC++/encoder.h
-include/OggFLAC++/export.h
-include/OggFLAC/all.h
-include/OggFLAC/export.h
-include/OggFLAC/file_decoder.h
-include/OggFLAC/file_encoder.h
-include/OggFLAC/seekable_stream_decoder.h
-include/OggFLAC/seekable_stream_encoder.h
-include/OggFLAC/stream_decoder.h
-include/OggFLAC/stream_encoder.h
lib/libFLAC++.a
lib/libFLAC++.la
lib/libFLAC++.so
-lib/libFLAC++.so.5
+lib/libFLAC++.so.8
lib/libFLAC.a
lib/libFLAC.la
lib/libFLAC.so
-lib/libFLAC.so.7
-lib/libOggFLAC++.a
-lib/libOggFLAC++.la
-lib/libOggFLAC++.so
-lib/libOggFLAC++.so.2
-lib/libOggFLAC.a
-lib/libOggFLAC.la
-lib/libOggFLAC.so
-lib/libOggFLAC.so.3
+lib/libFLAC.so.10
+libdata/pkgconfig/flac++.pc
+libdata/pkgconfig/flac.pc
share/aclocal/libFLAC++.m4
share/aclocal/libFLAC.m4
-share/aclocal/libOggFLAC++.m4
-share/aclocal/libOggFLAC.m4
%%PORTDOCS%%%%DOCSDIR%%/FLAC.tag
+%%PORTDOCS%%%%DOCSDIR%%/html/api/+_2all_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/+_2export_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/+_2export_8h.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/+_2metadata_8h-source.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/+_2metadata_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC++_2all_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC++_2decoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC++_2decoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC++_2encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC++_2encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC++_2export_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2all_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2export_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2file__encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2file__encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2seekable__stream__encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2seekable__stream__encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2stream__decoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2stream__decoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2stream__encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/FLAC_2stream__encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC++_2all_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC++_2decoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC++_2decoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC++_2encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC++_2encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC++_2export_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2all_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2export_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2file__encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2file__encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2seekable__stream__encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2seekable__stream__encoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2stream__decoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2stream__decoder_8h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2stream__encoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/OggFLAC_2stream__encoder_8h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/all_8h-source.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/annotated.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/assert_8h-source.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/callback_8h-source.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/callback_8h.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1File-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1File.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1SeekableStream-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1SeekableStream.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1File.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1Stream-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1Stream.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1Stream.png
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State-members.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1File-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1File.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1SeekableStream-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1SeekableStream.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1File.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1Stream-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1Stream.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1Stream.png
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State-members.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Application-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Application.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Application.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Application.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Chain-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Chain.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1CueSheet-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1CueSheet.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1CueSheet.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1CueSheet.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Iterator-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Iterator.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Padding-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Padding.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Padding.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Padding.png
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Picture-members.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Picture.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Picture.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Prototype-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Prototype.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Prototype.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Prototype.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SeekTable-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SeekTable.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SeekTable.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SeekTable.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SimpleIterator-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SimpleIterator.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1StreamInfo-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1StreamInfo.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1StreamInfo.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1StreamInfo.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Unknown-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Unknown.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Unknown.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1Unknown.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1VorbisComment-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1VorbisComment.gif
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1VorbisComment.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1VorbisComment.png
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Decoder_1_1File-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Decoder_1_1File.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Decoder_1_1SeekableStream-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Decoder_1_1SeekableStream.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Decoder_1_1Stream-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Decoder_1_1Stream.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Encoder_1_1File-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Encoder_1_1File.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Encoder_1_1SeekableStream-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Encoder_1_1SeekableStream.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Encoder_1_1Stream-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/classOggFLAC_1_1Encoder_1_1Stream.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/classes.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/decoder_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/decoder_8h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/dir_000000.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/dir_000001.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/dir_000002.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/dirs.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/doxygen.css
-%%PORTDOCS%%%%DOCSDIR%%/html/api/doxygen.gif
-%%PORTDOCS%%%%DOCSDIR%%/html/api/file__decoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/file__decoder_8h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/doxygen.png
+%%PORTDOCS%%%%DOCSDIR%%/html/api/encoder_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/encoder_8h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/export_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/export_8h.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/files.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/format_8h-source.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/format_8h.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/functions.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/functions_func.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/functions_vars.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/globals.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_0x66.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_0x67.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_defs.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_enum.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_eval.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_func.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_type.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/globals_vars.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__callbacks.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__decoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__file__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__file__encoder.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__export.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__format.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__metadata.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__metadata__level0.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__metadata__level1.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__metadata__level2.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__metadata__object.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__seekable__stream__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__seekable__stream__encoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__stream__decoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flac__stream__encoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__decoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__file__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__file__encoder.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__export.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__metadata.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__metadata__level0.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__metadata__level1.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__metadata__level2.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__metadata__object.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__seekable__stream__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__seekable__stream__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__stream__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__flacpp__stream__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac__file__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac__seekable__stream__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac__stream__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflac__stream__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__file__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__file__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__seekable__stream__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__seekable__stream__encoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__stream__decoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/group__oggflacpp__stream__encoder.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/group__porting.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/group__porting__1__1__2__to__1__1__3.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/group__porting__1__1__3__to__1__1__4.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/group__porting__1__1__4__to__1__2__0.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/hierarchy.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/index.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/metadata_8h-source.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/metadata_8h.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/modules.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/ordinals_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/seekable__stream__decoder_8h-source.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/seekable__stream__decoder_8h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/stream__decoder_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/stream__decoder_8h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/stream__encoder_8h-source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/stream__encoder_8h.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____EntropyCodingMethod-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____EntropyCodingMethod.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____EntropyCodingMethod__PartitionedRice-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____EntropyCodingMethod__PartitionedRice.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____FileDecoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____FileDecoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____FileEncoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____FileEncoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____Frame-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____Frame.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____FrameFooter-members.html
@@ -230,10 +173,6 @@ share/aclocal/libOggFLAC.m4
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____FrameHeader.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____IOCallbacks-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____IOCallbacks.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____SeekableStreamDecoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____SeekableStreamDecoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____SeekableStreamEncoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____SeekableStreamEncoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamDecoder-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamDecoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamEncoder-members.html
@@ -250,6 +189,8 @@ share/aclocal/libOggFLAC.m4
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__CueSheet__Track.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__Padding-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__Padding.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__Picture-members.html
+%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__Picture.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__SeekPoint-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__SeekPoint.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____StreamMetadata__SeekTable-members.html
@@ -272,30 +213,78 @@ share/aclocal/libOggFLAC.m4
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____Subframe__LPC.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____Subframe__Verbatim-members.html
%%PORTDOCS%%%%DOCSDIR%%/html/api/structFLAC____Subframe__Verbatim.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____FileEncoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____FileEncoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____SeekableStreamEncoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____SeekableStreamEncoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____StreamDecoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____StreamDecoder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____StreamEncoder-members.html
-%%PORTDOCS%%%%DOCSDIR%%/html/api/structOggFLAC____StreamEncoder.html
%%PORTDOCS%%%%DOCSDIR%%/html/changelog.html
%%PORTDOCS%%%%DOCSDIR%%/html/comparison.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__chopin_prelude_24.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__dream_theater_600.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__eddie_warner_titus.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__fanfare_de_l_eventail_de_jeanne.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__gloria_estefan_conga.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__hand_in_my_pocket.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__l_sub_raga_sivapriya.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__laetatus_sum.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__mummified_in_barbed_wire.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__prokofiev_pcon3_3.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__ravel_sq4_4.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__scarlatti_k42.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__tool_forty_six_and_2.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison__white_room.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison_all_cpudectime.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison_all_cpuenctime.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison_all_procdectime.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison_all_procenctime.html
+%%PORTDOCS%%%%DOCSDIR%%/html/comparison_all_ratio.html
%%PORTDOCS%%%%DOCSDIR%%/html/developers.html
%%PORTDOCS%%%%DOCSDIR%%/html/documentation.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_bugs.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_example_code.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_format_overview.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_tasks.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_tools.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_tools_flac.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_tools_metaflac.html
+%%PORTDOCS%%%%DOCSDIR%%/html/documentation_tools_plugins.html
%%PORTDOCS%%%%DOCSDIR%%/html/download.html
%%PORTDOCS%%%%DOCSDIR%%/html/faq.html
%%PORTDOCS%%%%DOCSDIR%%/html/favicon.ico
%%PORTDOCS%%%%DOCSDIR%%/html/features.html
+%%PORTDOCS%%%%DOCSDIR%%/html/flac.css
%%PORTDOCS%%%%DOCSDIR%%/html/format.html
-%%PORTDOCS%%%%DOCSDIR%%/html/goals.html
%%PORTDOCS%%%%DOCSDIR%%/html/id.html
%%PORTDOCS%%%%DOCSDIR%%/html/images/1x1.gif
%%PORTDOCS%%%%DOCSDIR%%/html/images/cafebug.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/Blackbird_Front_low3_325x87.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/MS300frontsmall_270x108.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/MediaBox_Frt_170x325.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/SB_Hero_Black_325x182.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/Sooloos-ControlOne_325x328.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/Z500_front_325x94.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/a2_01_325x252.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/arcus_325x135.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/bmp-1430_325x241.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/cs505_front_lrg_325x113.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/escient_ProductLine_325x163.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/hifidelio_bl_front_Z_RGB_325x163.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/i-station-mini-dx_325x237.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/iwod-g10_325x257.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/knc_hr-2800_325x209.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/mediaready_prodmain_MRMCa_325x232.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/meizu_m6_325x206.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/musica_artwork_325x90.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/neodigits_x5000_325x124.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/onda-vx737_325x240.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/request_n_front_325x103.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/rio_karma_279x254.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/sonos_family_RGB_325x200.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/teclast-tl29_325x244.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/transporter_hero_grey_325x208.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/tvix-4000_325x204.jpg
+%%PORTDOCS%%%%DOCSDIR%%/html/images/hw/vibez_nofm_combi_black_b_325x220.jpg
%%PORTDOCS%%%%DOCSDIR%%/html/images/logo100.gif
%%PORTDOCS%%%%DOCSDIR%%/html/images/logo130.gif
%%PORTDOCS%%%%DOCSDIR%%/html/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/itunes.html
%%PORTDOCS%%%%DOCSDIR%%/html/license.html
%%PORTDOCS%%%%DOCSDIR%%/html/links.html
%%PORTDOCS%%%%DOCSDIR%%/html/news.html
@@ -313,11 +302,10 @@ share/aclocal/libOggFLAC.m4
%%PORTDOCS%%%%DOCSDIR%%/html/ru/links.html
%%PORTDOCS%%%%DOCSDIR%%/html/ru/news.html
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/ru
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/images/hw
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/images
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/api
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html
%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrm include/OggFLAC++
-@dirrm include/OggFLAC
@dirrm include/FLAC++
@dirrm include/FLAC
diff --git a/audio/flac123/Makefile b/audio/flac123/Makefile
index 68ddad22627a..aee732851efe 100644
--- a/audio/flac123/Makefile
+++ b/audio/flac123/Makefile
@@ -7,6 +7,7 @@
PORTNAME= flac123
PORTVERSION= 0.0.11
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= flac-tools
@@ -14,7 +15,7 @@ MASTER_SITE_SUBDIR= flac-tools
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Command-line player for flac audio files
-LIB_DEPENDS= FLAC.7:${PORTSDIR}/audio/flac \
+LIB_DEPENDS= FLAC.10:${PORTSDIR}/audio/flac \
ao.3:${PORTSDIR}/audio/libao \
popt.0:${PORTSDIR}/devel/popt
diff --git a/audio/gstreamer-plugins-flac/Makefile b/audio/gstreamer-plugins-flac/Makefile
index df14bc479bfa..219c31751a08 100644
--- a/audio/gstreamer-plugins-flac/Makefile
+++ b/audio/gstreamer-plugins-flac/Makefile
@@ -6,7 +6,7 @@
# $MCom: ports/audio/gstreamer-plugins-flac/Makefile,v 1.5 2008/03/19 14:05:29 ahze Exp $
#
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio
COMMENT= Gstreamer free lossless audio encoder/decoder plugin
diff --git a/audio/gtkpod/Makefile b/audio/gtkpod/Makefile
index 91e4ff3fb6ab..cf396b43bc60 100644
--- a/audio/gtkpod/Makefile
+++ b/audio/gtkpod/Makefile
@@ -7,6 +7,7 @@
PORTNAME= gtkpod
PORTVERSION= 0.99.12
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -44,7 +45,7 @@ LIB_DEPENDS+= vorbis.4:${PORTSDIR}/audio/libvorbis
.endif
.if defined(WITH_FLAC) || exists(${LOCALBASE}/lib/libFLAC.so)
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
.endif
.if defined(WITH_GNOMEVFS) || ${HAVE_GNOME:Mgnomevfs2}
diff --git a/audio/hydrogen/Makefile b/audio/hydrogen/Makefile
index c3c232d14566..f6322800d88a 100644
--- a/audio/hydrogen/Makefile
+++ b/audio/hydrogen/Makefile
@@ -7,7 +7,7 @@
PORTNAME= hydrogen
PORTVERSION= 0.9.3
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -42,6 +42,8 @@ OPTIONS= JACK "JACK support" off \
LRDF "LRDF support" off \
FLAC "FLAC support" on
+.include <bsd.port.pre.mk>
+
.if defined(WITH_JACK)
LIB_DEPENDS+= jack:${PORTSDIR}/audio/jack
CPPFLAGS+= ${PTHREAD_CFLAGS}
@@ -66,7 +68,7 @@ CONFIGURE_ARGS+=--disable-lrdf-support
.endif
.if defined(WITH_FLAC)
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
.else
CONFIGURE_ARGS+=--disable-flac-support
.endif
@@ -110,4 +112,4 @@ do-install:
${MKDIR} ${MAN1PREFIX}/man/ru.KOI8-R/man1
${INSTALL_MAN} ${WRKSRC}/man/ru/hydrogen.1 ${MAN1PREFIX}/man/ru.KOI8-R/man1
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/audio/hydrogen/files/patch-src_lib_FLACFile.cpp b/audio/hydrogen/files/patch-src_lib_FLACFile.cpp
new file mode 100644
index 000000000000..f66d829bde2a
--- /dev/null
+++ b/audio/hydrogen/files/patch-src_lib_FLACFile.cpp
@@ -0,0 +1,21 @@
+--- src/lib/FLACFile.cpp.orig 2008-03-27 21:03:52.000000000 +0100
++++ src/lib/FLACFile.cpp 2008-03-27 21:05:03.000000000 +0100
+@@ -164,15 +164,13 @@ void FLACFile_real::load( string sFilena
+ }
+
+ set_metadata_ignore_all();
+- set_filename( sFilename.c_str() );
+
+- State s=init();
+- if( s != FLAC__FILE_DECODER_OK ) {
++ if( FLAC__STREAM_DECODER_INIT_STATUS_OK != init( sFilename.c_str() ) ) {
+ errorLog( "[load] Error in init()" );
+ }
+
+- if ( process_until_end_of_file() == false ) {
+- errorLog( "[load] Error in process_until_end_of_file()" );
++ if ( process_until_end_of_stream() == false ) {
++ errorLog( "[load] Error in process_until_end_of_stream()" );
+ }
+ }
+
diff --git a/audio/ices0/Makefile b/audio/ices0/Makefile
index a1c859748be2..633aa1acd348 100644
--- a/audio/ices0/Makefile
+++ b/audio/ices0/Makefile
@@ -7,7 +7,7 @@
PORTNAME= ices
PORTVERSION= 0.4
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= audio net
MASTER_SITES= http://svn.xiph.org/releases/ices/
@@ -45,7 +45,7 @@ MAN1= ices0.1
.if !defined(WITH_FLAC)
CONFIGURE_ARGS+=--without-flac
.else
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac \
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac \
mp3lame:${PORTSDIR}/audio/lame
.endif
diff --git a/audio/kid3-kde4/Makefile b/audio/kid3-kde4/Makefile
index 32e29fe72ca6..5d8c54978baf 100644
--- a/audio/kid3-kde4/Makefile
+++ b/audio/kid3-kde4/Makefile
@@ -7,6 +7,7 @@
PORTNAME= kid3
PORTVERSION= 1.0
+PORTREVISION= 1
CATEGORIES= audio kde
MASTER_SITES= SF
@@ -14,7 +15,7 @@ MAINTAINER= makc@issp.ac.ru
COMMENT= MP3/Ogg/FLAC tag editor for KDE
LIB_DEPENDS= id3-3.8.3:${PORTSDIR}/audio/id3lib \
- FLAC.7:${PORTSDIR}/audio/flac \
+ FLAC.10:${PORTSDIR}/audio/flac \
ogg.5:${PORTSDIR}/audio/libogg \
vorbis.4:${PORTSDIR}/audio/libvorbis \
tunepimp.5:${PORTSDIR}/audio/libtunepimp \
diff --git a/audio/kid3/Makefile b/audio/kid3/Makefile
index 32e29fe72ca6..5d8c54978baf 100644
--- a/audio/kid3/Makefile
+++ b/audio/kid3/Makefile
@@ -7,6 +7,7 @@
PORTNAME= kid3
PORTVERSION= 1.0
+PORTREVISION= 1
CATEGORIES= audio kde
MASTER_SITES= SF
@@ -14,7 +15,7 @@ MAINTAINER= makc@issp.ac.ru
COMMENT= MP3/Ogg/FLAC tag editor for KDE
LIB_DEPENDS= id3-3.8.3:${PORTSDIR}/audio/id3lib \
- FLAC.7:${PORTSDIR}/audio/flac \
+ FLAC.10:${PORTSDIR}/audio/flac \
ogg.5:${PORTSDIR}/audio/libogg \
vorbis.4:${PORTSDIR}/audio/libvorbis \
tunepimp.5:${PORTSDIR}/audio/libtunepimp \
diff --git a/audio/libsndfile/Makefile b/audio/libsndfile/Makefile
index 63c36479b71a..a3edc3b9d9be 100644
--- a/audio/libsndfile/Makefile
+++ b/audio/libsndfile/Makefile
@@ -7,7 +7,7 @@
PORTNAME= libsndfile
PORTVERSION= 1.0.17
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= audio
MASTER_SITES= http://www.mega-nerd.com/libsndfile/
@@ -30,7 +30,7 @@ OPTIONS= FLAC "Enable flac support" On
.include <bsd.port.pre.mk>
.if !defined(WITHOUT_FLAC)
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
CONFIGURE_ARGS+=--enable-flac
.else
CONFIGURE_ARGS+=--disable-flac
diff --git a/audio/libsndfile/files/patch-flac_metadata_support b/audio/libsndfile/files/patch-flac_metadata_support
deleted file mode 100644
index b65273e4b085..000000000000
--- a/audio/libsndfile/files/patch-flac_metadata_support
+++ /dev/null
@@ -1,44 +0,0 @@
---- src/flac.c 2006-08-31 11:22:19.000000000 +0200
-+++ src/flac.c 2007-07-10 21:16:47.000000000 +0200
-@@ -353,6 +353,22 @@
- } /* sf_flac_write_callback */
-
- static void
-+sf_flac_meta_getvorbiscomment (SF_PRIVATE *psf, int str_type, const FLAC__StreamMetadata *metadata, const char *tag)
-+{
-+ int i;
-+ const char *value, *s;
-+
-+ i = FLAC__metadata_object_vorbiscomment_find_entry_from(metadata, 0, tag);
-+ if (i >= 0) {
-+ value = metadata->data.vorbis_comment.comments[i].entry;
-+ if ((s = strchr(value, '=')) != NULL)
-+ value = s + 1;
-+
-+ psf_store_string (psf, str_type, value);
-+ }
-+}
-+
-+static void
- sf_flac_meta_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), const FLAC__StreamMetadata *metadata, void *client_data)
- { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
-
-@@ -378,6 +394,10 @@
- } ;
- break ;
-
-+ case FLAC__METADATA_TYPE_VORBIS_COMMENT :
-+ sf_flac_meta_getvorbiscomment (psf, SF_STR_ARTIST, metadata, "artist");
-+ sf_flac_meta_getvorbiscomment (psf, SF_STR_TITLE, metadata, "title");
-+ break;
- default :
- psf_log_printf (psf, "sf_flac_meta_callback : metadata-type %d not yet implemented.\n", metadata->type) ;
- break ;
-@@ -603,6 +623,7 @@
- FLAC__seekable_stream_decoder_set_eof_callback (pflac->fsd, sf_flac_eof_callback) ;
- FLAC__seekable_stream_decoder_set_write_callback (pflac->fsd, sf_flac_write_callback) ;
- FLAC__seekable_stream_decoder_set_metadata_callback (pflac->fsd, sf_flac_meta_callback) ;
-+ FLAC__seekable_stream_decoder_set_metadata_respond(pflac->fsd, FLAC__METADATA_TYPE_VORBIS_COMMENT);
- FLAC__seekable_stream_decoder_set_error_callback (pflac->fsd, sf_flac_error_callback) ;
- FLAC__seekable_stream_decoder_set_client_data (pflac->fsd, psf) ;
-
diff --git a/audio/libsndfile/files/patch-src_flac.c b/audio/libsndfile/files/patch-src_flac.c
new file mode 100644
index 000000000000..4cfea7e795d1
--- /dev/null
+++ b/audio/libsndfile/files/patch-src_flac.c
@@ -0,0 +1,501 @@
+--- src/flac.c.orig 2006-08-31 11:22:19.000000000 +0200
++++ src/flac.c 2008-03-28 17:07:29.000000000 +0100
+@@ -46,6 +46,13 @@
+ #include "sfendian.h"
+ #include "float_cast.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
++
+ /*------------------------------------------------------------------------------
+ ** Private static functions.
+ */
+@@ -60,8 +67,14 @@
+ } PFLAC_PCM ;
+
+ typedef struct
+-{ FLAC__SeekableStreamDecoder *fsd ;
++{
++#ifdef LEGACY_FLAC
++ FLAC__SeekableStreamDecoder *fsd ;
+ FLAC__SeekableStreamEncoder *fse ;
++#else
++ FLAC__StreamDecoder *fsd ;
++ FLAC__StreamEncoder *fse ;
++#endif
+ PFLAC_PCM pcmtype ;
+ void* ptr ;
+ unsigned pos, len, remain ;
+@@ -108,6 +121,7 @@
+ static int flac_command (SF_PRIVATE *psf, int command, void *data, int datasize) ;
+
+ /* Decoder Callbacks */
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderReadStatus sf_flac_read_callback (const FLAC__SeekableStreamDecoder *decoder, FLAC__byte buffer [], unsigned *bytes, void *client_data) ;
+ static FLAC__SeekableStreamDecoderSeekStatus sf_flac_seek_callback (const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) ;
+ static FLAC__SeekableStreamDecoderTellStatus sf_flac_tell_callback (const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) ;
+@@ -116,13 +130,29 @@
+ static FLAC__StreamDecoderWriteStatus sf_flac_write_callback (const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer [], void *client_data) ;
+ static void sf_flac_meta_callback (const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ;
+ static void sf_flac_error_callback (const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ;
++#else
++static FLAC__StreamDecoderReadStatus sf_flac_read_callback (const FLAC__StreamDecoder *decoder, FLAC__byte buffer [], size_t *bytes, void *client_data) ;
++static FLAC__StreamDecoderSeekStatus sf_flac_seek_callback (const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) ;
++static FLAC__StreamDecoderTellStatus sf_flac_tell_callback (const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) ;
++static FLAC__StreamDecoderLengthStatus sf_flac_length_callback (const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) ;
++static FLAC__bool sf_flac_eof_callback (const FLAC__StreamDecoder *decoder, void *client_data) ;
++static FLAC__StreamDecoderWriteStatus sf_flac_write_callback (const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer [], void *client_data) ;
++static void sf_flac_meta_callback (const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ;
++static void sf_flac_error_callback (const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ;
++#endif
+
+ /* Encoder Callbacks */
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamEncoderSeekStatus sf_flac_enc_seek_callback (const FLAC__SeekableStreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) ;
+ #ifdef HAVE_FLAC_1_1_1
+ static FLAC__SeekableStreamEncoderTellStatus sf_flac_enc_tell_callback (const FLAC__SeekableStreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) ;
+ #endif
+ static FLAC__StreamEncoderWriteStatus sf_flac_enc_write_callback (const FLAC__SeekableStreamEncoder *encoder, const FLAC__byte buffer [], unsigned bytes, unsigned samples, unsigned current_frame, void *client_data) ;
++#else
++static FLAC__StreamEncoderSeekStatus sf_flac_enc_seek_callback (const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) ;
++static FLAC__StreamEncoderTellStatus sf_flac_enc_tell_callback (const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) ;
++static FLAC__StreamEncoderWriteStatus sf_flac_enc_write_callback (const FLAC__StreamEncoder *encoder, const FLAC__byte buffer [], size_t bytes, unsigned samples, unsigned current_frame, void *client_data) ;
++#endif
+
+ static const int legal_sample_rates [] =
+ { 8000, 16000, 22050, 24000, 32000, 44100, 48000, 96000
+@@ -283,51 +313,99 @@
+ } /* flac_buffer_copy */
+
+
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderReadStatus
+ sf_flac_read_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), FLAC__byte buffer [], unsigned *bytes, void *client_data)
++#else
++static FLAC__StreamDecoderReadStatus
++sf_flac_read_callback (const FLAC__StreamDecoder * UNUSED (decoder), FLAC__byte buffer [], size_t *bytes, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ *bytes = psf_fread (buffer, 1, *bytes, psf) ;
+ if (*bytes > 0 && psf->error == 0)
++#ifdef LEGACY_FLAC
+ return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK ;
+
+ return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR ;
++#else
++ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE ;
++
++ return FLAC__STREAM_DECODER_READ_STATUS_ABORT ;
++#endif
+ } /* sf_flac_read_callback */
+
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderSeekStatus
+ sf_flac_seek_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), FLAC__uint64 absolute_byte_offset, void *client_data)
++#else
++static FLAC__StreamDecoderSeekStatus
++sf_flac_seek_callback (const FLAC__StreamDecoder * UNUSED (decoder), FLAC__uint64 absolute_byte_offset, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ psf_fseek (psf, absolute_byte_offset, SEEK_SET) ;
+ if (psf->error)
++#ifdef LEGACY_FLAC
+ return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR ;
+
+ return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK ;
++#else
++ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR ;
++
++ return FLAC__STREAM_DECODER_SEEK_STATUS_OK ;
++#endif
+ } /* sf_flac_seek_callback */
+
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderTellStatus
+ sf_flac_tell_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), FLAC__uint64 *absolute_byte_offset, void *client_data)
++#else
++static FLAC__StreamDecoderTellStatus
++sf_flac_tell_callback (const FLAC__StreamDecoder * UNUSED (decoder), FLAC__uint64 *absolute_byte_offset, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ *absolute_byte_offset = psf_ftell (psf) ;
+ if (psf->error)
++#ifdef LEGACY_FLAC
+ return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR ;
+
+ return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK ;
++#else
++ return FLAC__STREAM_DECODER_TELL_STATUS_ERROR ;
++
++ return FLAC__STREAM_DECODER_TELL_STATUS_OK ;
++#endif
+ } /* sf_flac_tell_callback */
+
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderLengthStatus
+ sf_flac_length_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), FLAC__uint64 *stream_length, void *client_data)
++#else
++static FLAC__StreamDecoderLengthStatus
++sf_flac_length_callback (const FLAC__StreamDecoder * UNUSED (decoder), FLAC__uint64 *stream_length, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ if ((*stream_length = psf->filelength) == 0)
++#ifdef LEGACY_FLAC
+ return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR ;
+
+ return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK ;
++#else
++ return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR ;
++
++ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK ;
++#endif
+ } /* sf_flac_length_callback */
+
+ static FLAC__bool
++#ifdef LEGACY_FLAC
+ sf_flac_eof_callback (const FLAC__SeekableStreamDecoder *UNUSED (decoder), void *client_data)
++#else
++sf_flac_eof_callback (const FLAC__StreamDecoder *UNUSED (decoder), void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ if (psf_ftell (psf) == psf->filelength)
+@@ -337,7 +415,11 @@
+ } /* sf_flac_eof_callback */
+
+ static FLAC__StreamDecoderWriteStatus
++#ifdef LEGACY_FLAC
+ sf_flac_write_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), const FLAC__Frame *frame, const FLAC__int32 * const buffer [], void *client_data)
++#else
++sf_flac_write_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC__Frame *frame, const FLAC__int32 * const buffer [], void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+ FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
+
+@@ -353,7 +435,27 @@
+ } /* sf_flac_write_callback */
+
+ static void
++sf_flac_meta_getvorbiscomment (SF_PRIVATE *psf, int str_type, const FLAC__StreamMetadata *metadata, const char *tag)
++{
++ int i;
++ const char *value, *s;
++
++ i = FLAC__metadata_object_vorbiscomment_find_entry_from(metadata, 0, tag);
++ if (i >= 0) {
++ value = metadata->data.vorbis_comment.comments[i].entry;
++ if ((s = strchr(value, '=')) != NULL)
++ value = s + 1;
++
++ psf_store_string (psf, str_type, value);
++ }
++}
++
++static void
++#ifdef LEGACY_FLAC
+ sf_flac_meta_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), const FLAC__StreamMetadata *metadata, void *client_data)
++#else
++sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC__StreamMetadata *metadata, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ switch (metadata->type)
+@@ -378,6 +480,10 @@
+ } ;
+ break ;
+
++ case FLAC__METADATA_TYPE_VORBIS_COMMENT :
++ sf_flac_meta_getvorbiscomment (psf, SF_STR_ARTIST, metadata, "artist");
++ sf_flac_meta_getvorbiscomment (psf, SF_STR_TITLE, metadata, "title");
++ break;
+ default :
+ psf_log_printf (psf, "sf_flac_meta_callback : metadata-type %d not yet implemented.\n", metadata->type) ;
+ break ;
+@@ -387,7 +493,11 @@
+ } /* sf_flac_meta_callback */
+
+ static void
++#ifdef LEGACY_FLAC
+ sf_flac_error_callback (const FLAC__SeekableStreamDecoder * UNUSED (decoder), FLAC__StreamDecoderErrorStatus status, void *client_data)
++#else
++sf_flac_error_callback (const FLAC__StreamDecoder * UNUSED (decoder), FLAC__StreamDecoderErrorStatus status, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ psf_log_printf (psf, "ERROR : %s\n", FLAC__StreamDecoderErrorStatusString [status]) ;
+@@ -407,17 +517,29 @@
+ return ;
+ } /* sf_flac_error_callback */
+
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamEncoderSeekStatus
+ sf_flac_enc_seek_callback (const FLAC__SeekableStreamEncoder * UNUSED (encoder), FLAC__uint64 absolute_byte_offset, void *client_data)
++#else
++static FLAC__StreamEncoderSeekStatus
++sf_flac_enc_seek_callback (const FLAC__StreamEncoder * UNUSED (encoder), FLAC__uint64 absolute_byte_offset, void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ psf_fseek (psf, absolute_byte_offset, SEEK_SET) ;
+ if (psf->error)
++#ifdef LEGACY_FLAC
+ return FLAC__SEEKABLE_STREAM_ENCODER_SEEK_STATUS_ERROR ;
+
+ return FLAC__SEEKABLE_STREAM_ENCODER_SEEK_STATUS_OK ;
++#else
++ return FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR ;
++
++ return FLAC__STREAM_ENCODER_SEEK_STATUS_OK ;
++#endif
+ } /* sf_flac_enc_seek_callback */
+
++#ifdef LEGACY_FLAC
+ #ifdef HAVE_FLAC_1_1_1
+ static FLAC__SeekableStreamEncoderTellStatus
+ sf_flac_enc_tell_callback (const FLAC__SeekableStreamEncoder *UNUSED (encoder), FLAC__uint64 *absolute_byte_offset, void *client_data)
+@@ -430,9 +552,25 @@
+ return FLAC__SEEKABLE_STREAM_ENCODER_TELL_STATUS_OK ;
+ } /* sf_flac_enc_tell_callback */
+ #endif
++#else
++static FLAC__StreamEncoderTellStatus
++sf_flac_enc_tell_callback (const FLAC__StreamEncoder *UNUSED (encoder), FLAC__uint64 *absolute_byte_offset, void *client_data)
++{ SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
++
++ *absolute_byte_offset = psf_ftell (psf) ;
++ if (psf->error)
++ return FLAC__STREAM_ENCODER_TELL_STATUS_ERROR ;
++
++ return FLAC__STREAM_ENCODER_TELL_STATUS_OK ;
++} /* sf_flac_enc_tell_callback */
++#endif
+
+ static FLAC__StreamEncoderWriteStatus
++#ifdef LEGACY_FLAC
+ sf_flac_enc_write_callback (const FLAC__SeekableStreamEncoder * UNUSED (encoder), const FLAC__byte buffer [], unsigned bytes, unsigned UNUSED (samples), unsigned UNUSED (current_frame), void *client_data)
++#else
++sf_flac_enc_write_callback (const FLAC__StreamEncoder * UNUSED (encoder), const FLAC__byte buffer [], size_t bytes, unsigned UNUSED (samples), unsigned UNUSED (current_frame), void *client_data)
++#endif
+ { SF_PRIVATE *psf = (SF_PRIVATE*) client_data ;
+
+ if (psf_fwrite (buffer, 1, bytes, psf) == bytes && psf->error == 0)
+@@ -509,15 +647,27 @@
+ return 0 ;
+
+ if (psf->mode == SFM_WRITE)
+- { FLAC__seekable_stream_encoder_finish (pflac->fse) ;
++ {
++#ifdef LEGACY_FLAC
++ FLAC__seekable_stream_encoder_finish (pflac->fse) ;
+ FLAC__seekable_stream_encoder_delete (pflac->fse) ;
++#else
++ FLAC__stream_encoder_finish (pflac->fse) ;
++ FLAC__stream_encoder_delete (pflac->fse) ;
++#endif
+ if (pflac->encbuffer)
+ free (pflac->encbuffer) ;
+ } ;
+
+ if (psf->mode == SFM_READ)
+- { FLAC__seekable_stream_decoder_finish (pflac->fsd) ;
++ {
++#ifdef LEGACY_FLAC
++ FLAC__seekable_stream_decoder_finish (pflac->fsd) ;
+ FLAC__seekable_stream_decoder_delete (pflac->fsd) ;
++#else
++ FLAC__stream_decoder_finish (pflac->fsd) ;
++ FLAC__stream_decoder_delete (pflac->fsd) ;
++#endif
+ } ;
+
+ for (k = 0 ; k < ARRAY_LEN (pflac->rbuffer) ; k++)
+@@ -546,17 +696,6 @@
+ return SFE_FLAC_BAD_SAMPLE_RATE ;
+
+ psf_fseek (psf, 0, SEEK_SET) ;
+- if ((pflac->fse = FLAC__seekable_stream_encoder_new ()) == NULL)
+- return SFE_FLAC_NEW_DECODER ;
+- FLAC__seekable_stream_encoder_set_write_callback (pflac->fse, sf_flac_enc_write_callback) ;
+- FLAC__seekable_stream_encoder_set_seek_callback (pflac->fse, sf_flac_enc_seek_callback) ;
+-
+-#ifdef HAVE_FLAC_1_1_1
+- FLAC__seekable_stream_encoder_set_tell_callback (pflac->fse, sf_flac_enc_tell_callback) ;
+-#endif
+- FLAC__seekable_stream_encoder_set_client_data (pflac->fse, psf) ;
+- FLAC__seekable_stream_encoder_set_channels (pflac->fse, psf->sf.channels) ;
+- FLAC__seekable_stream_encoder_set_sample_rate (pflac->fse, psf->sf.samplerate) ;
+
+ switch (psf->sf.format & SF_FORMAT_SUBMASK)
+ { case SF_FORMAT_PCM_S8 :
+@@ -574,12 +713,36 @@
+ break ;
+ } ;
+
++#ifdef LEGACY_FLAC
++ if ((pflac->fse = FLAC__seekable_stream_encoder_new ()) == NULL)
++ return SFE_FLAC_NEW_DECODER ;
++ FLAC__seekable_stream_encoder_set_write_callback (pflac->fse, sf_flac_enc_write_callback) ;
++ FLAC__seekable_stream_encoder_set_seek_callback (pflac->fse, sf_flac_enc_seek_callback) ;
++
++#ifdef HAVE_FLAC_1_1_1
++ FLAC__seekable_stream_encoder_set_tell_callback (pflac->fse, sf_flac_enc_tell_callback) ;
++#endif
++ FLAC__seekable_stream_encoder_set_client_data (pflac->fse, psf) ;
++ FLAC__seekable_stream_encoder_set_channels (pflac->fse, psf->sf.channels) ;
++ FLAC__seekable_stream_encoder_set_sample_rate (pflac->fse, psf->sf.samplerate) ;
+ FLAC__seekable_stream_encoder_set_bits_per_sample (pflac->fse, bps) ;
+
+ if ((bps = FLAC__seekable_stream_encoder_init (pflac->fse)) != FLAC__SEEKABLE_STREAM_DECODER_OK)
+ { psf_log_printf (psf, "Error : FLAC encoder init returned error : %s\n", FLAC__seekable_stream_encoder_get_resolved_state_string (pflac->fse)) ;
+ return SFE_FLAC_INIT_DECODER ;
+ } ;
++#else
++ if ((pflac->fse = FLAC__stream_encoder_new ()) == NULL)
++ return SFE_FLAC_NEW_DECODER ;
++ FLAC__stream_encoder_set_channels (pflac->fse, psf->sf.channels) ;
++ FLAC__stream_encoder_set_sample_rate (pflac->fse, psf->sf.samplerate) ;
++ FLAC__stream_encoder_set_bits_per_sample (pflac->fse, bps) ;
++
++ if ((bps = FLAC__stream_encoder_init_stream (pflac->fse, sf_flac_enc_write_callback, sf_flac_enc_seek_callback, sf_flac_enc_tell_callback, NULL, psf)) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
++ { psf_log_printf (psf, "Error : FLAC encoder init returned error : %s\n", FLAC__StreamEncoderInitStatusString[bps]) ;
++ return SFE_FLAC_INIT_DECODER ;
++ } ;
++#endif
+
+ if (psf->error == 0)
+ psf->dataoffset = psf_ftell (psf) ;
+@@ -593,6 +756,7 @@
+ { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
+
+ psf_fseek (psf, 0, SEEK_SET) ;
++#ifdef LEGACY_FLAC
+ if ((pflac->fsd = FLAC__seekable_stream_decoder_new ()) == NULL)
+ return SFE_FLAC_NEW_DECODER ;
+
+@@ -603,6 +767,7 @@
+ FLAC__seekable_stream_decoder_set_eof_callback (pflac->fsd, sf_flac_eof_callback) ;
+ FLAC__seekable_stream_decoder_set_write_callback (pflac->fsd, sf_flac_write_callback) ;
+ FLAC__seekable_stream_decoder_set_metadata_callback (pflac->fsd, sf_flac_meta_callback) ;
++ FLAC__seekable_stream_decoder_set_metadata_respond(pflac->fsd, FLAC__METADATA_TYPE_VORBIS_COMMENT);
+ FLAC__seekable_stream_decoder_set_error_callback (pflac->fsd, sf_flac_error_callback) ;
+ FLAC__seekable_stream_decoder_set_client_data (pflac->fsd, psf) ;
+
+@@ -610,9 +775,24 @@
+ return SFE_FLAC_INIT_DECODER ;
+
+ FLAC__seekable_stream_decoder_process_until_end_of_metadata (pflac->fsd) ;
++#else
++ if ((pflac->fsd = FLAC__stream_decoder_new ()) == NULL)
++ return SFE_FLAC_NEW_DECODER ;
++
++ FLAC__stream_decoder_set_metadata_respond(pflac->fsd, FLAC__METADATA_TYPE_VORBIS_COMMENT);
++
++ if (FLAC__stream_decoder_init_stream (pflac->fsd, sf_flac_read_callback, sf_flac_seek_callback, sf_flac_tell_callback, sf_flac_length_callback, sf_flac_eof_callback, sf_flac_write_callback, sf_flac_meta_callback, sf_flac_error_callback, psf) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
++ return SFE_FLAC_INIT_DECODER ;
++
++ FLAC__stream_decoder_process_until_end_of_metadata (pflac->fsd) ;
++#endif
+ if (psf->error == 0)
+ { FLAC__uint64 position ;
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_get_decode_position (pflac->fsd, &position) ;
++#else
++ FLAC__stream_decoder_get_decode_position (pflac->fsd, &position) ;
++#endif
+ psf->dataoffset = position ;
+ } ;
+
+@@ -676,10 +856,18 @@
+ flac_buffer_copy (psf) ;
+
+ while (pflac->pos < pflac->len)
+- { if (FLAC__seekable_stream_decoder_process_single (pflac->fsd) == 0)
++ {
++#ifdef LEGACY_FLAC
++ if (FLAC__seekable_stream_decoder_process_single (pflac->fsd) == 0)
+ break ;
+ if (FLAC__seekable_stream_decoder_get_state (pflac->fsd) != FLAC__SEEKABLE_STREAM_DECODER_OK)
+ break ;
++#else
++ if (FLAC__stream_decoder_process_single (pflac->fsd) == 0)
++ break ;
++ if (FLAC__stream_decoder_get_state (pflac->fsd) >= FLAC__STREAM_DECODER_END_OF_STREAM)
++ break ;
++#endif
+ } ;
+
+ pflac->ptr = NULL ;
+@@ -795,7 +983,11 @@
+ while (len > 0)
+ { writecount = (len >= bufferlen) ? bufferlen : (int) len ;
+ convert (ptr + total, buffer, writecount) ;
++#ifdef LEGACY_FLAC
+ if (FLAC__seekable_stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#else
++ if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#endif
+ thiswrite = writecount ;
+ else
+ break ;
+@@ -837,7 +1029,11 @@
+ while (len > 0)
+ { writecount = (len >= bufferlen) ? bufferlen : (int) len ;
+ convert (ptr + total, buffer, writecount) ;
++#ifdef LEGACY_FLAC
+ if (FLAC__seekable_stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#else
++ if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#endif
+ thiswrite = writecount ;
+ else
+ break ;
+@@ -879,7 +1075,11 @@
+ while (len > 0)
+ { writecount = (len >= bufferlen) ? bufferlen : (int) len ;
+ convert (ptr + total, buffer, writecount, psf->norm_float) ;
++#ifdef LEGACY_FLAC
+ if (FLAC__seekable_stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#else
++ if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#endif
+ thiswrite = writecount ;
+ else
+ break ;
+@@ -1011,7 +1211,11 @@
+ while (len > 0)
+ { writecount = (len >= bufferlen) ? bufferlen : (int) len ;
+ convert (ptr + total, buffer, writecount, psf->norm_double) ;
++#ifdef LEGACY_FLAC
+ if (FLAC__seekable_stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#else
++ if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount/psf->sf.channels))
++#endif
+ thiswrite = writecount ;
+ else
+ break ;
+@@ -1131,10 +1335,17 @@
+
+ if (psf->mode == SFM_READ)
+ { FLAC__uint64 position ;
++#ifdef LEGACY_FLAC
+ if (FLAC__seekable_stream_decoder_seek_absolute (pflac->fsd, offset))
+ { FLAC__seekable_stream_decoder_get_decode_position (pflac->fsd, &position) ;
+ return offset ;
+ } ;
++#else
++ if (FLAC__stream_decoder_seek_absolute (pflac->fsd, offset))
++ { FLAC__stream_decoder_get_decode_position (pflac->fsd, &position) ;
++ return offset ;
++ } ;
++#endif
+
+ return ((sf_count_t) -1) ;
+ } ;
diff --git a/audio/libtunepimp-old/Makefile b/audio/libtunepimp-old/Makefile
index b10f19cae313..329aff572a8c 100644
--- a/audio/libtunepimp-old/Makefile
+++ b/audio/libtunepimp-old/Makefile
@@ -7,7 +7,7 @@
PORTNAME= libtunepimp-old
PORTVERSION= 0.4.2
-PORTREVISION= 4
+PORTREVISION= 5
PORTEPOCH= 2
CATEGORIES= audio
MASTER_SITES= http://ftp.musicbrainz.org/pub/musicbrainz/ \
diff --git a/audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.cpp b/audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.cpp
new file mode 100644
index 000000000000..0c87b4def541
--- /dev/null
+++ b/audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.cpp
@@ -0,0 +1,57 @@
+--- plugins/flac/flacdecode.cpp.orig 2008-03-28 21:05:11.000000000 +0100
++++ plugins/flac/flacdecode.cpp 2008-03-28 21:08:21.000000000 +0100
+@@ -28,6 +28,14 @@
+ #include <string.h>
+ #include "flacdecode.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
++
+ void FLAC_errorcb(const FLAC__StreamDecoder * decoder,
+ FLAC__StreamDecoderErrorStatus status, void *client_data)
+ {
+@@ -99,7 +107,11 @@ FLAC__StreamDecoderWriteStatus FLAC_writ
+
+ FLAC__StreamDecoderReadStatus FLAC_readcb(const FLAC__StreamDecoder *decoder,
+ FLAC__byte buffer[],
++#ifdef LEGACY_FLAC
+ unsigned *bytes,
++#else
++ size_t *bytes,
++#endif
+ void *client_data)
+ {
+ clientdata_t *cd = reinterpret_cast < clientdata_t * >(client_data);
+@@ -131,6 +143,7 @@ FlacDecode::FlacDecode(const string & fi
+ if (!cd.in)
+ return;
+
++#ifdef LEGACY_FLAC
+ if (!FLAC__stream_decoder_set_read_callback(decoder, &FLAC_readcb))
+ return;
+
+@@ -149,6 +162,10 @@ FlacDecode::FlacDecode(const string & fi
+ state = FLAC__stream_decoder_init(decoder);
+ if (state != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA)
+ return;
++#else
++ if (FLAC__stream_decoder_init_stream(decoder, &FLAC_readcb, NULL, NULL, NULL, NULL, &FLAC_writecb, &FLAC_metadatacb, &FLAC_errorcb, &cd) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
++ return;
++#endif
+
+ FLAC__stream_decoder_process_until_end_of_metadata(decoder);
+ state = FLAC__stream_decoder_get_state(decoder);
+@@ -221,6 +238,8 @@ int FlacDecode::read(char *data, int max
+ break;
+
+ state = FLAC__stream_decoder_get_state(decoder);
++ if (state == FLAC__STREAM_DECODER_END_OF_STREAM)
++ break;
+ if (state != FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC ||
+ state != FLAC__STREAM_DECODER_READ_FRAME)
+ {
diff --git a/audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.h b/audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.h
new file mode 100644
index 000000000000..6b2f7dffea8a
--- /dev/null
+++ b/audio/libtunepimp-old/files/patch-plugins-flac-flacdecode.h
@@ -0,0 +1,11 @@
+--- plugins/flac/flacdecode.h.orig 2008-03-28 21:08:34.000000000 +0100
++++ plugins/flac/flacdecode.h 2008-03-28 21:08:49.000000000 +0100
+@@ -27,7 +27,7 @@
+ #ifndef __VORBIS_DECODE_H
+ #define __VORBIS_DECODE_H
+
+-#include <FLAC/file_decoder.h>
++#include <FLAC/stream_decoder.h>
+ #include <string>
+ #include "decode_plugin.h"
+ #include "fileio.h"
diff --git a/audio/libtunepimp/Makefile b/audio/libtunepimp/Makefile
index 6777eabd4406..2f4852e161e4 100644
--- a/audio/libtunepimp/Makefile
+++ b/audio/libtunepimp/Makefile
@@ -7,7 +7,7 @@
PORTNAME= libtunepimp
PORTVERSION= 0.5.3
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= audio
MASTER_SITES= http://ftp.musicbrainz.org/pub/musicbrainz/ \
diff --git a/audio/lmms/Makefile b/audio/lmms/Makefile
index af940e0957ae..f7c444d0d347 100644
--- a/audio/lmms/Makefile
+++ b/audio/lmms/Makefile
@@ -7,7 +7,7 @@
PORTNAME= lmms
PORTVERSION= 20061204
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= jylefort
diff --git a/audio/moc/Makefile b/audio/moc/Makefile
index bd84eda3856a..af9cca6d005c 100644
--- a/audio/moc/Makefile
+++ b/audio/moc/Makefile
@@ -7,10 +7,14 @@
PORTNAME= moc
PORTVERSION= 2.4.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= audio
MASTER_SITES= ftp://ftp.daper.net/pub/soft/moc/stable/
+PATCH_SITES= ftp://ftp.daper.net/pub/soft/moc/patches/
+PATCHFILES= moc-2.4.1-flac-1.1.3.patch.bz2
+PATCH_DIST_STRIP=-p1
+
MAINTAINER= rzinkov@gmail.com
COMMENT= A console audio player designed to be powerful and easy to use
diff --git a/audio/moc/distinfo b/audio/moc/distinfo
index c076c6d72b5e..0e95222ddfa4 100644
--- a/audio/moc/distinfo
+++ b/audio/moc/distinfo
@@ -1,3 +1,6 @@
MD5 (moc-2.4.1.tar.bz2) = 7b760a9c05d3f50781d06ed2d83aaee8
SHA256 (moc-2.4.1.tar.bz2) = 0f4ef44e86b7edb4ee910f8b5c02efa59985ab1a0cf2f57497c71a2932699d28
SIZE (moc-2.4.1.tar.bz2) = 439866
+MD5 (moc-2.4.1-flac-1.1.3.patch.bz2) = acfc8fcc893e85ea3cd70bbfb8079f67
+SHA256 (moc-2.4.1-flac-1.1.3.patch.bz2) = 63428811de52331a2d6c1aa3590975faa1ef396ce13a5492143e7d313eed07be
+SIZE (moc-2.4.1-flac-1.1.3.patch.bz2) = 2200
diff --git a/audio/muine/Makefile b/audio/muine/Makefile
index 8855c2a1bb4f..5561e1aa6383 100644
--- a/audio/muine/Makefile
+++ b/audio/muine/Makefile
@@ -8,6 +8,7 @@
PORTNAME= muine
PORTVERSION= 0.8.8
+PORTREVISION= 1
CATEGORIES= audio gnome
MASTER_SITES= http://muine-player.org/releases/ \
${MASTER_SITE_LOCAL}
@@ -16,7 +17,7 @@ MASTER_SITE_SUBDIR= tmclaugh/muine
MAINTAINER= bsd-sharp-list@forge.novell.com
COMMENT= Mono based Gnome audio player
-LIB_DEPENDS= FLAC.7:${PORTSDIR}/audio/flac \
+LIB_DEPENDS= FLAC.10:${PORTSDIR}/audio/flac \
id3tag.0:${PORTSDIR}/audio/libid3tag \
gdbm:${PORTSDIR}/databases/gdbm \
vorbis.4:${PORTSDIR}/audio/libvorbis \
diff --git a/audio/musicpd/Makefile b/audio/musicpd/Makefile
index 7d7d70be0dfd..eb1124f9e152 100644
--- a/audio/musicpd/Makefile
+++ b/audio/musicpd/Makefile
@@ -7,7 +7,7 @@
PORTNAME= musicpd
PORTVERSION= 0.13.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= audio ipv6
MASTER_SITES= http://musicpd.org/uploads/files/ \
http://redundancy.redundancy.org/mirror/
@@ -45,7 +45,7 @@ CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ARGS+=--disable-flac \
--disable-oggflac
.else
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
.endif
.ifdef(WITHOUT_VORBIS)
diff --git a/audio/p5-Audio-FLAC-Header/Makefile b/audio/p5-Audio-FLAC-Header/Makefile
index 97474f698da2..18ed94c498e9 100644
--- a/audio/p5-Audio-FLAC-Header/Makefile
+++ b/audio/p5-Audio-FLAC-Header/Makefile
@@ -7,6 +7,7 @@
PORTNAME= Audio-FLAC-Header
PORTVERSION= 1.9
+PORTREVISION= 1
CATEGORIES= audio perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -14,7 +15,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= infofarmer@FreeBSD.org
COMMENT= Interface to FLAC header metadata
-LIB_DEPENDS= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS= FLAC.10:${PORTSDIR}/audio/flac
PERL_CONFIGURE= yes
CFLAGS+= -I${LOCALBASE}/include
diff --git a/audio/py-flac/Makefile b/audio/py-flac/Makefile
index 99593116e078..e41b90f6a2ff 100644
--- a/audio/py-flac/Makefile
+++ b/audio/py-flac/Makefile
@@ -17,6 +17,8 @@ COMMENT= Python module that provides the Free Lossless Audio Codec interface
LIB_DEPENDS= FLAC.7:${PORTSDIR}/audio/flac
BUILD_DEPENDS= swig:${PORTSDIR}/devel/swig13
+IGNORE= has been abandoned, needs rewrite for FLAC 1.1.3+
+
USE_PYTHON= yes
USE_GMAKE= yes
USE_PYDISTUTILS= yes
diff --git a/audio/rezound/Makefile b/audio/rezound/Makefile
index 2e4d3706e6e7..70b296e2d5a7 100644
--- a/audio/rezound/Makefile
+++ b/audio/rezound/Makefile
@@ -7,7 +7,7 @@
PORTNAME= rezound
DISTVERSION= 0.12.3beta
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -72,7 +72,7 @@ LIB_DEPENDS+= vorbis.4:${PORTSDIR}/audio/libvorbis
.endif
.if defined(WITH_FLAC)
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
.endif
.if defined(WITH_FFTW)
diff --git a/audio/rezound/files/patch-src_backend_CFLACSoundTranslator.cpp b/audio/rezound/files/patch-src_backend_CFLACSoundTranslator.cpp
new file mode 100644
index 000000000000..b1dcb2555817
--- /dev/null
+++ b/audio/rezound/files/patch-src_backend_CFLACSoundTranslator.cpp
@@ -0,0 +1,69 @@
+--- src/backend/CFLACSoundTranslator.cpp.orig 2005-05-01 06:39:38.000000000 +0200
++++ src/backend/CFLACSoundTranslator.cpp 2008-03-28 18:08:28.000000000 +0100
+@@ -75,15 +75,15 @@ public:
+ for(unsigned t=0;t<MAX_CHANNELS;t++)
+ accessers[t]=NULL;
+
+- set_filename(filename.c_str());
++ //set_filename(filename.c_str());
+
+ set_metadata_ignore_all();
+ //set_metadata_respond(FLAC__METADATA_TYPE_VORBIS_COMMENT);
+ //set_metadata_respond(FLAC__METADATA_TYPE_CUESHEET);
+
+- State s=init();
+- if(s!=FLAC__FILE_DECODER_OK)
+- throw runtime_error(string(__func__)+" -- "+s.as_cstring());
++ FLAC__StreamDecoderInitStatus s=init(filename.c_str());
++ if(s!=FLAC__STREAM_DECODER_INIT_STATUS_OK)
++ throw runtime_error(string(__func__)+" -- "+FLAC__StreamDecoderInitStatusString[s]);
+ }
+
+ virtual ~MyFLACDecoderFile()
+@@ -170,7 +170,7 @@ protected:
+
+ // update status bar and detect user cancel
+ FLAC__uint64 filePosition;
+- FLAC__file_decoder_get_decode_position(decoder_, &filePosition);
++ FLAC__stream_decoder_get_decode_position(decoder_, &filePosition);
+ return statusBar.update(filePosition) ? FLAC__STREAM_DECODER_WRITE_STATUS_ABORT : FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+@@ -215,7 +215,7 @@ private:
+ bool CFLACSoundTranslator::onLoadSound(const string filename,CSound *sound) const
+ {
+ MyFLACDecoderFile f(filename,sound);
+- return f.process_until_end_of_file();
++ return f.process_until_end_of_stream();
+ }
+
+
+@@ -258,7 +258,7 @@ bool CFLACSoundTranslator::onSaveSound(c
+
+ MyFLACEncoderFile f(saveLength);
+
+- f.set_filename(filename.c_str());
++ //f.set_filename(filename.c_str());
+
+ f.set_channels(sound->getChannelCount());
+
+@@ -274,8 +274,8 @@ bool CFLACSoundTranslator::onSaveSound(c
+ //f.set_metadata(...) // ??? to do to set cues and user notes, etc
+
+
+- MyFLACEncoderFile::State s=f.init();
+- if(s==FLAC__STREAM_ENCODER_OK)
++ FLAC__StreamEncoderInitStatus s=f.init(filename.c_str());
++ if(s==FLAC__STREAM_ENCODER_INIT_STATUS_OK)
+ {
+ #define BUFFER_SIZE 65536
+ TAutoBuffer<FLAC__int32> buffers[MAX_CHANNELS];
+@@ -328,7 +328,7 @@ bool CFLACSoundTranslator::onSaveSound(c
+ return true;
+ }
+ else
+- throw runtime_error(string(__func__)+" -- error creating FLAC encoder -- "+s.as_cstring());
++ throw runtime_error(string(__func__)+" -- error creating FLAC encoder -- "+FLAC__StreamEncoderInitStatusString[s]);
+
+ }
+
diff --git a/audio/sdl_sound/Makefile b/audio/sdl_sound/Makefile
index 4c4bea3889bc..e4b4ba9dcbe4 100644
--- a/audio/sdl_sound/Makefile
+++ b/audio/sdl_sound/Makefile
@@ -7,7 +7,7 @@
PORTNAME= sdl_sound
PORTVERSION= 1.0.1
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= audio
MASTER_SITES= http://www.icculus.org/SDL_sound/downloads/
DISTNAME= SDL_sound-${PORTVERSION}
@@ -32,7 +32,7 @@ OPTIONS= FLAC "Enable flac support" on \
.include <bsd.port.pre.mk>
.if !defined(WITHOUT_FLAC)
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
.else
CONFIGURE_ARGS+=--disable-flac
.endif
diff --git a/audio/sdl_sound/files/patch-configure b/audio/sdl_sound/files/patch-configure
index dd8de669db0e..991a930c5181 100644
--- a/audio/sdl_sound/files/patch-configure
+++ b/audio/sdl_sound/files/patch-configure
@@ -1,5 +1,5 @@
---- configure.orig Mon Oct 13 03:54:57 2003
-+++ configure Mon Oct 13 07:44:41 2003
+--- configure.orig 2003-10-12 20:54:57.000000000 +0200
++++ configure 2008-03-27 21:35:53.000000000 +0100
@@ -6684,6 +6684,7 @@
# This can be used to rebuild libtool when needed
@@ -8,3 +8,12 @@
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+@@ -7089,7 +7090,7 @@
+
+ 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
diff --git a/audio/sdl_sound/files/patch-decoders_flac.c b/audio/sdl_sound/files/patch-decoders_flac.c
new file mode 100644
index 000000000000..22831e681c51
--- /dev/null
+++ b/audio/sdl_sound/files/patch-decoders_flac.c
@@ -0,0 +1,99 @@
+--- decoders/flac.c.orig 2003-03-10 23:44:14.000000000 +0100
++++ decoders/flac.c 2008-03-27 21:35:30.000000000 +0100
+@@ -44,42 +44,33 @@
+ #define __SDL_SOUND_INTERNAL__
+ #include "SDL_sound_internal.h"
+
+-#include <FLAC/seekable_stream_decoder.h>
++#include <FLAC/stream_decoder.h>
+
+-#define D_END_OF_STREAM FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM
++#define D_END_OF_STREAM FLAC__STREAM_DECODER_END_OF_STREAM
+
+-#define d_new() FLAC__seekable_stream_decoder_new()
+-#define d_init(x) FLAC__seekable_stream_decoder_init(x)
+-#define d_process_metadata(x) FLAC__seekable_stream_decoder_process_until_end_of_metadata(x)
+-#define d_process_one_frame(x) FLAC__seekable_stream_decoder_process_single(x)
+-#define d_get_state(x) FLAC__seekable_stream_decoder_get_state(x)
+-#define d_finish(x) FLAC__seekable_stream_decoder_finish(x)
+-#define d_delete(x) FLAC__seekable_stream_decoder_delete(x)
+-#define d_set_read_callback(x, y) FLAC__seekable_stream_decoder_set_read_callback(x, y)
+-#define d_set_write_callback(x, y) FLAC__seekable_stream_decoder_set_write_callback(x, y)
+-#define d_set_metadata_callback(x, y) FLAC__seekable_stream_decoder_set_metadata_callback(x, y)
+-#define d_set_error_callback(x, y) FLAC__seekable_stream_decoder_set_error_callback(x, y)
+-#define d_set_client_data(x, y) FLAC__seekable_stream_decoder_set_client_data(x, y)
+-
+-typedef FLAC__SeekableStreamDecoder decoder_t;
+-typedef FLAC__SeekableStreamDecoderReadStatus d_read_status_t;
+-
+-#define D_SEEK_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK
+-#define D_SEEK_STATUS_ERROR FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR
+-#define D_TELL_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK
+-#define D_TELL_STATUS_ERROR FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_ERROR
+-#define D_LENGTH_STATUS_OK FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK
+-#define D_LENGTH_STATUS_ERROR FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR
+-
+-#define d_set_seek_callback(x, y) FLAC__seekable_stream_decoder_set_seek_callback(x, y)
+-#define d_set_tell_callback(x, y) FLAC__seekable_stream_decoder_set_tell_callback(x, y)
+-#define d_set_length_callback(x, y) FLAC__seekable_stream_decoder_set_length_callback(x, y)
+-#define d_set_eof_callback(x, y) FLAC__seekable_stream_decoder_set_eof_callback(x, y)
+-#define d_seek_absolute(x, y) FLAC__seekable_stream_decoder_seek_absolute(x, y)
+-
+-typedef FLAC__SeekableStreamDecoderSeekStatus d_seek_status_t;
+-typedef FLAC__SeekableStreamDecoderTellStatus d_tell_status_t;
+-typedef FLAC__SeekableStreamDecoderLengthStatus d_length_status_t;
++#define d_new() FLAC__stream_decoder_new()
++#define d_init(a,b,c,d,e,f,g,h,i,j) FLAC__stream_decoder_init_stream(a,b,c,d,e,f,g,h,i,j)
++#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;
+
+ #define D_WRITE_CONTINUE FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE
+ #define D_READ_END_OF_STREAM FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM
+@@ -400,17 +391,6 @@
+ BAIL_MACRO(ERR_OUT_OF_MEMORY, 0);
+ } /* if */
+
+- d_set_read_callback(decoder, read_callback);
+- d_set_write_callback(decoder, write_callback);
+- d_set_metadata_callback(decoder, metadata_callback);
+- d_set_error_callback(decoder, error_callback);
+- d_set_seek_callback(decoder, seek_callback);
+- d_set_tell_callback(decoder, tell_callback);
+- d_set_length_callback(decoder, length_callback);
+- d_set_eof_callback(decoder, eof_callback);
+-
+- d_set_client_data(decoder, f);
+-
+ f->rw = internal->rw;
+ f->sample = sample;
+ f->decoder = decoder;
+@@ -418,7 +398,9 @@
+ f->is_flac = 0 /* !!! FIXME: should be "has_extension", not "0". */;
+
+ internal->decoder_private = f;
+- d_init(decoder);
++ d_init(decoder, read_callback, seek_callback, tell_callback,
++ length_callback, eof_callback, write_callback, metadata_callback,
++ error_callback, f);
+
+ sample->flags = SOUND_SAMPLEFLAG_NONE;
+
diff --git a/audio/sox/Makefile b/audio/sox/Makefile
index d2ad4a3e1ca3..580e08a36bc8 100644
--- a/audio/sox/Makefile
+++ b/audio/sox/Makefile
@@ -7,6 +7,7 @@
PORTNAME= sox
PORTVERSION= 14.0.1
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= SF
@@ -122,7 +123,7 @@ CONFIGURE_ARGS+= --without-lame
.if defined(WITH_FLAC)
CONFIGURE_ARGS+= --with-flac
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
PLIST_SUB+= PLIST_FLAC=""
.else
CONFIGURE_ARGS+= --without-flac
diff --git a/audio/squash/Makefile b/audio/squash/Makefile
index 714aa1deb854..2288360f4c92 100644
--- a/audio/squash/Makefile
+++ b/audio/squash/Makefile
@@ -6,7 +6,7 @@
PORTNAME= squash
PORTVERSION= 1.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_SAVANNAH}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -14,7 +14,7 @@ MASTER_SITE_SUBDIR= ${PORTNAME}
MAINTAINER= matthias.andree@gmx.de
COMMENT= Learning console-based MP3/OGG player
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac \
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac \
fftw.2:${PORTSDIR}/math/fftw \
id3-3.8.3:${PORTSDIR}/audio/id3lib \
mad.2:${PORTSDIR}/audio/mad \
diff --git a/audio/squash/files/patch-include::play_flac.h b/audio/squash/files/patch-include::play_flac.h
new file mode 100644
index 000000000000..1e11fcb98504
--- /dev/null
+++ b/audio/squash/files/patch-include::play_flac.h
@@ -0,0 +1,31 @@
+
+$FreeBSD$
+
+--- include/play_flac.h.orig
++++ include/play_flac.h
+@@ -32,7 +32,7 @@
+ * Structures
+ */
+ typedef struct flac_data_s {
+- FLAC__FileDecoder *decoder;
++ FLAC__StreamDecoder *decoder;
+ char *buffer;
+ int buffer_size;
+ int channels;
+@@ -45,11 +45,11 @@
+ * Prototypes
+ */
+ void *flac_open( char *filename, sound_format_t *sound_format );
+-void flac_error_callback( const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data );
+-FLAC__StreamDecoderWriteStatus flac_write_callback_load_meta( const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data );
+-void flac_metadata_callback_load_meta( const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data );
+-FLAC__StreamDecoderWriteStatus flac_write_callback_decode_frame( const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data );
+-void flac_metadata_callback_decode_frame( const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data );
++void flac_error_callback( const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data );
++FLAC__StreamDecoderWriteStatus flac_write_callback_load_meta( const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data );
++void flac_metadata_callback_load_meta( const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data );
++FLAC__StreamDecoderWriteStatus flac_write_callback_decode_frame( const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data );
++void flac_metadata_callback_decode_frame( const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data );
+ void flac_load_meta( void *data, char *filename );
+ frame_data_t flac_decode_frame( void *data );
+ long flac_calc_duration( void *data );
diff --git a/audio/squash/files/patch-src::play_flac.c b/audio/squash/files/patch-src::play_flac.c
new file mode 100644
index 000000000000..e703da247422
--- /dev/null
+++ b/audio/squash/files/patch-src::play_flac.c
@@ -0,0 +1,231 @@
+
+$FreeBSD$
+
+--- src/play_flac.c.orig
++++ src/play_flac.c
+@@ -24,7 +24,7 @@
+ #include "database.h" /* for insert_meta_data */
+ #include "play_flac.h"
+
+-void flac_error_callback(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) {
++void flac_error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) {
+ /* errors? we don't need no stinking errors */
+ return;
+ }
+@@ -36,47 +36,26 @@
+ */
+ void *flac_open( char *filename, sound_format_t *sound_format ) {
+ flac_data_t *flac_data;
+- FLAC__FileDecoderState state;
++ FLAC__StreamDecoderInitStatus state;
+
+ /* Allocate space for data */
+ squash_malloc( flac_data, sizeof(flac_data_t) );
+
+- if( (flac_data->decoder = FLAC__file_decoder_new()) == NULL ) {
++ if( (flac_data->decoder = FLAC__stream_decoder_new()) == NULL ) {
+ squash_free( flac_data );
+ return (void *)NULL;
+ // squash_error( "Unable to create flac decoder" );
+ }
+
+- if( !FLAC__file_decoder_set_filename( flac_data->decoder, filename ) ) {
+- squash_free( flac_data );
+- return (void *)NULL;
+- // squash_error( "Unable to set filename in decoder" );
+- }
+-
+- FLAC__file_decoder_set_metadata_callback( flac_data->decoder, flac_metadata_callback_decode_frame );
+-
+- FLAC__file_decoder_set_write_callback( flac_data->decoder, flac_write_callback_decode_frame );
+-
+- FLAC__file_decoder_set_error_callback( flac_data->decoder, flac_error_callback );
+-
+- FLAC__file_decoder_set_client_data( flac_data->decoder, flac_data );
+-
+- state = FLAC__file_decoder_init( flac_data->decoder );
++ state = FLAC__stream_decoder_init_file( flac_data->decoder, filename, flac_write_callback_decode_frame, flac_metadata_callback_decode_frame, flac_error_callback, flac_data );
+ switch( state ) {
+- case FLAC__FILE_DECODER_OK:
++ case FLAC__STREAM_DECODER_INIT_STATUS_OK:
+ /* no problem */
+ break;
+- case FLAC__FILE_DECODER_END_OF_FILE:
+- case FLAC__FILE_DECODER_ERROR_OPENING_FILE:
+- case FLAC__FILE_DECODER_MEMORY_ALLOCATION_ERROR:
+- case FLAC__FILE_DECODER_SEEK_ERROR:
+- case FLAC__FILE_DECODER_SEEKABLE_STREAM_DECODER_ERROR:
+- case FLAC__FILE_DECODER_ALREADY_INITIALIZED:
+- case FLAC__FILE_DECODER_INVALID_CALLBACK:
+- case FLAC__FILE_DECODER_UNINITIALIZED:
++ default:
+ squash_free( flac_data );
+ return (void *)NULL;
+- // squash_error( "Unable to initialize decoder: %s", FLAC__FileDecoderStateString[ state ] );
++ // squash_error( "Unable to initialize decoder: %s", FLAC__StreamDecoderInitStatusString[ state ] );
+ break;
+ }
+
+@@ -86,7 +65,7 @@
+ flac_data->sample_rate = -1;
+ flac_data->duration = -1;
+
+- FLAC__file_decoder_process_until_end_of_metadata( flac_data->decoder );
++ FLAC__stream_decoder_process_until_end_of_metadata( flac_data->decoder );
+
+ sound_format->rate = flac_data->sample_rate;
+ sound_format->channels = flac_data->channels;
+@@ -97,12 +76,12 @@
+ return (void *)flac_data;
+ }
+
+-FLAC__StreamDecoderWriteStatus flac_write_callback_load_meta( const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data ) {
++FLAC__StreamDecoderWriteStatus flac_write_callback_load_meta( const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data ) {
+ /* do nothing ignore any decoded frames (when just loading meta data)*/
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+-void flac_metadata_callback_load_meta( const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data ) {
++void flac_metadata_callback_load_meta( const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data ) {
+ FLAC__StreamMetadata_VorbisComment comment = metadata->data.vorbis_comment;
+ int i;
+ char *start, *end, *key, *value;
+@@ -128,7 +107,7 @@
+ }
+ }
+
+-FLAC__StreamDecoderWriteStatus flac_write_callback_decode_frame( const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data ) {
++FLAC__StreamDecoderWriteStatus flac_write_callback_decode_frame( const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data ) {
+ flac_data_t *flac_data = (flac_data_t *)client_data;
+ int i, j, k;
+
+@@ -158,7 +137,7 @@
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+-void flac_metadata_callback_decode_frame( const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data ) {
++void flac_metadata_callback_decode_frame( const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data ) {
+ flac_data_t *flac_data = (flac_data_t *)client_data;
+
+ if( metadata->type != FLAC__METADATA_TYPE_STREAMINFO ) {
+@@ -172,47 +151,29 @@
+ }
+
+ void flac_load_meta( void *data, char *filename ) {
+- FLAC__FileDecoder *decoder;
+- FLAC__FileDecoderState state;
++ FLAC__StreamDecoder *decoder;
++ FLAC__StreamDecoderInitStatus state;
+
+- if( (decoder = FLAC__file_decoder_new()) == NULL ) {
++ if( (decoder = FLAC__stream_decoder_new()) == NULL ) {
+ squash_error( "Unable to create flac decoder" );
+ }
+
+- if( !FLAC__file_decoder_set_filename( decoder, filename ) ) {
+- squash_error( "Unable to set filename in decoder" );
+- }
+-
+- FLAC__file_decoder_set_metadata_callback( decoder, flac_metadata_callback_load_meta );
+- FLAC__file_decoder_set_metadata_respond_all( decoder );
+-
+- FLAC__file_decoder_set_write_callback( decoder, flac_write_callback_load_meta );
+-
+- FLAC__file_decoder_set_error_callback( decoder, flac_error_callback );
+-
+- FLAC__file_decoder_set_client_data( decoder, data );
++ FLAC__stream_decoder_set_metadata_respond_all( decoder );
+
+- state = FLAC__file_decoder_init( decoder );
++ state = FLAC__stream_decoder_init_file( decoder, filename, flac_write_callback_load_meta, flac_metadata_callback_load_meta, flac_error_callback, data );
+ switch( state ) {
+- case FLAC__FILE_DECODER_OK:
++ case FLAC__STREAM_DECODER_INIT_STATUS_OK:
+ /* no problem */
+ break;
+- case FLAC__FILE_DECODER_END_OF_FILE:
+- case FLAC__FILE_DECODER_ERROR_OPENING_FILE:
+- case FLAC__FILE_DECODER_MEMORY_ALLOCATION_ERROR:
+- case FLAC__FILE_DECODER_SEEK_ERROR:
+- case FLAC__FILE_DECODER_SEEKABLE_STREAM_DECODER_ERROR:
+- case FLAC__FILE_DECODER_ALREADY_INITIALIZED:
+- case FLAC__FILE_DECODER_INVALID_CALLBACK:
+- case FLAC__FILE_DECODER_UNINITIALIZED:
+- squash_error( "Unable to initialize decoder: %s", FLAC__FileDecoderStateString[ state ] );
++ default:
++ squash_error( "Unable to initialize decoder: %s", FLAC__StreamDecoderInitStatusString[ state ] );
+ break;
+ }
+
+- FLAC__file_decoder_process_until_end_of_metadata( decoder );
++ FLAC__stream_decoder_process_until_end_of_metadata( decoder );
+
+- FLAC__file_decoder_finish( decoder );
+- FLAC__file_decoder_delete( decoder );
++ FLAC__stream_decoder_finish( decoder );
++ FLAC__stream_decoder_delete( decoder );
+
+ return;
+ }
+@@ -223,29 +184,27 @@
+ frame_data_t flac_decode_frame( void *data ) {
+ flac_data_t *flac_data = (flac_data_t *)data;
+ frame_data_t frame_data;
+- FLAC__FileDecoderState state;
++ FLAC__StreamDecoderState state;
+
+- FLAC__file_decoder_process_single( flac_data->decoder );
++ FLAC__stream_decoder_process_single( flac_data->decoder );
+ frame_data.position = flac_data->position;
+
+- state = FLAC__file_decoder_get_state( flac_data->decoder );
++ state = FLAC__stream_decoder_get_state( flac_data->decoder );
+ switch( state ) {
+- case FLAC__FILE_DECODER_OK:
++ case FLAC__STREAM_DECODER_READ_FRAME:
+ frame_data.pcm_data = flac_data->buffer;
+ frame_data.pcm_size = flac_data->buffer_size;
+ break;
+- case FLAC__FILE_DECODER_END_OF_FILE:
++ case FLAC__STREAM_DECODER_END_OF_STREAM:
+ frame_data.pcm_data = NULL;
+ frame_data.pcm_size = 0;
+ break;
+- case FLAC__FILE_DECODER_ERROR_OPENING_FILE:
+- case FLAC__FILE_DECODER_MEMORY_ALLOCATION_ERROR:
+- case FLAC__FILE_DECODER_SEEK_ERROR:
+- case FLAC__FILE_DECODER_SEEKABLE_STREAM_DECODER_ERROR:
+- case FLAC__FILE_DECODER_ALREADY_INITIALIZED:
+- case FLAC__FILE_DECODER_INVALID_CALLBACK:
+- case FLAC__FILE_DECODER_UNINITIALIZED:
+- squash_error("Error while decoding: %s", FLAC__FileDecoderStateString[ state ] );
++ case FLAC__STREAM_DECODER_OGG_ERROR:
++ case FLAC__STREAM_DECODER_SEEK_ERROR:
++ case FLAC__STREAM_DECODER_ABORTED:
++ case FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR:
++ case FLAC__STREAM_DECODER_UNINITIALIZED:
++ squash_error("Error while decoding: %s", FLAC__StreamDecoderStateString[ state ] );
+ break;
+ }
+
+@@ -267,7 +226,7 @@
+ void flac_seek( void *data, long seek_time, long duration ) {
+ flac_data_t *flac_data = (flac_data_t *)data;
+
+- FLAC__file_decoder_seek_absolute( flac_data->decoder, seek_time * (flac_data->sample_rate / 1000) );
++ FLAC__stream_decoder_seek_absolute( flac_data->decoder, seek_time * (flac_data->sample_rate / 1000) );
+ return;
+ }
+
+@@ -277,9 +236,9 @@
+ void flac_close( void *data ) {
+ flac_data_t *flac_data = (flac_data_t *)data;
+
+- FLAC__file_decoder_finish( flac_data->decoder );
++ FLAC__stream_decoder_finish( flac_data->decoder );
+
+- FLAC__file_decoder_delete( flac_data->decoder );
++ FLAC__stream_decoder_delete( flac_data->decoder );
+
+ /* Free allocated storage */
+ squash_free( flac_data->buffer );
diff --git a/audio/vorbis-tools/Makefile b/audio/vorbis-tools/Makefile
index 198cf1c031f1..23673ec8c37f 100644
--- a/audio/vorbis-tools/Makefile
+++ b/audio/vorbis-tools/Makefile
@@ -7,6 +7,7 @@
PORTNAME= vorbis-tools
PORTVERSION= 1.2.0
+PORTREVISION= 1
PORTEPOCH= 3
CATEGORIES= audio
MASTER_SITES= http://downloads.xiph.org/releases/vorbis/
@@ -16,7 +17,7 @@ COMMENT= Play, encode, and manage Ogg Vorbis files
LIB_DEPENDS= ao.3:${PORTSDIR}/audio/libao \
curl.4:${PORTSDIR}/ftp/curl \
- FLAC.7:${PORTSDIR}/audio/flac \
+ FLAC.10:${PORTSDIR}/audio/flac \
speex.1:${PORTSDIR}/audio/speex \
vorbis.4:${PORTSDIR}/audio/libvorbis
diff --git a/audio/xmcd/Makefile b/audio/xmcd/Makefile
index ee8a251a13d9..5a0ab89ce338 100644
--- a/audio/xmcd/Makefile
+++ b/audio/xmcd/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xmcd
PORTVERSION= 3.3.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= audio
MASTER_SITES= http://www.ibiblio.org/tkan/download/xmcd/3.3.2/src/
@@ -15,7 +15,7 @@ MAINTAINER= eischen@vigrid.com
COMMENT= Motif CD player
LIB_DEPENDS+= vorbis.4:${PORTSDIR}/audio/libvorbis \
- FLAC.7:${PORTSDIR}/audio/flac
+ FLAC.10:${PORTSDIR}/audio/flac
RUN_DEPENDS+= lame:${PORTSDIR}/audio/lame
USE_MOTIF= yes
diff --git a/audio/xmcd/files/patch-ak b/audio/xmcd/files/patch-ak
new file mode 100644
index 000000000000..3dcc0de9352c
--- /dev/null
+++ b/audio/xmcd/files/patch-ak
@@ -0,0 +1,519 @@
+--- cdda_d/if_flac.c.orig 2008-04-06 21:14:40.000000000 +0200
++++ cdda_d/if_flac.c 2008-04-06 22:11:17.000000000 +0200
+@@ -57,7 +57,6 @@ typedef float FLAC__real;
+ #include <FLAC/format.h>
+ #include <FLAC/metadata.h>
+ #include <FLAC/stream_encoder.h>
+-#include <FLAC/seekable_stream_encoder.h>
+
+
+ extern appdata_t app_data;
+@@ -86,7 +85,6 @@ extern char *tagcomment; /* Tag commen
+ /* Container union for encoder instance pointers */
+ typedef union {
+ FLAC__StreamEncoder *st; /* Stream encoder */
+- FLAC__SeekableStreamEncoder *sk; /* Seekable stream encoder */
+ } flac_desc_t;
+
+
+@@ -153,76 +151,10 @@ if_flac_write_callback(
+
+
+ /*
+- * if_flac_seekable_write_callback
+- * FLAC seekable stream encoder write callback function
+- *
+- * Args:
+- * skp - Seekable stream encoder instance descriptor
+- * buf - Output data buffer
+- * len - data length
+- * samples - number of samples
+- * frame - Current frame
+- * client_data - Callback data
+- *
+- * Return:
+- * FLAC__STREAM_ENCODER_WRITE_STATUS_OK - success
+- * FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR - failure
+- */
+-/*ARGSUSED*/
+-STATIC FLAC__StreamEncoderWriteStatus
+-if_flac_seekable_write_callback(
+- const FLAC__SeekableStreamEncoder *skp,
+- const FLAC__byte *buf,
+- unsigned int len,
+- unsigned int samples,
+- unsigned int frame,
+- void *client_data
+-)
+-{
+- gen_desc_t *gdp = (gen_desc_t *) client_data;
+-
+- if (buf == NULL || len == 0)
+- /* Nothing to do */
+- return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+-
+- /* Write out the encoded data */
+- gdp->flags |= GDESC_WRITEOUT;
+- if (!gen_write_chunk(gdp, (byte_t *) buf, (size_t) len))
+- return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR;
+-
+- return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+-}
+-
+-
+-/*
+ * if_flac_metadata_callback
+ * FLAC stream encoder metadata callback function
+ *
+ * Args:
+- * stp - Encoder instance descriptor
+- * data - Metadata buffer
+- * client_data - Callback data
+- *
+- * Return:
+- * Nothing.
+- */
+-/*ARGSUSED*/
+-STATIC void
+-if_flac_metadata_callback(
+- const FLAC__StreamEncoder *stp,
+- const FLAC__StreamMetadata *meta,
+- void *client_data
+-)
+-{
+- /* Do nothing: can't seek on a pipe */
+-}
+-
+-
+-/*
+- * if_flac_seek_callback
+- * FLAC seekable stream encoder seek callback function
+- *
+- * Args:
+ * skp - Encoder instance descriptor
+ * data - Metadata buffer
+ * client_data - Callback data
+@@ -231,9 +163,9 @@ if_flac_metadata_callback(
+ * Nothing.
+ */
+ /*ARGSUSED*/
+-STATIC FLAC__SeekableStreamEncoderSeekStatus
+-if_flac_seek_callback(
+- const FLAC__SeekableStreamEncoder *skp,
++STATIC FLAC__StreamEncoderSeekStatus
++if_flac_metadata_callback(
++ const FLAC__StreamEncoder *skp,
+ FLAC__uint64 offset,
+ void *client_data
+ )
+@@ -244,9 +176,9 @@ if_flac_seek_callback(
+ val = (off_t) ASSIGN32(offset);
+
+ if (gen_seek(gdp, val, SEEK_SET))
+- return FLAC__SEEKABLE_STREAM_ENCODER_SEEK_STATUS_OK;
++ return FLAC__STREAM_ENCODER_SEEK_STATUS_OK;
+ else
+- return FLAC__SEEKABLE_STREAM_ENCODER_SEEK_STATUS_ERROR;
++ return FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR;
+ }
+
+
+@@ -635,16 +567,9 @@ if_flac_addmeta(gen_desc_t *gdp, flac_de
+ if (flac_mblks == 0)
+ return; /* No metadata to set */
+
+- if ((gdp->flags & GDESC_ISPIPE) != 0) {
+- ret = FLAC__stream_encoder_set_metadata(
+- ufdp->st, flac_mlist, flac_mblks
+- );
+- }
+- else {
+- ret = FLAC__seekable_stream_encoder_set_metadata(
+- ufdp->sk, flac_mlist, flac_mblks
+- );
+- }
++ ret = FLAC__stream_encoder_set_metadata(
++ ufdp->st, flac_mlist, flac_mblks
++ );
+ if (!ret) {
+ (void) strcpy(gdp->cdp->i->msgbuf,
+ "if_flac_addmeta: Failed setting metadata.");
+@@ -655,7 +580,7 @@ if_flac_addmeta(gen_desc_t *gdp, flac_de
+
+ /*
+ * if_flac_encoder_setup
+- * Create and set up the FLAC stream encoder (used for pipe output).
++ * Create and set up the FLAC stream encoder.
+ *
+ * Args:
+ * gdp - Pointer to the gen_desc_t structure
+@@ -836,43 +761,12 @@ if_flac_encoder_setup(
+ /* Initialize and add metadata to FLAC output */
+ if_flac_addmeta(gdp, ufdp);
+
+- /* Register write callback function */
+- ret = FLAC__stream_encoder_set_write_callback(
+- stp, if_flac_write_callback
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_encoder_setup: "
+- "Failed setting write callback.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Register metadata callback function */
+- ret = FLAC__stream_encoder_set_metadata_callback(
+- stp, if_flac_metadata_callback
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_encoder_setup: "
+- "Failed setting metadata callback.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Set callback argument */
+- ret = FLAC__stream_encoder_set_client_data(stp, gdp);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_encoder_setup: "
+- "Failed setting client data.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+ /* Initialize FLAC encoder */
+- enc_state = FLAC__stream_encoder_init(stp);
+- if (enc_state != FLAC__STREAM_ENCODER_OK) {
++ enc_state = FLAC__stream_encoder_init_stream(
++ stp, if_flac_write_callback, NULL, NULL,
++ if_flac_metadata_callback, gdp
++ );
++ if (enc_state != FLAC__STREAM_ENCODER_INIT_STATUS_OK) {
+ (void) sprintf(gdp->cdp->i->msgbuf,
+ "if_flac_encoder_setup: Encoder init error: %s",
+ FLAC__stream_encoder_get_resolved_state_string(stp)
+@@ -908,271 +802,6 @@ if_flac_encoder_setup(
+
+
+ /*
+- * if_flac_seekable_encoder_setup
+- * Create and set up the FLAC seekable stream encoder (used for file
+- * output).
+- *
+- * Args:
+- * gdp - Pointer to the gen_desc_t structure
+- * ufdp - Pointer to the flac_desc_t structure
+- * pp - Pointer to the flac_parms_t structure
+- *
+- * Return:
+- * TRUE - success
+- * FALSE - failure
+- */
+-STATIC bool_t
+-if_flac_seekable_encoder_setup(
+- gen_desc_t *gdp,
+- flac_desc_t *ufdp,
+- flac_parms_t *pp
+-)
+-{
+- FLAC__SeekableStreamEncoder *skp;
+- FLAC__SeekableStreamEncoderState enc_state;
+- FLAC__uint64 val;
+- FLAC__bool ret;
+-
+- ufdp->sk = skp = FLAC__seekable_stream_encoder_new();
+- if (skp == NULL) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "FLAC encoder instantiation failed.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Set some basic parameters */
+-
+- ret = FLAC__seekable_stream_encoder_set_channels(skp, 2);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting channels.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_bits_per_sample(skp, 16);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting bits per sample.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_sample_rate(skp, 44100);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting sample rate.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- val = ASSIGN64(gdp->datalen >> 2);
+- ret = FLAC__seekable_stream_encoder_set_total_samples_estimate(
+- skp, val
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting samples estimate.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_streamable_subset(skp, TRUE);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting streamable subset.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search(
+- skp, pp->qlp_srch
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting LP coefficient quantization search."
+- );
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Just use default for now
+- ret = FLAC__seekable_stream_encoder_set_qlp_coeff_precision(skp, 0);
+- */
+-
+- ret = FLAC__seekable_stream_encoder_set_verify(skp, pp->vfy_mode);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting verify mode.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_max_lpc_order(
+- skp, pp->lpc_order
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting max LPC order.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_blocksize(skp, pp->block_sz);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting block size.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_do_mid_side_stereo(
+- skp, pp->mid_side
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting M/S stereo.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_loose_mid_side_stereo(
+- skp, pp->adap_ms
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting adaptive M/S stereo.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- if (pp->min_rpo >= 0) {
+- ret = FLAC__seekable_stream_encoder_set_min_residual_partition_order(
+- skp, (unsigned int) pp->min_rpo
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting minimum RPO.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+- }
+-
+- if (pp->max_rpo >= 0) {
+- ret = FLAC__seekable_stream_encoder_set_max_residual_partition_order(
+- skp, (unsigned int) pp->max_rpo
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting maximum RPO.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+- }
+-
+- ret = FLAC__seekable_stream_encoder_set_do_exhaustive_model_search(
+- skp, pp->exh_srch
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting exhaustive model search.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Initialize and add metadata to FLAC output */
+- if_flac_addmeta(gdp, ufdp);
+-
+- /* Register write callback function */
+- ret = FLAC__seekable_stream_encoder_set_write_callback(
+- skp, if_flac_seekable_write_callback
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting write callback.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Register seek callback function */
+- ret = FLAC__seekable_stream_encoder_set_seek_callback(
+- skp, if_flac_seek_callback
+- );
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting seek callback.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Set callback argument */
+- ret = FLAC__seekable_stream_encoder_set_client_data(skp, gdp);
+- if (!ret) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Failed setting client data.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Initialize FLAC encoder */
+- enc_state = FLAC__seekable_stream_encoder_init(skp);
+- if (enc_state != FLAC__SEEKABLE_STREAM_ENCODER_OK) {
+- (void) sprintf(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: Encoder init error: %s",
+- FLAC__seekable_stream_encoder_get_resolved_state_string(skp)
+- );
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- /* Allocate wide samples buffers for the two channels */
+- fenc_buf[0] = (FLAC__int32 *) MEM_ALLOC(
+- "fenc_buf0",
+- (size_t) gdp->cdp->cds->chunk_bytes
+- );
+- if (fenc_buf[0] == NULL) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Out of memory.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+- fenc_buf[1] = (FLAC__int32 *) MEM_ALLOC(
+- "fenc_buf1",
+- (size_t) gdp->cdp->cds->chunk_bytes
+- );
+- if (fenc_buf[1] == NULL) {
+- (void) strcpy(gdp->cdp->i->msgbuf,
+- "if_flac_seekable_encoder_setup: "
+- "Out of memory.");
+- DBGPRN(DBG_SND)(errfp, "%s\n", gdp->cdp->i->msgbuf);
+- return FALSE;
+- }
+-
+- return TRUE;
+-}
+-
+-
+-/*
+ * if_flac_init
+ * Initialize FLAC encoder and set up encoding parameters
+ *
+@@ -1300,10 +929,7 @@ if_flac_init(gen_desc_t *gdp)
+ }
+
+ /* Set up encoder */
+- if ((gdp->flags & GDESC_ISPIPE) != 0)
+- ret = if_flac_encoder_setup(gdp, ufdp, &parms);
+- else
+- ret = if_flac_seekable_encoder_setup(gdp, ufdp, &parms);
++ ret = if_flac_encoder_setup(gdp, ufdp, &parms);
+
+ return (ret);
+ }
+@@ -1351,16 +977,9 @@ if_flac_encode_chunk(gen_desc_t *gdp, by
+
+ DBGPRN(DBG_SND)(errfp, "\nEncoding %d samples\n", samples);
+
+- if ((gdp->flags & GDESC_ISPIPE) != 0) {
+- ret = FLAC__stream_encoder_process(
+- ufdp->st, (void *) fenc_buf, (unsigned int) samples
+- );
+- }
+- else {
+- ret = FLAC__seekable_stream_encoder_process(
+- ufdp->sk, (void *) fenc_buf, (unsigned int) samples
+- );
+- }
++ ret = FLAC__stream_encoder_process(
++ ufdp->st, (void *) fenc_buf, (unsigned int) samples
++ );
+ if (!ret) {
+ (void) strcpy(gdp->cdp->i->msgbuf,
+ "if_flac_encode_chunk: Process encoding failed.");
+@@ -1393,14 +1012,8 @@ if_flac_halt(gen_desc_t *gdp)
+
+ ufdp = (flac_desc_t *) gdp->aux;
+
+- if ((gdp->flags & GDESC_ISPIPE) != 0) {
+- FLAC__stream_encoder_finish(ufdp->st);
+- FLAC__stream_encoder_delete(ufdp->st);
+- }
+- else {
+- FLAC__seekable_stream_encoder_finish(ufdp->sk);
+- FLAC__seekable_stream_encoder_delete(ufdp->sk);
+- }
++ FLAC__stream_encoder_finish(ufdp->st);
++ FLAC__stream_encoder_delete(ufdp->st);
+
+ MEM_FREE(ufdp);
+ gdp->aux = NULL;
diff --git a/audio/xmms-flac/Makefile b/audio/xmms-flac/Makefile
index 1c5145c9828d..f3b2b44057aa 100644
--- a/audio/xmms-flac/Makefile
+++ b/audio/xmms-flac/Makefile
@@ -6,23 +6,20 @@
#
PORTNAME= xmms-flac
-PORTVERSION= 1.1.2
-PORTREVISION= 4
+PORTVERSION= 1.2.1
CATEGORIES= audio
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:sf/} \
- ${MASTER_SITE_LOCAL:S/$/:local/}
-MASTER_SITE_SUBDIR= flac/:sf naddy/:local
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= flac
DISTNAME= flac-${PORTVERSION}
-DISTFILES= ${EXTRACT_ONLY}:sf flac-alloc.h:local
-EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= naddy@FreeBSD.org
COMMENT= XMMS input plugin for playing FLAC files
LIB_DEPENDS= xmms.4:${PORTSDIR}/multimedia/xmms \
- FLAC.7:${PORTSDIR}/audio/flac
+ FLAC.10:${PORTSDIR}/audio/flac
USE_AUTOTOOLS= libtool:15
+CONFIGURE_TARGET= --target=${ARCH}-unknown-freebsd${OSREL}
CONFIGURE_ARGS= --with-libiconv-prefix="${LOCALBASE}" \
--with-ogg="${LOCALBASE}" \
--with-xmms-prefix="${X11BASE}"
@@ -30,9 +27,6 @@ MAKE_ARGS= LIBTOOL="${LIBTOOL} --tag=disable-static"
MAKE_ENV= MAKEOBJDIR=/nonexistent # ignore ${WRKSRC}/obj
MAKEFILE= ${FILESDIR}/Makefile
-post-extract:
- @${CP} ${DISTDIR}/flac-alloc.h ${WRKSRC}/include/share/alloc.h
-
# XXX
post-install:
${RM} ${PREFIX}/lib/xmms/Input/libxmms-flac.la
diff --git a/audio/xmms-flac/distinfo b/audio/xmms-flac/distinfo
index 0928ac572faf..63088d9fe7b5 100644
--- a/audio/xmms-flac/distinfo
+++ b/audio/xmms-flac/distinfo
@@ -1,6 +1,3 @@
-MD5 (flac-1.1.2.tar.gz) = 2bfc127cdda02834d0491ab531a20960
-SHA256 (flac-1.1.2.tar.gz) = ce4f7d11b3c04a7368c916ca4abc284dd0c0256f461dfb7f07df1ab445e7a5c0
-SIZE (flac-1.1.2.tar.gz) = 1516235
-MD5 (flac-alloc.h) = 08891390039e2aee9bd4335f784467db
-SHA256 (flac-alloc.h) = da40afc663e5b3fe6dccd1a0f1c218b7ec02d3699d72b41d6978696896d7df98
-SIZE (flac-alloc.h) = 5697
+MD5 (flac-1.2.1.tar.gz) = 153c8b15a54da428d1f0fadc756c22c7
+SHA256 (flac-1.2.1.tar.gz) = 9635a44bceb478bbf2ee8a785cf6986fba525afb5fad1fd4bba73cf71f2d3edf
+SIZE (flac-1.2.1.tar.gz) = 2009217
diff --git a/audio/xmms-flac/files/patch-configure b/audio/xmms-flac/files/patch-configure
index e335f4533ff4..75fe5afb534a 100644
--- a/audio/xmms-flac/files/patch-configure
+++ b/audio/xmms-flac/files/patch-configure
@@ -3,15 +3,12 @@ $FreeBSD$
--- configure.orig
+++ configure
-@@ -10541,9 +10541,9 @@
- if test x$debug = xtrue; then
- OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -g -O0 -DDEBUG"
- else
-- OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -O2 -DNDEBUG"
-+ OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -DNDEBUG"
- if test x$GCC = xyes; then
-- OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -O3 -fomit-frame-pointer -funroll-loops -finline-functions -Wall -W -Winline -DFLaC__INLINE=__inline__"
-+ OUR_CFLAGS_HEAD="$OUR_CFLAGS_HEAD -Wall -W -DFLaC__INLINE=__inline__"
+@@ -23490,7 +23490,7 @@
+ CPPFLAGS="-DNDEBUG $CPPFLAGS"
+ if test "x$GCC" = xyes; then
+ CPPFLAGS="-DFLaC__INLINE=__inline__ $CPPFLAGS"
+- CFLAGS="-O3 -funroll-loops -finline-functions -Wall -W -Winline $CFLAGS"
++ CFLAGS="-Wall -W $CFLAGS"
fi
fi
- CFLAGS="$OUR_CFLAGS_HEAD $CFLAGS"
+
diff --git a/audio/xmms-flac/files/patch-src_plugin__common_charset.c b/audio/xmms-flac/files/patch-src_plugin__common_charset.c
deleted file mode 100644
index ec73bd8e3042..000000000000
--- a/audio/xmms-flac/files/patch-src_plugin__common_charset.c
+++ /dev/null
@@ -1,25 +0,0 @@
-
-$FreeBSD$
-
---- src/plugin_common/charset.c.orig
-+++ src/plugin_common/charset.c
-@@ -83,6 +83,8 @@
- /* Due to a GLIBC bug, round outbuf_size up to a multiple of 4 */
- /* + 1 for nul in case len == 1 */
- outsize = ((length + 3) & ~3) + 1;
-+ if(outsize < length) /* overflow check */
-+ return NULL;
- out = (char*)malloc(outsize);
- outleft = outsize - 1;
- outptr = out;
-@@ -95,6 +97,10 @@
- {
- case E2BIG:
- used = outptr - out;
-+ if((outsize - 1) * 2 + 1 <= outsize) { /* overflow check */
-+ free(out);
-+ return NULL;
-+ }
- outsize = (outsize - 1) * 2 + 1;
- out = realloc(out, outsize);
- outptr = out + used;
diff --git a/audio/xmms-flac/files/patch-src_plugin__common_tags.c b/audio/xmms-flac/files/patch-src_plugin__common_tags.c
deleted file mode 100644
index 1439821d2f77..000000000000
--- a/audio/xmms-flac/files/patch-src_plugin__common_tags.c
+++ /dev/null
@@ -1,59 +0,0 @@
-
-$FreeBSD$
-
---- src/plugin_common/tags.c.orig
-+++ src/plugin_common/tags.c
-@@ -23,6 +23,7 @@
- #include "tags.h"
- #include "FLAC/assert.h"
- #include "FLAC/metadata.h"
-+#include "share/alloc.h"
-
-
- static __inline unsigned local__wide_strlen(const FLAC__uint16 *s)
-@@ -82,7 +83,7 @@
- }
-
- /* allocate */
-- out = (FLAC__uint16*)malloc(chars * sizeof(FLAC__uint16));
-+ out = (FLAC__uint16*)safe_malloc_mul_2op_(chars, /*times*/sizeof(FLAC__uint16));
- if (0 == out) {
- FLAC__ASSERT(0);
- return 0;
-@@ -130,19 +131,23 @@
- static char *local__convert_ucs2_to_utf8(const FLAC__uint16 *src, unsigned length)
- {
- char *out;
-- unsigned len = 0;
-+ unsigned len = 0, n;
-
- FLAC__ASSERT(0 != src);
-
- /* calculate length */
- {
- unsigned i;
-- for (i = 0; i < length; i++)
-- len += local__ucs2len(src[i]);
-+ for (i = 0; i < length; i++) {
-+ n += local__ucs2len(src[i]);
-+ if(len + n < len) /* overflow check */
-+ return 0;
-+ len += n;
-+ }
- }
-
- /* allocate */
-- out = (char*)malloc(len * sizeof(char));
-+ out = (char*)safe_malloc_mul_2op_(len, /*times*/sizeof(char));
- if (0 == out)
- return 0;
-
-@@ -265,7 +270,7 @@
- const size_t value_len = strlen(value);
- const size_t separator_len = strlen(separator);
- FLAC__byte *new_entry;
-- if(0 == (new_entry = (FLAC__byte*)realloc(entry->entry, entry->length + value_len + separator_len + 1)))
-+ if(0 == (new_entry = (FLAC__byte*)safe_realloc_add_4op_(entry->entry, entry->length, /*+*/value_len, /*+*/separator_len, /*+*/1)))
- return false;
- memcpy(new_entry+entry->length, separator, separator_len);
- entry->length += separator_len;
diff --git a/audio/xmms-flac/files/patch-src_plugin__xmms_Makefile.in b/audio/xmms-flac/files/patch-src_plugin__xmms_Makefile.in
index e5fa56dc7d07..8d8965c55cc2 100644
--- a/audio/xmms-flac/files/patch-src_plugin__xmms_Makefile.in
+++ b/audio/xmms-flac/files/patch-src_plugin__xmms_Makefile.in
@@ -3,17 +3,7 @@ $FreeBSD$
--- src/plugin_xmms/Makefile.in.orig
+++ src/plugin_xmms/Makefile.in
-@@ -77,8 +77,7 @@
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
-- $(top_builddir)/src/share/utf8/libutf8.la \
-- $(top_builddir)/src/libFLAC/libFLAC.la
-+ $(top_builddir)/src/share/utf8/libutf8.la
- am__objects_1 = charset.lo configure.lo fileinfo.lo http.lo plugin.lo \
- tag.lo
- am_libxmms_flac_la_OBJECTS = $(am__objects_1)
-@@ -189,7 +188,7 @@
+@@ -147,7 +147,7 @@
LIBS = @LIBS@
# Don't build a static library
@@ -22,13 +12,23 @@ $FreeBSD$
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-@@ -296,8 +295,7 @@
+@@ -264,8 +264,7 @@
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
$(top_builddir)/src/share/utf8/libutf8.la \
- $(top_builddir)/src/libFLAC/libFLAC.la \
- -L$(top_builddir)/src/libFLAC/.libs \
+ -lFLAC \
+ @OGG_LIBS@ \
@XMMS_LIBS@ \
@LIBICONV@
-
+@@ -283,8 +282,7 @@
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+- $(top_builddir)/src/share/utf8/libutf8.la \
+- $(top_builddir)/src/libFLAC/libFLAC.la
++ $(top_builddir)/src/share/utf8/libutf8.la
+ am__objects_1 = charset.lo configure.lo fileinfo.lo http.lo plugin.lo \
+ tag.lo
+ am_libxmms_flac_la_OBJECTS = $(am__objects_1)
diff --git a/audio/xmms-flac/files/patch-src_plugin__xmms_http.c b/audio/xmms-flac/files/patch-src_plugin__xmms_http.c
deleted file mode 100644
index e7e8c222c63c..000000000000
--- a/audio/xmms-flac/files/patch-src_plugin__xmms_http.c
+++ /dev/null
@@ -1,16 +0,0 @@
-
-$FreeBSD$
-
---- src/plugin_xmms/http.c.orig
-+++ src/plugin_xmms/http.c
-@@ -44,10 +44,6 @@
- #include "FLAC/format.h"
- #include "plugin.h"
-
--#ifndef HAVE_SOCKLEN_T
--typedef unsigned int socklen_t;
--#endif
--
- #define min(x,y) ((x)<(y)?(x):(y))
- #define min3(x,y,z) (min(x,y)<(z)?min(x,y):(z))
- #define min4(x,y,z,w) (min3(x,y,z)<(w)?min3(x,y,z):(w))
diff --git a/audio/xmms-flac/files/patch-src_plugin__xmms_plugin.c b/audio/xmms-flac/files/patch-src_plugin__xmms_plugin.c
deleted file mode 100644
index fc950fee81f4..000000000000
--- a/audio/xmms-flac/files/patch-src_plugin__xmms_plugin.c
+++ /dev/null
@@ -1,34 +0,0 @@
-
-$FreeBSD$
-
---- src/plugin_xmms/plugin.c.orig
-+++ src/plugin_xmms/plugin.c
-@@ -259,6 +259,12 @@
-
- /* stream */
-
-+ /* XXX allow indiscriminate use of g_free() */
-+ flac_cfg.stream.proxy_host = g_strdup("");
-+ flac_cfg.stream.proxy_user = g_strdup("");
-+ flac_cfg.stream.proxy_pass = g_strdup("");
-+ flac_cfg.stream.save_http_path = g_strdup("");
-+
- xmms_cfg_read_int(cfg, "flac", "stream.http_buffer_size", &flac_cfg.stream.http_buffer_size);
- xmms_cfg_read_int(cfg, "flac", "stream.http_prebuffer", &flac_cfg.stream.http_prebuffer);
- xmms_cfg_read_boolean(cfg, "flac", "stream.use_proxy", &flac_cfg.stream.use_proxy);
-@@ -425,8 +431,13 @@
- if(title) {
- if (source_to_decoder_type (filename) == DECODER_FILE) {
- static const char *errtitle = "Invalid FLAC File: ";
-- *title = g_malloc(strlen(errtitle) + 1 + strlen(filename) + 1 + 1);
-- sprintf(*title, "%s\"%s\"", errtitle, filename);
-+ if(strlen(errtitle) + 1 + strlen(filename) + 1 + 1 < strlen(filename)) { /* overflow check */
-+ *title = NULL;
-+ }
-+ else {
-+ *title = g_malloc(strlen(errtitle) + 1 + strlen(filename) + 1 + 1);
-+ sprintf(*title, "%s\"%s\"", errtitle, filename);
-+ }
- } else {
- *title = NULL;
- }
diff --git a/audio/xmms-flac/files/patch-src_share_utf8_charset.c b/audio/xmms-flac/files/patch-src_share_utf8_charset.c
deleted file mode 100644
index 109f3c8afafb..000000000000
--- a/audio/xmms-flac/files/patch-src_share_utf8_charset.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- src/share/utf8/charset.c.orig
-+++ src/share/utf8/charset.c
-@@ -35,6 +35,7 @@
-
- #include <stdlib.h>
-
-+#include "share/alloc.h"
- #include "charset.h"
-
- #include "charmaps.h"
-@@ -492,7 +493,7 @@
- if (!charset1 || !charset2 )
- return -1;
-
-- tobuf = (char *)malloc(fromlen * charset2->max + 1);
-+ tobuf = (char *)safe_malloc_mul2add_(fromlen, /*times*/charset2->max, /*+*/1);
- if (!tobuf)
- return -2;
-
diff --git a/audio/xmms-flac/files/patch-src_share_utf8_iconvert.c b/audio/xmms-flac/files/patch-src_share_utf8_iconvert.c
deleted file mode 100644
index 755f1eaabd39..000000000000
--- a/audio/xmms-flac/files/patch-src_share_utf8_iconvert.c
+++ /dev/null
@@ -1,49 +0,0 @@
-
-$FreeBSD$
-
---- src/share/utf8/iconvert.c.orig
-+++ src/share/utf8/iconvert.c
-@@ -27,6 +27,7 @@
- #include <iconv.h>
- #include <stdlib.h>
- #include <string.h>
-+#include "share/alloc.h"
-
- /*
- * Convert data from one encoding to another. Return:
-@@ -79,7 +80,7 @@
- * This is deliberately not a config option as people often
- * change their iconv library without rebuilding applications.
- */
-- tocode1 = (char *)malloc(strlen(tocode) + 11);
-+ tocode1 = (char *)safe_malloc_add_2op_(strlen(tocode), /*+*/11);
- if (!tocode1)
- goto fail;
-
-@@ -117,6 +118,8 @@
- break;
- if (obl < 6) {
- /* Enlarge the buffer */
-+ if(utflen*2 < utflen) /* overflow check */
-+ goto fail;
- utflen *= 2;
- newbuf = (char *)realloc(utfbuf, utflen);
- if (!newbuf)
-@@ -143,7 +146,7 @@
- iconv_close(cd1);
- return ret;
- }
-- newbuf = (char *)realloc(utfbuf, (ob - utfbuf) + 1);
-+ newbuf = (char *)safe_realloc_add_2op_(utfbuf, (ob - utfbuf), /*+*/1);
- if (!newbuf)
- goto fail;
- ob = (ob - utfbuf) + newbuf;
-@@ -194,7 +197,7 @@
- outlen += ob - tbuf;
-
- /* Convert from UTF-8 for real */
-- outbuf = (char *)malloc(outlen + 1);
-+ outbuf = (char *)safe_malloc_add_2op_(outlen, /*+*/1);
- if (!outbuf)
- goto fail;
- ib = utfbuf;
diff --git a/audio/xmms-flac/files/patch-src_share_utf8_utf8.c b/audio/xmms-flac/files/patch-src_share_utf8_utf8.c
deleted file mode 100644
index ecb45334861a..000000000000
--- a/audio/xmms-flac/files/patch-src_share_utf8_utf8.c
+++ /dev/null
@@ -1,72 +0,0 @@
-
-$FreeBSD$
-
---- src/share/utf8/utf8.c.orig
-+++ src/share/utf8/utf8.c
-@@ -28,6 +28,7 @@
- #include <config.h>
- #endif
-
-+#include "share/alloc.h"
- #include "utf8.h"
- #include "charset.h"
-
-@@ -57,10 +58,13 @@
- } else {
- size += 3;
- }
-+ if(size+n < size) /* overflow check */
-+ return NULL;
-+ size += n;
- c = unicode[index++];
- }
-
-- out = malloc(size + 1);
-+ out = safe_malloc_add_2op_(size, /*+*/1);
- if (out == NULL)
- return NULL;
- index = 0;
-@@ -101,11 +105,15 @@
- } else {
- index += 1;
- }
-+ if(size + 1 == 0) /* overflow check */
-+ return NULL;
- size += 1;
- c = utf8[index++];
- }
-
-- out = malloc((size + 1) * sizeof(wchar_t));
-+ if(size + 1 == 0) /* overflow check */
-+ return NULL;
-+ out = safe_malloc_mul_2op_((size + 1), /*times*/sizeof(wchar_t));
- if (out == NULL)
- return NULL;
- index = 0;
-@@ -147,7 +155,7 @@
- return -1;
- }
-
-- unicode = calloc(wchars + 1, sizeof(unsigned short));
-+ unicode = safe_calloc_(wchars + 1, sizeof(unsigned short));
- if(unicode == NULL)
- {
- fprintf(stderr, "Out of memory processing string to UTF8\n");
-@@ -197,7 +205,7 @@
- return -1;
- }
-
-- *to = calloc(chars + 1, sizeof(unsigned char));
-+ *to = safe_calloc_(chars + 1, sizeof(unsigned char));
- if(*to == NULL)
- {
- fprintf(stderr, "Out of memory processing string to local charset\n");
-@@ -285,7 +293,7 @@
- if (ret != -1)
- return ret;
-
-- s = malloc(fromlen + 1);
-+ s = safe_malloc_add_2op_(fromlen, /*+*/1);
- if (!s)
- return -1;
- strcpy(s, from);
diff --git a/audio/xmms2/Makefile b/audio/xmms2/Makefile
index 81c26ca0d12f..a9df47879d24 100644
--- a/audio/xmms2/Makefile
+++ b/audio/xmms2/Makefile
@@ -8,6 +8,7 @@
PORTNAME?= xmms2
PORTVERSION= 0.4.d.0
DISTVERSION= 0.4DrKosmos
+PORTREVISION= 1
CATEGORIES?= audio
MASTER_SITES= SF
DISTNAME= ${PORTNAME}-${DISTVERSION}
@@ -112,7 +113,7 @@ PLIST_SUB+= SID="@comment "
.endif
.if !defined(WITHOUT_FLAC)
-LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= FLAC.10:${PORTSDIR}/audio/flac
PLIST_SUB+= FLAC=""
.else
EXCLUDE+= --without-plugins="flac"