diff --git a/multimedia/xmms-avi/Makefile b/multimedia/xmms-avi/Makefile index 12659831e68f..7ee433cea26d 100644 --- a/multimedia/xmms-avi/Makefile +++ b/multimedia/xmms-avi/Makefile @@ -16,29 +16,22 @@ DISTNAME= avi-xmms-${PORTVERSION} MAINTAINER= ports@FreeBSD.org COMMENT= An avifile based .avi and .asf file playback plugin for XMMS -BUILD_DEPENDS= xmms-config:${PORTSDIR}/multimedia/xmms -LIB_DEPENDS= aviplay.0:${PORTSDIR}/multimedia/avifile -RUN_DEPENDS= xmms:${PORTSDIR}/multimedia/xmms - -SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config +LIB_DEPENDS= xmms.3:${PORTSDIR}/multimedia/xmms ONLY_FOR_ARCHS= i386 USE_REINPLACE= yes USE_X_PREFIX= yes USE_GNOME= gtk12 USE_LIBTOOL= yes +USE_SDL= yes CONFIGURE_ARGS= --with-win32-path=${LOCALBASE}/lib/win32 CONFIGURE_ENV= SDL_CONFIG="${SDL_CONFIG}" .include -.if ${OSVERSION} >= 500113 -BROKEN= "Does not compile (bad C++ code)" -.endif - pre-patch: @${REINPLACE_CMD} -e "s|SDL/SDL.h|SDL11/SDL.h|g" ${WRKSRC}/src/ctrackbar.cpp - @${REINPLACE_CMD} -e "s|lc_r|pthread|g" ${WRKSRC}/configure + @${REINPLACE_CMD} -e "s|-lc_r|${PTHREAD_LIBS}|g" ${WRKSRC}/configure # This is to avoid libtool running ldconfig -m ${X11BASE}/lib/xmms/Input do-install: diff --git a/multimedia/xmms-avi/files/patch-gcc3 b/multimedia/xmms-avi/files/patch-gcc3 new file mode 100644 index 000000000000..b0ad39556f59 --- /dev/null +++ b/multimedia/xmms-avi/files/patch-gcc3 @@ -0,0 +1,505 @@ +diff -ur avi-xmms-1.2.3/include/com.h avi-xmms-1.2.3~/include/com.h +--- avi-xmms-1.2.3/include/com.h 2000-12-08 14:05:32.000000000 -0600 ++++ include/com.h 2002-11-30 02:41:01.000000000 -0600 +@@ -24,7 +24,7 @@ + int RegisterComClass(GUID* clsid, GETCLASSOBJECT gcs); + + #ifndef STDCALL +-#define STDCALL __attribute__((__stdcall__)) ++#define STDCALL + #endif + + struct IUnknown; +@@ -60,4 +60,4 @@ + }; + #endif + +-#endif +\ No newline at end of file ++#endif +diff -ur avi-xmms-1.2.3/include/infotypes.h avi-xmms-1.2.3~/include/infotypes.h +--- avi-xmms-1.2.3/include/infotypes.h 2000-12-18 02:46:08.000000000 -0600 ++++ include/infotypes.h 2002-11-30 02:44:24.000000000 -0600 +@@ -40,13 +40,13 @@ + std::string dll; + enum Kind {Win32, Source, Plugin, DShow_Dec}; + Kind kind; +- vector decoder_info; +- vector encoder_info; ++ std::vector decoder_info; ++ std::vector encoder_info; + GUID* guid; + CodecInfo(){} + CodecInfo(int* array, const char* info, const char* path, const char* a, +- Kind _kind, GUID* id=0, const vector& ei=vector(), +- const vector& di=vector()) ++ Kind _kind, GUID* id=0, const std::vector& ei=std::vector(), ++ const std::vector& di=std::vector()) + :kind(_kind), dll(path), text(info), about(a), fourcc(array[0]), decoder_info(di), encoder_info(ei), guid(id) + { + if(!*array) // uncompressed codec +@@ -71,4 +71,4 @@ + BITMAPINFOHEADER header; + }; + +-#endif +\ No newline at end of file ++#endif +diff -ur avi-xmms-1.2.3/lib/avifile/AVIReadHandler.cpp avi-xmms-1.2.3~/lib/avifile/AVIReadHandler.cpp +--- avi-xmms-1.2.3/lib/avifile/AVIReadHandler.cpp 2000-11-26 23:08:44.000000000 -0600 ++++ lib/avifile/AVIReadHandler.cpp 2002-11-30 04:10:23.000000000 -0600 +@@ -255,7 +255,7 @@ + + + class AVIReadStream : public IvAVIReadStream, public ListNode2 { +- friend AVIReadHandler; ++ friend class AVIReadHandler; + + public: + AVIReadStream(AVIReadHandler *, AVIStreamNode *, int); +@@ -987,7 +987,7 @@ + int hdrSize; + switch(fccType) { + case ckidAVIMAINHDR: +- hdrSize=min(dwLength, sizeof(m_header)); ++ hdrSize= (dwLength < sizeof(m_header)) ? dwLength : sizeof(m_header); + _readFile2(&m_header, hdrSize); + // printf("Found main header, size %d\n", hdrSize); + dwLength-=hdrSize; +@@ -1109,7 +1109,7 @@ + __int64 cpos=_posFile(); + while(cpos/(i64FileSize/10)>progress) + { +- cerr<<"."; ++ std::cerr<<"."; + progress++; + } + +@@ -1154,7 +1154,7 @@ + // pd.advance((long)((_posFile() - i64ChunkMoviPos)/1024)); + // pd.check(); + } +- cerr<NextKeyFrame((frame<0)?(int)m_sample:frame); + } +-Unsigned AviReadStream::GetPrevKeyFrame(int frame=-1) const ++Unsigned AviReadStream::GetPrevKeyFrame(int frame) const + { + if(m_pIStream==0)return 0; + if(frame==0)return 0; +diff -ur avi-xmms-1.2.3/lib/avifile/AviSegWrite.cpp avi-xmms-1.2.3~/lib/avifile/AviSegWrite.cpp +--- avi-xmms-1.2.3/lib/avifile/AviSegWrite.cpp 2000-10-03 01:44:42.000000000 -0500 ++++ lib/avifile/AviSegWrite.cpp 2002-11-30 04:19:12.000000000 -0600 +@@ -1,5 +1,5 @@ + #include "AviSegWrite.h" +-IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777) ++IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit, int flags, int mask) + { + return new AviSegWriteFile(name, flimit, flags, mask); + } +@@ -65,7 +65,7 @@ + return str.vstream; + } + IAviAudioWriteStream* AviSegWriteFile::AddAudioStream(int fourcc, +- WAVEFORMATEX* fmt, int bitrate, int flags=0) ++ WAVEFORMATEX* fmt, int bitrate, int flags) + { + if(!fmt)return 0; + streaminfo str; +@@ -85,7 +85,7 @@ + IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type, + const char* format, Unsigned format_size, + int handler, int frame_rate, +- int samplesize=0, int quality=0, int flags=0) ++ int samplesize, int quality, int flags) + + //IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type) + { +@@ -120,7 +120,7 @@ + { + if(_format)delete _format; + } +-AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777) ++AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit, int flags, int mask) + :_name(name), m_lFlimit(flimit), _flags(flags), _mask(mask), _size(0LL) + { + rf=new AviWriteFile(name, flags, mask); +@@ -134,7 +134,7 @@ + delete it->format; + } + +-HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0) ++HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags) + { + HRESULT result=m_pStream->AddChunk(chunk, size, flags); + if(m_pFile->rf->FileSize()>m_pFile->m_lFlimit) +diff -ur avi-xmms-1.2.3/lib/avifile/AviWrite.cpp avi-xmms-1.2.3~/lib/avifile/AviWrite.cpp +--- avi-xmms-1.2.3/lib/avifile/AviWrite.cpp 2000-12-01 05:13:53.000000000 -0600 ++++ lib/avifile/AviWrite.cpp 2002-11-30 04:16:00.000000000 -0600 +@@ -45,7 +45,7 @@ + IAviWriteStream* AviWriteFile::AddStream(AviStream::StreamType type, + const char* format, Unsigned format_size, + int handler, int frame_rate, +- int samplesize=0, int quality=0, int flags=0) ++ int samplesize, int quality, int flags) + { + int ckid; + ckid=MAKEAVICKID((type==AviWriteStream::Video)?cktypeDIBcompressed:cktypeWAVEbytes, m_streams.size()); +@@ -73,7 +73,7 @@ + return result; + } + IAviAudioWriteStream* AviWriteFile::AddAudioStream(int fourcc, +- WAVEFORMATEX* fmt, int bitrate, int flags=0) ++ WAVEFORMATEX* fmt, int bitrate, int flags) + { + int ckid; + ckid=MAKEAVICKID(cktypeWAVEbytes, m_streams.size()); +@@ -134,7 +134,7 @@ + m_status=0; + return; + } +-void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags=0) ++void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags) + { + // m_index=(AVIINDEXENTRY*)realloc(m_index, (m_indsize+1)*sizeof(AVIINDEXENTRY)); + AVIINDEXENTRY entry; +@@ -164,7 +164,7 @@ + enum AviStream::StreamType type, + const char* format, Unsigned format_size, + int handler, int frame_rate, +- int samplesize=0, int quality=0, int flags=0) ++ int samplesize, int quality, int flags) + + :m_file(file), m_ckid(ckid) + { +@@ -207,7 +207,7 @@ + } + AviWriteStream::AviWriteStream(AviWriteFile* file, int ckid, + enum AviStream::StreamType type, +- int handler, int frame_rate, int flags=0) ++ int handler, int frame_rate, int flags) + :m_file(file), m_ckid(ckid), m_format(0) + { + m_fd=file->m_fd; +@@ -243,7 +243,7 @@ + } + + +-HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0) ++HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags) + { + if((chunk==0) && (size!=0)) + { +@@ -280,7 +280,7 @@ + IAviVideoWriteStream::~IAviVideoWriteStream(){} + IAviWriteFile::~IAviWriteFile(){} + +-IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask=00777) ++IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask) + { + return new AviWriteFile(name, flags, mask); + } +diff -ur avi-xmms-1.2.3/lib/avifile/List.h avi-xmms-1.2.3~/lib/avifile/List.h +--- avi-xmms-1.2.3/lib/avifile/List.h 2000-11-26 11:43:55.000000000 -0600 ++++ lib/avifile/List.h 2002-11-30 04:07:10.000000000 -0600 +@@ -78,7 +78,7 @@ + + template + class ListNode2 : public ListNode { +-friend List2; ++friend class List2; + public: + ListNode2() {} + ListNode2(void *pv) : ListNode(pv) {} +diff -ur avi-xmms-1.2.3/lib/aviplay/aviutil.cpp avi-xmms-1.2.3~/lib/aviplay/aviutil.cpp +--- avi-xmms-1.2.3/lib/aviplay/aviutil.cpp 2000-11-29 07:16:09.000000000 -0600 ++++ lib/aviplay/aviutil.cpp 2002-11-30 04:43:25.000000000 -0600 +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -139,7 +141,7 @@ + continue; + + } +- cout<<"Available CPU flags: "<::iterator it; + vector::iterator iv; +@@ -327,7 +327,7 @@ + } + return 0; + } +-int VideoDecoder::SetDestFmt(int bits=24, int csp=0) ++int VideoDecoder::SetDestFmt(int bits, int csp) + { + if(m_iState==0) + return -1; +diff -ur avi-xmms-1.2.3/lib/videocodec/codeckeeper.cpp avi-xmms-1.2.3~/lib/videocodec/codeckeeper.cpp +--- avi-xmms-1.2.3/lib/videocodec/codeckeeper.cpp 2001-02-03 23:37:51.000000000 -0600 ++++ lib/videocodec/codeckeeper.cpp 2002-11-30 04:05:42.000000000 -0600 +@@ -253,20 +253,19 @@ + } + } + +-const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start=0) ++const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start) + { +- vector::const_iterator it; +- if(start==0) +- it=video_codecs.begin(); +- else +- it=start; +- vector::const_iterator iv; ++ std::vector::const_iterator it = video_codecs.begin(); ++ if (start) ++ it = std::vector::const_iterator(start); ++ ++ std::vector::const_iterator iv; + for(; it!=video_codecs.end(); it++) + { +- if(start && (it==start))continue; ++ if(start && (&(*it)==start))continue; + for(iv=it->fourcc_array.begin(); iv!=it->fourcc_array.end(); iv++) + if(codec==(*iv)) +- return (const CodecInfo*)it; ++ return &(*it); + } + return 0; + } +diff -ur avi-xmms-1.2.3/lib/videocodec/image.cpp avi-xmms-1.2.3~/lib/videocodec/image.cpp +--- avi-xmms-1.2.3/lib/videocodec/image.cpp 2001-01-27 11:46:37.000000000 -0600 ++++ lib/videocodec/image.cpp 2002-11-30 02:50:26.000000000 -0600 +@@ -27,7 +27,7 @@ + _width=abs(_info->biWidth); + _height=abs(_info->biHeight); + } +-CImage::CImage(const BitmapInfo* header, unsigned char* data=0, bool copy=true) ++CImage::CImage(const BitmapInfo* header, unsigned char* data, bool copy) + :_info(new BitmapInfo(header)),_refcount(1) + { + fill_members(); +@@ -57,7 +57,7 @@ + register_image(); + } + +-CImage::CImage(const CImage* im, int depth=-1) ++CImage::CImage(const CImage* im, int depth) + :_info(new BitmapInfo(im->get_fmt())), _refcount(1) + { + if(depth!=-1) +@@ -208,7 +208,7 @@ + { + return (int(b)<<16)+(int(g)<<8)+int(r); + } +-void CImage::ToYUV(int destfmt=0) ++void CImage::ToYUV(int destfmt) + { + struct yuv* src; + src=(struct yuv*)_data+_width*_height-1; +@@ -431,7 +431,7 @@ + return; + } + } +- cerr<<"Unsupported"<