ports/182283: audio/akode*: Fix build with Clang and newer versions of GCC

Scot W. Hetzel swhetzel at gmail.com
Sat Sep 21 16:10:01 UTC 2013


>Number:         182283
>Category:       ports
>Synopsis:       audio/akode*: Fix build with Clang and newer versions of GCC
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 21 16:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Scot W. Hetzel
>Release:        FreeBSD 10.0-ALPHA2 i386
>Organization:
>Environment:
System: FreeBSD fbsd10 10.0-ALPHA2 FreeBSD 10.0-ALPHA2 #0 r255731: Sat Sep 21 08:56:02 CDT 2013 root at fbsd10:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:
- Fix build with clang by avoiding shadowing in template definitions (Obtained from NetBSD's pkgsrc)
- Add missing includes for <cstring>, <cstdlib> to allow akode to build with newer versions of GCC.
- Fix OPTIONS_DEFAULT as it had the XIPH option misspelled

>How-To-Repeat:
On a recent current with only the clang compiler installed

cd /usr/ports/audio/akode
make build

Port will fail to build due to missing declarations

Switch to clang compiler by removing USE_GCC=any from the Makefile.  It will fail to build with:

fast_resampler.cpp:40:52: error: declaration of 'S' shadows template parameter
template<typename T, typename S, template<typename S> class Arithm>

>Fix:

The below patch corrects these issues for all the akode ports:

akode
akode-plugins-ffmpeg
akode-plugins-jack
akode-plugins-mpc
akode-plugins-mpeg
akode-plugins-oss
akode-plugins-pulseaudio
akode-plugins-resampler
akode-plugins-xiph

Note: To apply the patch:
cd /usr/ports/audio
patch -p0 < akode.diff

It will add several new patch files to the ports

M       akode/Makefile
A       akode/files/patch-akode-akodeplay-akodeplay.cpp
A       akode/files/patch-akode-lib-auto_sink.cpp
A       akode/files/patch-akode-lib-converter.cpp
A       akode/files/patch-akode-lib-crossfader.cpp
A       akode/files/patch-akode-lib-fast_resampler.cpp
A       akode/files/patch-akode-lib-magic.cpp
A       akode/files/patch-akode-lib-player.cpp
A       akode/files/patch-akode-lib-volumefilter.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-converter.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-magic.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-player.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-volumefilter.cpp
A       akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-jack/files/patch-akode-lib-converter.cpp
A       akode-plugins-jack/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-jack/files/patch-akode-lib-magic.cpp
A       akode-plugins-jack/files/patch-akode-lib-player.cpp
A       akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-mpc/Makefile
A       akode-plugins-mpc/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-mpc/files/patch-akode-lib-converter.cpp
A       akode-plugins-mpc/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-mpc/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-mpc/files/patch-akode-lib-magic.cpp
A       akode-plugins-mpc/files/patch-akode-lib-player.cpp
A       akode-plugins-mpc/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-mpeg/Makefile
A       akode-plugins-mpeg/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-converter.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-magic.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-player.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-oss/Makefile
A       akode-plugins-oss/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-oss/files/patch-akode-lib-converter.cpp
A       akode-plugins-oss/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-oss/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-oss/files/patch-akode-lib-magic.cpp
A       akode-plugins-oss/files/patch-akode-lib-player.cpp
A       akode-plugins-oss/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-resampler/Makefile
A       akode-plugins-resampler/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-resampler/files/patch-akode-lib-converter.cpp
A       akode-plugins-resampler/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-resampler/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-resampler/files/patch-akode-lib-magic.cpp
A       akode-plugins-resampler/files/patch-akode-lib-player.cpp
A       akode-plugins-resampler/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-xiph/Makefile
A       akode-plugins-xiph/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-xiph/files/patch-akode-lib-converter.cpp
A       akode-plugins-xiph/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-xiph/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-xiph/files/patch-akode-lib-magic.cpp
A       akode-plugins-xiph/files/patch-akode-lib-player.cpp
A       akode-plugins-xiph/files/patch-akode-lib-volumefilter.cpp

--- akode.diff begins here ---
Index: akode/Makefile
===================================================================
--- akode/Makefile	(revision 327595)
+++ akode/Makefile	(working copy)
@@ -19,10 +19,11 @@
 
 CONFLICTS=	kdemultimedia-3.[1-3]*
 
-OPTIONS_DEFINE=	FFMPEG JACK MPC MPEG OSS RESAMPLER XIPH
-OPTIONS_DEFAULT=	MPC MPEG OSS RESAMPLER XIP
+OPTIONS_DEFINE=	FFMPEG JACK MPC MPEG OSS PULSEAUDIO RESAMPLER XIPH
+OPTIONS_DEFAULT=	MPC MPEG OSS RESAMPLER XIPH
 
 MPC_DESC=	Monkey's Audio decoder plugin
+MPEG_DESC=	MPEG Audio decoder plugin
 RESAMPLER_DESC=	Resampler processing plugin
 XIPH_DESC=	FLAC/Speex/Vorbis decoder plugin
 
@@ -29,7 +30,6 @@
 USES=		gmake
 USE_AUTOTOOLS=	libltdl libtool
 USE_BZIP2=	yes
-USE_GCC=	any
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
 USE_LDCONFIG=	yes
 
@@ -59,6 +59,10 @@
 RUN_DEPENDS+=	${LOCALBASE}/lib/libakode_oss_sink.so:${PORTSDIR}/audio/akode-plugins-oss
 .endif
 
+.if ${PORT_OPTIONS:MPULSEAUDIO}
+RUN_DEPENDS+=	${LOCALBASE}/lib/libakode_polyp_sink.so:${PORTSDIR}/audio/akode-plugins-pulseaudio
+.endif
+
 .if ${PORT_OPTIONS:MRESAMPLER}
 RUN_DEPENDS+=	${LOCALBASE}/lib/libakode_src_resampler.so:${PORTSDIR}/audio/akode-plugins-resampler
 .endif
Index: akode/files/patch-akode-akodeplay-akodeplay.cpp
===================================================================
--- akode/files/patch-akode-akodeplay-akodeplay.cpp	(revision 0)
+++ akode/files/patch-akode-akodeplay-akodeplay.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/akodeplay/akodeplay.cpp-orig	2006-11-06 07:20:52.000000000 -0600
++++ akode/akodeplay/akodeplay.cpp	2013-09-19 08:14:28.000000000 -0500
+@@ -19,6 +19,7 @@
+ */
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ #include "../lib/akodelib.h"
+ #include "../lib/player.h"
Index: akode/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode/files/patch-akode-lib-converter.cpp
===================================================================
--- akode/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode/files/patch-akode-lib-magic.cpp
===================================================================
--- akode/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode/files/patch-akode-lib-player.cpp
===================================================================
--- akode/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-ffmpeg/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-ffmpeg/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-ffmpeg/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-ffmpeg/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-ffmpeg/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-ffmpeg/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-ffmpeg/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-ffmpeg/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-ffmpeg/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-jack/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-jack/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-jack/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-jack/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-mpc/Makefile
===================================================================
--- akode-plugins-mpc/Makefile	(revision 327595)
+++ akode-plugins-mpc/Makefile	(working copy)
@@ -24,7 +24,6 @@
 USE_AUTOTOOLS=	libltdl
 USE_AUTOTOOLS=	libtool
 USE_BZIP2=	yes
-USE_GCC=	any
 WRKSRC=		${WRKDIR}/akode-${PORTVERSION}
 USE_LDCONFIG=	yes
 
Index: akode-plugins-mpc/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-mpc/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-mpc/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-mpc/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-mpc/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-mpc/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-mpc/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-mpc/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-mpc/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-mpeg/Makefile
===================================================================
--- akode-plugins-mpeg/Makefile	(revision 327595)
+++ akode-plugins-mpeg/Makefile	(working copy)
@@ -26,7 +26,6 @@
 USE_AUTOTOOLS=	libltdl
 USE_AUTOTOOLS=	libtool
 USE_BZIP2=	yes
-USE_GCC=	any
 WRKSRC=		${WRKDIR}/akode-${PORTVERSION}
 USE_LDCONFIG=	yes
 
Index: akode-plugins-mpeg/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-mpeg/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-mpeg/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-mpeg/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-mpeg/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-mpeg/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-mpeg/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-mpeg/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-mpeg/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-oss/Makefile
===================================================================
--- akode-plugins-oss/Makefile	(revision 327595)
+++ akode-plugins-oss/Makefile	(working copy)
@@ -24,7 +24,6 @@
 USE_AUTOTOOLS=	libltdl
 USE_AUTOTOOLS=	libtool
 USE_BZIP2=	yes
-USE_GCC=	any
 WRKSRC=		${WRKDIR}/akode-${PORTVERSION}
 USE_LDCONFIG=	yes
 
Index: akode-plugins-oss/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-oss/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-oss/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-oss/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-oss/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-oss/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-oss/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-oss/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-oss/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-resampler/Makefile
===================================================================
--- akode-plugins-resampler/Makefile	(revision 327595)
+++ akode-plugins-resampler/Makefile	(working copy)
@@ -26,7 +26,6 @@
 USE_AUTOTOOLS=	libltdl
 USE_AUTOTOOLS=	libtool
 USE_BZIP2=	yes
-USE_GCC=	any
 WRKSRC=		${WRKDIR}/akode-${PORTVERSION}
 USE_LDCONFIG=	yes
 
Index: akode-plugins-resampler/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-resampler/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-resampler/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-resampler/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-resampler/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-resampler/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-resampler/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-resampler/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-resampler/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
Index: akode-plugins-xiph/Makefile
===================================================================
--- akode-plugins-xiph/Makefile	(revision 327595)
+++ akode-plugins-xiph/Makefile	(working copy)
@@ -30,7 +30,6 @@
 USE_AUTOTOOLS=	libltdl
 USE_AUTOTOOLS=	libtool
 USE_BZIP2=	yes
-USE_GCC=	any
 WRKSRC=		${WRKDIR}/akode-${PORTVERSION}
 USE_LDCONFIG=	yes
 
Index: akode-plugins-xiph/files/patch-akode-lib-auto_sink.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-auto_sink.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-auto_sink.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/auto_sink.cpp-orig	2005-10-26 08:50:29.000000000 -0500
++++ akode/lib/auto_sink.cpp	2013-09-19 03:25:47.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "auto_sink.h"
+ 
+ #include <iostream>
++#include <cstdlib>
+ 
+ namespace aKode {
+ 
Index: akode-plugins-xiph/files/patch-akode-lib-converter.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-converter.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-converter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/converter.cpp-orig	2006-07-22 11:35:31.000000000 -0500
++++ akode/lib/converter.cpp	2013-09-19 08:49:30.000000000 -0500
+@@ -26,7 +26,7 @@
+ 
+ Converter::Converter(int sample_width) : m_sample_width(sample_width) {}
+ 
+-template<typename T, typename S, template<typename T> class ArithmT, template<typename S> class ArithmS>
++template<typename T, typename S, template<typename U> class ArithmT, template<typename U> class ArithmS>
+ static bool __doFrameFP(AudioFrame* in, AudioFrame* out, int sample_width)
+ {
+     AudioConfiguration config = *in;
Index: akode-plugins-xiph/files/patch-akode-lib-crossfader.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-crossfader.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-crossfader.cpp	(working copy)
@@ -0,0 +1,20 @@
+--- akode/lib/crossfader.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/crossfader.cpp	2013-09-19 08:52:46.000000000 -0500
+@@ -27,7 +27,7 @@
+ CrossFader::CrossFader(unsigned int time) : time(time),pos(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Div is a division method
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata1 = (T**)in->data;
+@@ -66,7 +66,7 @@
+ }
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm defines devisions
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _readFrame(AudioFrame* in, int& pos, AudioFrame* frame)
+ {
+     T** indata = (T**)frame->data;
Index: akode-plugins-xiph/files/patch-akode-lib-fast_resampler.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-fast_resampler.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-fast_resampler.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/fast_resampler.cpp-orig	2006-05-26 13:37:17.000000000 -0500
++++ akode/lib/fast_resampler.cpp	2013-09-19 08:54:51.000000000 -0500
+@@ -37,7 +37,7 @@
+ // A fast resampling by linear interpolation
+ // I assume you know binary arithmetics and convertions if you're reading this
+ // T is the input/output type, Arithm defines the used arithmetic
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doBuffer(AudioFrame* in, AudioFrame* out, float speed, unsigned sample_rate)
+ {
+     unsigned long vt_pos_start = 0;  // virtual positions of new sample
Index: akode-plugins-xiph/files/patch-akode-lib-magic.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-magic.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-magic.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/magic.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/magic.cpp	2013-09-19 08:08:58.000000000 -0500
+@@ -22,6 +22,7 @@
+ #include "magic.h"
+ #include "file.h"
+ #include <iostream>
++#include <cstring>
+ using std::cerr;
+ 
+ namespace aKode {
Index: akode-plugins-xiph/files/patch-akode-lib-player.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-player.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-player.cpp	(working copy)
@@ -0,0 +1,10 @@
+--- akode/lib/player.cpp-orig	2006-11-05 08:37:48.000000000 -0600
++++ akode/lib/player.cpp	2013-09-19 08:06:37.000000000 -0500
+@@ -21,6 +21,7 @@
+ #include <pthread.h>
+ #include <semaphore.h>
+ #include <assert.h>
++#include <cstring>
+ 
+ #include "audioframe.h"
+ #include "audiobuffer.h"
Index: akode-plugins-xiph/files/patch-akode-lib-volumefilter.cpp
===================================================================
--- akode-plugins-xiph/files/patch-akode-lib-volumefilter.cpp	(revision 0)
+++ akode-plugins-xiph/files/patch-akode-lib-volumefilter.cpp	(working copy)
@@ -0,0 +1,11 @@
+--- akode/lib/volumefilter.cpp-orig	2005-10-20 15:47:17.000000000 -0500
++++ akode/lib/volumefilter.cpp	2013-09-19 08:56:37.000000000 -0500
+@@ -29,7 +29,7 @@
+ VolumeFilter::VolumeFilter() : m_volume(0) {}
+ 
+ // T is the input/output type, S is the fast arithmetics type, Arithm is a division definition
+-template<typename T, typename S, template<typename S> class Arithm>
++template<typename T, typename S, template<typename U> class Arithm>
+ static bool _doFrame(AudioFrame* in, AudioFrame* out, int volume)
+ {
+     T** indata = (T**)in->data;
--- akode.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list