aboutsummaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authornaddy <naddy@FreeBSD.org>2008-04-08 04:37:23 +0800
committernaddy <naddy@FreeBSD.org>2008-04-08 04:37:23 +0800
commit5d7648cf54a89e826350ff1b2f40131f20c43261 (patch)
tree2ef2e56717d3ec99a2689360c25c64d5cae8418d /audio
parentac39987147fb57e12b7fc719185f6a8153a068d7 (diff)
downloadfreebsd-ports-gnome-5d7648cf54a89e826350ff1b2f40131f20c43261.tar.gz
freebsd-ports-gnome-5d7648cf54a89e826350ff1b2f40131f20c43261.tar.zst
freebsd-ports-gnome-5d7648cf54a89e826350ff1b2f40131f20c43261.zip
Update to FLAC 1.2.1. This version includes two and a half years
worth of changes and an altered API. Bump the revision of all ports that depend on libFLAC and adapt to the new API where necessary. Some patches from Debian, Gentoo, OpenBSD, and upstream repositories. PR: 119476
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"