# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= id3lib VERSION= 3.8.3 KEYWORDS= audio VARIANTS= standard SDESC[standard]= Library for manipulating ID3v1 and ID3v2 tags HOMEPAGE= https://sourceforge.net/projects/id3lib/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= SF/id3lib/id3lib/3.8.3 DISTFILE[1]= id3lib-3.8.3.tar.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none USES= cpe iconv libtool zlib fbsd10fix c++:single LICENSE= GPLv2+:single LICENSE_TERMS= single:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv2+:{{WRKSRC}}/COPYING LICENSE_AWK= TERMS:"_ID3LIB_HEADER_H_" LICENSE_SOURCE= TERMS:{{WRKSRC}}/src/header.h LICENSE_SCHEME= solo FPC_EQUIVALENT= audio/id3lib MUST_CONFIGURE= gnu INSTALL_TARGET= install-strip SOVERSION= 3.0.0 CPPFLAGS= -Wno-dangling-else post-patch: ${REINPLACE_CMD} -e 's|@PORTVERSION@|3.8.3|' \ ${WRKSRC}/examples/demo_convert.cpp \ ${WRKSRC}/examples/demo_copy.cpp \ ${WRKSRC}/examples/demo_info.cpp \ ${WRKSRC}/examples/demo_tag.cpp post-extract: ${RM} -r ${WRKSRC}/zlib post-install-netbsd: # remove extra symlink to match manifest ${RM} ${STAGEDIR}${PREFIX}/lib/libid3-3.8.so [FILE:171:descriptions/desc.single] id3lib is a software library for manipulating ID3v1/v1.1 and ID3v2 tags. id3lib 3.0.x conforms to all ID3v2 standards up to and including the ID3v2.3.0 informal standard. [FILE:98:distinfo] 2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079 950726 id3lib-3.8.3.tar.gz [FILE:311:manifests/plist.single] bin/ id3convert id3cp id3info id3tag include/id3.h include/id3/ field.h globals.h id3lib_frame.h id3lib_streams.h id3lib_strings.h misc_support.h reader.h readers.h sized_types.h tag.h utils.h writer.h writers.h lib/ libid3-3.8.so.%%SOMAJOR%% libid3-3.8.so.%%SOVERSION%% libid3.a libid3.so [FILE:1617:patches/patch-CVE-2007-4460] --- src/tag_file.cpp.orig 2003-03-02 00:23:00 UTC +++ src/tag_file.cpp @@ -242,8 +242,8 @@ size_t RenderV2ToFile(const ID3_TagImpl& strcpy(sTempFile, filename.c_str()); strcat(sTempFile, sTmpSuffix.c_str()); -#if ((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) - // This section is for Windows folk && gcc 3.x folk +#if !defined(HAVE_MKSTEMP) + // This section is for Windows folk fstream tmpOut; createFile(sTempFile, tmpOut); @@ -257,7 +257,7 @@ size_t RenderV2ToFile(const ID3_TagImpl& tmpOut.write((char *)tmpBuffer, nBytes); } -#else //((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) +#else //!defined(HAVE_MKSTEMP) // else we gotta make a temp file, copy the tag into it, copy the // rest of the old file after the tag, delete the old file, rename @@ -270,7 +270,7 @@ size_t RenderV2ToFile(const ID3_TagImpl& //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file"); } - ofstream tmpOut(fd); + ofstream tmpOut(sTempFile); if (!tmpOut) { tmpOut.close(); @@ -285,14 +285,14 @@ size_t RenderV2ToFile(const ID3_TagImpl& uchar tmpBuffer[BUFSIZ]; while (file) { - file.read(tmpBuffer, BUFSIZ); + file.read((char *)tmpBuffer, BUFSIZ); size_t nBytes = file.gcount(); - tmpOut.write(tmpBuffer, nBytes); + tmpOut.write((char *)tmpBuffer, nBytes); } close(fd); //closes the file -#endif ////((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) +#endif ////!defined(HAVE_MKSTEMP) tmpOut.close(); file.close(); [FILE:454:patches/patch-Makefile.in] --- Makefile.in.orig 2003-03-02 00:23:00 UTC +++ Makefile.in @@ -132,8 +132,8 @@ EXTRA_DIST = \ @ID3_NEEDZLIB_TRUE@zlib_subdir = zlib @ID3_NEEDZLIB_FALSE@zlib_subdir = -SUBDIRS = . m4 $(zlib_subdir) doc include id3com src examples -DIST_SUBDIRS = . m4 zlib doc include id3com src examples prj libprj +SUBDIRS = . m4 doc include id3com src examples +DIST_SUBDIRS = . m4 doc include id3com src examples prj libprj INCLUDES = @ID3LIB_DEBUG_FLAGS@ [FILE:1796:patches/patch-configure] --- configure.orig 2003-03-02 00:23:00 UTC +++ configure @@ -3305,7 +3305,7 @@ darwin* | rhapsody*) esac ;; -freebsd*) +freebsd*|dragonfly*|midnight*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) @@ -5613,7 +5613,7 @@ else ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) + freebsd*|dragonfly*|midnight*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -6060,7 +6060,7 @@ freebsd1*) dynamic_linker=no ;; -freebsd*) +freebsd*|dragonfly*|midnight*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in @@ -9134,6 +9134,7 @@ if test x$ac_cv_lib_z_uncompress = xno; else ID3_NEEDZLIB_TRUE='#' ID3_NEEDZLIB_FALSE= + LIBS="-lz $LIBS" fi @@ -9730,14 +9731,13 @@ fi if test ! x$silent = xyes; then exec 6>&1 fi - #standalone library rules over libc - if test $iconv_in_iconv = 1 -o $libiconv_in_iconv = 1; then + if test $iconv_in_libc = 1; then + echo "$as_me:$LINENO: result: libc" >&5 +echo "${ECHO_T}libc" >&6 + elif test $iconv_in_iconv = 1 -o $libiconv_in_iconv = 1; then echo "$as_me:$LINENO: result: libiconv" >&5 echo "${ECHO_T}libiconv" >&6 ICONV_LIB=-liconv - elif test $iconv_in_libc = 1; then - echo "$as_me:$LINENO: result: libc" >&5 -echo "${ECHO_T}libc" >&6 else echo "$as_me:$LINENO: result: not found (panic)" >&5 echo "${ECHO_T}not found (panic)" >&6 @@ -10296,7 +10296,6 @@ done for ac_header in \ string \ - iomanip.h \ do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` [FILE:990:patches/patch-examples_demo__convert.cpp] --- examples/demo_convert.cpp.orig 2003-03-02 00:23:00 UTC +++ examples/demo_convert.cpp @@ -24,8 +24,9 @@ using std::cout; using std::endl; -static const char* VERSION_NUMBER = "$Revision: 1.15 $"; +static const char* VERSION_NUMBER = "@PORTVERSION@"; +static void PrintUsage(const char *sName) { cout << "Converts between id3v1 and id3v2 tags of an mp3 file." << endl; @@ -37,6 +38,7 @@ void PrintUsage(const char *sName) << "render them." << endl; } +static void PrintVersion(const char *sName) { size_t nIndex; @@ -64,6 +66,7 @@ void PrintVersion(const char *sName) cout << "tags to ID3v2 tags." << endl << endl; } +static void DisplayTags(ostream &os, luint nTags) { if (!((nTags & ID3TT_ID3V1) || (nTags & ID3TT_ID3V2))) @@ -84,7 +87,7 @@ void DisplayTags(ostream &os, luint nTag } } -int main( unsigned int argc, char * const argv[]) +int main( int argc, char * const argv[]) { flags_t ulFlag = ID3TT_ALL; gengetopt_args_info args; [FILE:986:patches/patch-examples_demo__copy.cpp] --- examples/demo_copy.cpp.orig 2003-03-02 00:23:00 UTC +++ examples/demo_copy.cpp @@ -26,8 +26,9 @@ using std::cout; using std::endl; using std::cerr; -static const char* VERSION_NUMBER = "$Revision: 1.11 $"; +static const char* VERSION_NUMBER = "@PORTVERSION@"; +static void PrintUsage(const char *sName) { cout << "Usage: " << sName << " [OPTION]... SOURCE DEST" << endl; @@ -35,6 +36,7 @@ void PrintUsage(const char *sName) cout << endl; } +static void PrintVersion(const char *sName) { size_t nIndex; @@ -61,6 +63,7 @@ void PrintVersion(const char *sName) cout << "This program copies tags from one file to another" << endl; } +static void DisplayTags(ostream &os, luint nTags) { if (!((nTags & ID3TT_ID3V1) || (nTags & ID3TT_ID3V2))) @@ -81,7 +84,7 @@ void DisplayTags(ostream &os, luint nTag } } -int main( unsigned int argc, char * const argv[]) +int main( int argc, char * const argv[]) { int ulFlag = ID3TT_ID3; ID3D_INIT_DOUT(); [FILE:1049:patches/patch-examples_demo__info.cpp] --- examples/demo_info.cpp.orig 2003-03-02 00:23:00 UTC +++ examples/demo_info.cpp @@ -33,8 +33,9 @@ using namespace dami; using std::cout; using std::endl; -static String VERSION_NUMBER = "$Revision: 1.32 $"; +static String VERSION_NUMBER = "@PORTVERSION@"; +static void PrintUsage(const char *sName) { cout << "Usage: " << sName << " [OPTION]... [FILE]..." << endl; @@ -46,6 +47,7 @@ void PrintUsage(const char *sName) cout << "Will not differentiate between the two types of tags" << endl; } +static void PrintVersion(const char *sName) { cout << sName << " " << VERSION_NUMBER.c_str() << endl; @@ -53,6 +55,7 @@ void PrintVersion(const char *sName) cout << "Uses " << ID3LIB_FULL_NAME << endl << endl; } +static void PrintInformation(const ID3_Tag &myTag) { ID3_Tag::ConstIterator* iter = myTag.CreateIterator(); @@ -309,7 +312,7 @@ void PrintInformation(const ID3_Tag &myT #define DEBUG -int main( unsigned int argc, char * const argv[]) +int main( int argc, char * const argv[]) { ID3D_INIT_DOUT(); [FILE:1055:patches/patch-examples_demo__tag.cpp] --- examples/demo_tag.cpp.orig 2003-03-02 00:23:00 UTC +++ examples/demo_tag.cpp @@ -16,8 +16,9 @@ using std::cout; using std::endl; -static const char* VERSION_NUMBER = "$Revision: 1.15 $"; +static const char* VERSION_NUMBER = "@PORTVERSION@"; +static void PrintUsage(const char *sName) { cout << "Will render both types of tag by default. Only the last" << endl @@ -27,6 +28,7 @@ void PrintUsage(const char *sName) << "render them." << endl; } +static void PrintVersion(const char *sName) { cout << "Uses " << ID3LIB_FULL_NAME << endl << endl; @@ -34,6 +36,7 @@ void PrintVersion(const char *sName) cout << "This program tags mp3 files with ID3v1/1.1 and/or id3v2 tags" << endl; } +static void DisplayTags(ostream &os, luint nTags) { if (!((nTags & ID3TT_ID3V1) || (nTags & ID3TT_ID3V2))) @@ -46,7 +49,7 @@ void DisplayTags(ostream &os, luint nTag os << "v2"; } -int main( unsigned int argc, char * const argv[]) +int main( int argc, char * const argv[]) { int ulFlag = ID3TT_ID3; ID3D_INIT_DOUT(); [FILE:334:patches/patch-include_id3_globals.h] --- include/id3/globals.h.orig 2003-03-02 00:23:00 UTC +++ include/id3/globals.h @@ -480,7 +480,7 @@ ID3_ENUM(Mp3_Frequencies) MP3FREQUENCIES_24000HZ = 24000, MP3FREQUENCIES_32000HZ = 32000, MP3FREQUENCIES_48000HZ = 48000, - MP3FREQUENCIES_44100HZ = 44100, + MP3FREQUENCIES_44100HZ = 44100 }; ID3_ENUM(Mp3_ChannelMode) [FILE:285:patches/patch-include_id3_id3lib__strings.h] --- include/id3/id3lib_strings.h.orig 2003-03-02 00:23:00 UTC +++ include/id3/id3lib_strings.h @@ -30,6 +30,7 @@ #define _ID3LIB_STRINGS_H_ #include +#include #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000)) namespace std [FILE:267:patches/patch-include_id3_writers.h] --- include/id3/writers.h.orig 2003-03-02 00:23:00 UTC +++ include/id3/writers.h @@ -30,7 +30,7 @@ #include "id3/writer.h" #include "id3/id3lib_streams.h" -//#include +#include class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer { [FILE:541:patches/patch-io_helpers.cpp] --- src/io_helpers.cpp.orig 2003-03-02 00:23:00 UTC +++ src/io_helpers.cpp @@ -363,9 +363,10 @@ size_t io::writeUnicodeText(ID3_Writer& // Write the BOM: 0xFEFF unicode_t BOM = 0xFEFF; writer.writeChars((const unsigned char*) &BOM, 2); + const unsigned char* pdata = (const unsigned char*)data.c_str(); for (size_t i = 0; i < size; i += 2) { - unicode_t ch = (data[i] << 8) | data[i+1]; + unicode_t ch = (pdata[i] << 8) | pdata[i+1]; writer.writeChars((const unsigned char*) &ch, 2); } } [FILE:480:patches/patch-src_Makefile.in] --- src/Makefile.in.orig 2003-03-02 00:23:00 UTC +++ src/Makefile.in @@ -287,7 +287,7 @@ clean-libLTLIBRARIES: rm -f "$${dir}/so_locations"; \ done libid3.la: $(libid3_la_OBJECTS) $(libid3_la_DEPENDENCIES) - $(CXXLINK) -rpath $(libdir) $(libid3_la_LDFLAGS) $(libid3_la_OBJECTS) $(libid3_la_LIBADD) $(LIBS) + $(CXXLINK) -rpath $(libdir) $(libid3_la_LDFLAGS) $(libid3_la_OBJECTS) $(libid3_la_LIBADD) $(LIBS) -lstdc++ mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core [FILE:314:patches/patch-src_field__string__unicode.cpp] --- src/field_string_unicode.cpp.orig 2003-03-02 00:23:00 UTC +++ src/field_string_unicode.cpp @@ -27,6 +27,7 @@ #include "field_impl.h" #include "id3/utils.h" // has "id3/id3lib_streams.h" "id3/globals.h" "id3/id3lib_strings.h" #include "io_helpers.h" +#include using namespace dami; [FILE:505:patches/patch-src_mp3__parse.cpp] --- src/mp3_parse.cpp.orig 2003-03-02 00:23:00 UTC +++ src/mp3_parse.cpp @@ -465,7 +465,7 @@ bool Mp3Info::Parse(ID3_Reader& reader, // from http://www.xingtech.com/developer/mp3/ const size_t VBR_HEADER_MIN_SIZE = 8; // "xing" + flags are fixed - const size_t VBR_HEADER_MAX_SIZE = 116; // frames, bytes, toc and scale are optional + const size_t VBR_HEADER_MAX_SIZE = 120; // frames, bytes, toc and scale are optional if (mp3size >= vbr_header_offest + VBR_HEADER_MIN_SIZE) {