* add id3lib

This commit is contained in:
Alexander Baldeck 2019-07-30 06:42:01 +00:00
parent 26c3002f8e
commit 146374cc6a
14 changed files with 724 additions and 0 deletions

View File

@ -0,0 +1,14 @@
This patch was first introduced in version 3.8.3-3
It fixes http://bugs.debian.org/208672
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -74,6 +74,8 @@
if ID3_NEEDZLIB
LDADD = $(top_builddir)/zlib/src/libz.la
+else
+libid3_la_LIBADD = -lz
endif
libid3_la_LDFLAGS = \

View File

@ -0,0 +1,12 @@
Create a local m4 subdirectory
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,6 +12,8 @@
# require automake 1.5
AUTOMAKE_OPTIONS = 1.5
+ACLOCAL_AMFLAGS = -I m4
+
EXTRA_DIST = \
HISTORY \
config.h.win32 \

View File

@ -0,0 +1,22 @@
This patch imports the proper C++ headers
--- a/include/id3/id3lib_strings.h
+++ b/include/id3/id3lib_strings.h
@@ -30,6 +30,7 @@
#define _ID3LIB_STRINGS_H_
#include <string>
+#include <cstring>
#if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
namespace std
--- a/include/id3/writers.h
+++ b/include/id3/writers.h
@@ -30,7 +30,7 @@
#include "id3/writer.h"
#include "id3/id3lib_streams.h"
-//#include <string.h>
+#include <cstring>
class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
{

View File

@ -0,0 +1,45 @@
This patch fixes some function headers in demo code used during 'make check'
--- a/examples/demo_info.cpp
+++ b/examples/demo_info.cpp
@@ -309,7 +309,7 @@
#define DEBUG
-int main( unsigned int argc, char * const argv[])
+int main(int argc, char * const argv[])
{
ID3D_INIT_DOUT();
--- a/examples/demo_convert.cpp
+++ b/examples/demo_convert.cpp
@@ -84,7 +84,7 @@
}
}
-int main( unsigned int argc, char * const argv[])
+int main(int argc, char * const argv[])
{
flags_t ulFlag = ID3TT_ALL;
gengetopt_args_info args;
--- a/examples/demo_copy.cpp
+++ b/examples/demo_copy.cpp
@@ -81,7 +81,7 @@
}
}
-int main( unsigned int argc, char * const argv[])
+int main(int argc, char * const argv[])
{
int ulFlag = ID3TT_ID3;
ID3D_INIT_DOUT();
--- a/examples/demo_tag.cpp
+++ b/examples/demo_tag.cpp
@@ -46,7 +46,7 @@
os << "v2";
}
-int main( unsigned int argc, char * const argv[])
+int main(int argc, char * const argv[])
{
int ulFlag = ID3TT_ID3;
ID3D_INIT_DOUT();

View File

@ -0,0 +1,198 @@
This patch adds debian-made man pages
--- /dev/null
+++ b/doc/man/id3info.1
@@ -0,0 +1,31 @@
+.TH ID3INFO 1 "May 2000" local "User Command"
+.SH NAME
+id3info \- Display id3 tag information.
+.SH SYNOPSIS
+.B id3info
+.RB [
+.I OPTION
+.RB ]
+.RB [
+.I FILE
+.RB ]
+.br
+.SH DESCRIPTION
+.B Id3info
+displays both the id3v1 and id3v2 tag information for a file.
+Id3info will not differentiate between the two types of tags.
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Display help and exit
+.TP
+.B \-v, \-\-version
+Display version information and exit
+.SH SEE ALSO
+id3convert(1), id3tag(1), id3v2(1)
+.SH AUTHOR
+.B id3lib
+was originally designed and implemented by Dirk Mahoney and is
+maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
+Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
+
--- /dev/null
+++ b/doc/man/id3tag.1
@@ -0,0 +1,69 @@
+.TH ID3TAG 1 "May 2000" local "User Command"
+.SH NAME
+id3tag \- Tags an mp3 file with id3v1 and/or id3v2 tags.
+.SH SYNOPSIS
+.B id3tag
+.RB [
+.I OPTION
+.RB ] ...
+.RB [
+.I FILE
+.RB ] ...
+.br
+.SH DESCRIPTION
+.B Id3tag
+will render both types of tag by default. Only the last
+tag type indicated in the option list will be used. Non-
+rendered will remain unchanged in the original file. Will
+also parse and convert Lyrics3 v2.0 frames, but will not
+render them.
+
+.SH OPTIONS
+.TP
+.B \-1, \-\-v1tag
+Render only the id3v1 tag
+.TP
+.B \-2, \-\-v2tag
+Render only the id3v2 tag
+.TP
+.B \-h, \-\-help
+Display help and exit
+.TP
+.B \-v, \-\-version
+Display version information and exit
+.TP
+.B \-a, \-\-artist ARTIST
+Set the artist information
+.TP
+.B \-s, \-\-song SONG
+Set the song title information
+.TP
+.B \-A, \-\-album ALBUM
+Set the album title information
+.TP
+.B \-c, \-\-comment COMMENT
+Set the comment information
+.TP
+.B \-C, \-\-desc DESCRIPTION
+Set the comment description
+.TP
+.B \-g, \-\-genre num
+Set the genre number
+.TP
+.B \-y, \-\-year num
+Set the year
+.TP
+.B \-t, \-\-track num
+Set the track number
+.TP
+.B \-T, \-\-total num
+Set the total number of tracks on the album
+
+.SH SEE ALSO
+id3convert(1), id3info(1), id3v2(1)
+.SH AUTHOR
+.B id3lib
+was originally designed and implemented by Dirk Mahoney and is
+maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
+Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
+
--- /dev/null
+++ b/doc/man/id3convert.1
@@ -0,0 +1,47 @@
+.TH ID3CONVERT 1 "May 2000" local "User Command"
+.SH NAME
+id3convert \- Converts between id3v1 and id3v2 tags of an mp3 file.
+.SH SYNOPSIS
+.B id3convert
+.RB [
+.I OPTION
+.RB ]
+.RB [
+.I FILE
+.RB ]
+.br
+.SH DESCRIPTION
+.B Id3convert
+converts between id3v1 and id3v2 tags of an mp3 file. Id3convert will render
+both types of tag by default. Only the last tag type indicated in the option
+list will be used. Non-rendered tags will remain unchanged in the original
+file. Id3convert will also parse and convert Lyrics3 v2.0 frames, but will
+not render them.
+
+.SH OPTIONS
+.TP
+.B \-1, \-\-v1tag
+Render only the id3v1 tag
+.TP
+.B \-2, \-\-v2tag
+Render only the id3v2 tag
+.TP
+.B \-s, \-\-strip
+Strip, rather than render, the tags
+.TP
+.B \-p, \-\-padding
+Use padding in the tag
+.TP
+.B \-h, \-\-help
+Display help and exit
+.TP
+.B \-v, \-\-version
+Display version information and exit
+
+.SH SEE ALSO
+id3tag(1), id3info(1), id3v2(1)
+.SH AUTHOR
+.B id3lib
+was originally designed and implemented by Dirk Mahoney and is
+maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
+Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
--- /dev/null
+++ b/doc/man/id3cp.1
@@ -0,0 +1,38 @@
+.TH ID3CP 1 "July 2001" local "User Command"
+.SH NAME
+id3cp \- Copies tags from one file to another.
+.SH SYNOPSIS
+.B id3cp
+.RB [
+.I OPTION
+.RB ] ...
+.RB [
+.I SOURCE
+.RB ]
+.RB [
+.I DEST
+.RB ]
+.br
+.SH DESCRIPTION
+.B Id3cp
+copies tags from SOURCE to DEST.
+.SH OPTIONS
+.TP
+.B \-1, \-\-v1tag
+Render only the id3v1 tag
+.TP
+.B \-2, \-\-v2tag
+Render only the id3v2 tag
+.TP
+.B \-h, \-\-help
+Display help and exit
+.TP
+.B \-v, \-\-version
+Display version information and exit
+.SH SEE ALSO
+id3convert(1), id3info(1), id3v2(1)
+.SH AUTHOR
+.B id3lib
+was originally designed and implemented by Dirk Mahoney and is
+maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
+Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.

38
id3lib/30-fix-utf16.patch Normal file
View File

@ -0,0 +1,38 @@
Patch from 'Spoon' to fix issues with writing certain unicode characters
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-17 Jerome Couderc
+
+ * Patch from Spoon to fix UTF-16 writing bug
+ http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
+
2003-03-02 Sunday 17:38 Thijmen Klok <thijmen@id3lib.org>
* THANKS (1.20): added more people
--- a/src/io_helpers.cpp
+++ b/src/io_helpers.cpp
@@ -363,11 +363,22 @@
// Write the BOM: 0xFEFF
unicode_t BOM = 0xFEFF;
writer.writeChars((const unsigned char*) &BOM, 2);
+ // Patch from Spoon : 2004-08-25 14:17
+ // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
+ // Wrong code
+ //for (size_t i = 0; i < size; i += 2)
+ //{
+ // unicode_t ch = (data[i] << 8) | data[i+1];
+ // writer.writeChars((const unsigned char*) &ch, 2);
+ //}
+ // Right code
+ unsigned char *pdata = (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);
}
+ // End patch
}
return writer.getCur() - beg;
}

View File

@ -0,0 +1,54 @@
This patch fixes an issues where temporary files were created in an insecure
way.
It was first intruduced in version 3.8.3-7 and fixes
http://bugs.debian.org/438540
--- a/src/tag_file.cpp
+++ b/src/tag_file.cpp
@@ -242,8 +242,8 @@
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 @@
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 @@
//ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file");
}
- ofstream tmpOut(fd);
+ ofstream tmpOut(sTempFile);
if (!tmpOut)
{
tmpOut.close();
@@ -285,14 +285,14 @@
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();

View File

@ -0,0 +1,11 @@
We don't actually need iomanip.h
--- a/configure.in
+++ b/configure.in
@@ -227,7 +227,6 @@
)
AC_CHECK_HEADERS( \
string \
- iomanip.h \
,,AC_MSG_ERROR([Missing a vital header file for id3lib])
)

View File

@ -0,0 +1,58 @@
This patch adds C wrapper functions for field encoding.
It was first introduced in version 3.8.3-8 and fixes
http://bugs.debian.org/281292
--- a/include/id3.h
+++ b/include/id3.h
@@ -104,6 +104,9 @@
ID3_C_EXPORT void CCONV ID3Field_GetBINARY (const ID3Field *field, uchar *buffer, size_t buffLength);
ID3_C_EXPORT void CCONV ID3Field_FromFile (ID3Field *field, const char *fileName);
ID3_C_EXPORT void CCONV ID3Field_ToFile (const ID3Field *field, const char *fileName);
+ ID3_C_EXPORT bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc);
+ ID3_C_EXPORT ID3_TextEnc CCONV ID3Field_GetEncoding (const ID3Field *field);
+ ID3_C_EXPORT bool CCONV ID3Field_IsEncodable (const ID3Field *field);
/* field-info wrappers */
ID3_C_EXPORT char* CCONV ID3FrameInfo_ShortName (ID3_FrameID frameid);
--- a/src/c_wrapper.cpp
+++ b/src/c_wrapper.cpp
@@ -681,6 +681,39 @@
}
}
+ ID3_C_EXPORT bool CCONV
+ ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc)
+ {
+ bool changed = false;
+ if (field)
+ {
+ ID3_CATCH(changed = reinterpret_cast<ID3_Field *>(field)->SetEncoding(enc));
+ }
+ return changed;
+ }
+
+ ID3_C_EXPORT ID3_TextEnc CCONV
+ ID3Field_GetEncoding(const ID3Field *field)
+ {
+ ID3_TextEnc enc = ID3TE_NONE;
+ if (field)
+ {
+ ID3_CATCH(enc = reinterpret_cast<const ID3_Field *>(field)->GetEncoding());
+ }
+ return enc;
+ }
+
+ ID3_C_EXPORT bool CCONV
+ ID3Field_IsEncodable(const ID3Field *field)
+ {
+ bool isEncodable = false;
+ if (field)
+ {
+ ID3_CATCH(isEncodable = reinterpret_cast<const ID3_Field *>(field)->IsEncodable());
+ }
+ return isEncodable;
+ }
+
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@ -0,0 +1,50 @@
This patch fixes some function headers and imports in order for 'make check'
to work.
It was first introduced in version 3.8.3-9
diff -Naur id3lib-3.8.3.orig/examples/findeng.cpp id3lib-3.8.3/examples/findeng.cpp
--- id3lib-3.8.3.orig/examples/findeng.cpp 2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/examples/findeng.cpp 2009-12-10 00:58:12.173795997 +0100
@@ -9,7 +9,7 @@
using std::cout;
using std::endl;
-int main(unsigned argc, char* argv[])
+int main(int argc, char* argv[])
{
ID3D_INIT_DOUT();
ID3D_INIT_WARNING();
diff -Naur id3lib-3.8.3.orig/examples/findstr.cpp id3lib-3.8.3/examples/findstr.cpp
--- id3lib-3.8.3.orig/examples/findstr.cpp 2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/examples/findstr.cpp 2009-12-10 00:57:48.036819825 +0100
@@ -9,7 +9,7 @@
using std::cout;
using std::endl;
-int main(unsigned argc, char* argv[])
+int main(int argc, char* argv[])
{
ID3D_INIT_DOUT();
ID3D_INIT_WARNING();
diff -Naur id3lib-3.8.3.orig/examples/test_io.cpp id3lib-3.8.3/examples/test_io.cpp
--- id3lib-3.8.3.orig/examples/test_io.cpp 2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/examples/test_io.cpp 2009-12-10 00:57:03.612111640 +0100
@@ -11,6 +11,9 @@
#include <id3/io_strings.h>
#include <id3/utils.h>
+using std::cin;
+using std::hex;
+using std::dec;
using std::cout;
using std::endl;
using std::cerr;
@@ -18,7 +21,7 @@
using namespace dami;
int
-main(size_t argc, const char** argv)
+main(int argc, const char** argv)
{
ID3D_INIT_DOUT();
ID3D_INIT_WARNING();

View File

@ -0,0 +1,12 @@
This patch adds a check for a null pointer
--- a/src/header_tag.cpp
+++ b/src/header_tag.cpp
@@ -54,7 +54,7 @@
{
size_t bytesUsed = ID3_TagHeader::SIZE;
- if (_info->is_extended)
+ if (_info && _info->is_extended)
{
bytesUsed += _info->extended_bytes;
}

107
id3lib/60-spelling.patch Normal file
View File

@ -0,0 +1,107 @@
This patch fixes some minor spelling mistakes
diff -Naur id3lib-3.8.3.orig//ChangeLog id3lib-3.8.3//ChangeLog
--- id3lib-3.8.3.orig//ChangeLog 2010-06-08 05:21:47.817061336 +0200
+++ id3lib-3.8.3//ChangeLog 2010-06-08 05:21:05.320811354 +0200
@@ -2266,7 +2266,7 @@
* examples/demo_info.cpp (1.19):
(PrintInformation): When printing synced lyrics info, now uses a
MemoryReader, BinaryNumberReader, and TextReader to extract the
- infromation from the binary field. This is a cheat, since these
+ information from the binary field. This is a cheat, since these
classes aren't normally exposed to folks using the library.
Hopefully they will be exposed soon enough for the next major
release.
diff -Naur id3lib-3.8.3.orig//doc/id3v2.3.0.html id3lib-3.8.3//doc/id3v2.3.0.html
--- id3lib-3.8.3.orig//doc/id3v2.3.0.html 2010-06-08 05:21:47.859810543 +0200
+++ id3lib-3.8.3//doc/id3v2.3.0.html 2010-06-08 05:21:05.373811128 +0200
@@ -2157,7 +2157,7 @@
64.Native American
65.Cabaret
66.New Wave
- 67.Psychadelic
+ 67.Psychedelic
68.Rave
69.Showtunes
70.Trailer
@@ -2254,4 +2254,4 @@
Email: <a href="mailto:johan@id3.org">johan@id3.org</a>
</p>
-</body></html>
\ No newline at end of file
+</body></html>
diff -Naur id3lib-3.8.3.orig//doc/id3v2.3.0.txt id3lib-3.8.3//doc/id3v2.3.0.txt
--- id3lib-3.8.3.orig//doc/id3v2.3.0.txt 2010-06-08 05:21:47.860810639 +0200
+++ id3lib-3.8.3//doc/id3v2.3.0.txt 2010-06-08 05:21:05.374811307 +0200
@@ -1929,7 +1929,7 @@
64.Native American
65.Cabaret
66.New Wave
- 67.Psychadelic
+ 67.Psychedelic
68.Rave
69.Showtunes
70.Trailer
diff -Naur id3lib-3.8.3.orig//id3com/id3com.idl id3lib-3.8.3//id3com/id3com.idl
--- id3lib-3.8.3.orig//id3com/id3com.idl 2010-06-08 05:21:47.818060988 +0200
+++ id3lib-3.8.3//id3com/id3com.idl 2010-06-08 05:21:05.355061546 +0200
@@ -179,7 +179,7 @@
/* USER */ ID3_TERMSOFUSE, /**< Terms of use */
/* USLT */ ID3_UNSYNCEDLYRICS, /**< Unsynchronized lyric/text transcription */
/* WCOM */ ID3_WWWCOMMERCIALINFO, /**< Commercial information */
- /* WCOP */ ID3_WWWCOPYRIGHT, /**< Copyright/Legal infromation */
+ /* WCOP */ ID3_WWWCOPYRIGHT, /**< Copyright/Legal information */
/* WOAF */ ID3_WWWAUDIOFILE, /**< Official audio file webpage */
/* WOAR */ ID3_WWWARTIST, /**< Official artist/performer webpage */
/* WOAS */ ID3_WWWAUDIOSOURCE, /**< Official audio source webpage */
diff -Naur id3lib-3.8.3.orig//include/id3/globals.h id3lib-3.8.3//include/id3/globals.h
--- id3lib-3.8.3.orig//include/id3/globals.h 2010-06-08 05:21:47.818060988 +0200
+++ id3lib-3.8.3//include/id3/globals.h 2010-06-08 05:22:27.395811102 +0200
@@ -313,7 +313,7 @@
/* USER */ ID3FID_TERMSOFUSE, /**< Terms of use */
/* USLT */ ID3FID_UNSYNCEDLYRICS, /**< Unsynchronized lyric/text transcription */
/* WCOM */ ID3FID_WWWCOMMERCIALINFO, /**< Commercial information */
- /* WCOP */ ID3FID_WWWCOPYRIGHT, /**< Copyright/Legal infromation */
+ /* WCOP */ ID3FID_WWWCOPYRIGHT, /**< Copyright/Legal information */
/* WOAF */ ID3FID_WWWAUDIOFILE, /**< Official audio file webpage */
/* WOAR */ ID3FID_WWWARTIST, /**< Official artist/performer webpage */
/* WOAS */ ID3FID_WWWAUDIOSOURCE, /**< Official audio source webpage */
@@ -608,7 +608,7 @@
"Native American", //64
"Cabaret", //65
"New Wave", //66
- "Psychadelic", //67
+ "Psychedelic", //67
"Rave", //68
"Showtunes", //69
"Trailer", //70
@@ -686,7 +686,7 @@
"Christian Rock ", //141
"Merengue", //142
"Salsa", //143
- "Trash Metal", //144
+ "Thrash Metal", //144
"Anime", //145
"JPop", //146
"Synthpop" //147
diff -Naur id3lib-3.8.3.orig//src/field.cpp id3lib-3.8.3//src/field.cpp
--- id3lib-3.8.3.orig//src/field.cpp 2010-06-08 05:21:47.818060988 +0200
+++ id3lib-3.8.3//src/field.cpp 2010-06-08 05:21:05.373811128 +0200
@@ -719,7 +719,7 @@
// USER ID3FID_TERMSOFUSE Terms of use
// USLT ULT ID3FID_UNSYNCEDLYRICS Unsynchronized lyric/text transcription
// WCOM WCM ID3FID_WWWCOMMERCIALINFO Commercial information
-// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal infromation
+// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal information
// WOAF WCP ID3FID_WWWAUDIOFILE Official audio file webpage
// WOAR WAF ID3FID_WWWARTIST Official artist/performer webpage
// WOAS WAR ID3FID_WWWAUDIOSOURCE Official audio source webpage
@@ -813,7 +813,7 @@
{ID3FID_TERMSOFUSE, "" , "USER", false, false, ID3FD_TermsOfUse, "Terms of use"},
{ID3FID_UNSYNCEDLYRICS, "ULT", "USLT", false, false, ID3FD_GeneralText, "Unsynchronized lyric/text transcription"},
{ID3FID_WWWCOMMERCIALINFO, "WCM", "WCOM", false, false, ID3FD_URL, "Commercial information"},
- {ID3FID_WWWCOPYRIGHT, "WCP", "WCOP", false, false, ID3FD_URL, "Copyright/Legal infromation"},
+ {ID3FID_WWWCOPYRIGHT, "WCP", "WCOP", false, false, ID3FD_URL, "Copyright/Legal information"},
{ID3FID_WWWAUDIOFILE, "WAF", "WOAF", false, false, ID3FD_URL, "Official audio file webpage"},
{ID3FID_WWWARTIST, "WAR", "WOAR", false, false, ID3FD_URL, "Official artist/performer webpage"},
{ID3FID_WWWAUDIOSOURCE, "WAS", "WOAS", false, false, ID3FD_URL, "Official audio source webpage"},

View File

@ -0,0 +1,19 @@
Description: Fix crashes when reading VBR MP3 file.
Bug-Ubuntu: https://launchpad.net/bugs/444466
Origin: upstream, http://sourceforge.net/tracker/?func=detail&aid=937707&group_id=979&atid=300979
Forwarded: yes
Author: Urs Fleisch
Index: id3lib3.8.3-3.8.3/src/mp3_parse.cpp
===================================================================
--- id3lib3.8.3-3.8.3.orig/src/mp3_parse.cpp 2009-10-06 23:12:10.381250132 +0200
+++ id3lib3.8.3-3.8.3/src/mp3_parse.cpp 2009-10-06 23:14:09.545252591 +0200
@@ -465,7 +465,7 @@
// 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)
{

84
id3lib/PKGBUILD Normal file
View File

@ -0,0 +1,84 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer : Guillaume ALAUX <guillaume@archlinux.org>
# Contributor: Jochem Kossen <j.kossen@home.nl>
# Contributor: rtfreedman <rob.til.freedman@googlemail.com>
pkgname=id3lib
pkgver=3.8.3
pkgrel=17
pkgdesc='Library for reading, writing, and manipulating ID3v1 and ID3v2 tags'
arch=(x86_64 powerpc64le)
license=('LGPL')
url="http://id3lib.sourceforge.net/"
depends=('zlib' 'gcc-libs')
source=(https://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz
00-add-libz-to-compilation.patch
05-create-m4-directory.patch
10-fix-compilation-with-cpp-headers.patch
15-fix-headers-of-main-functions.patch
20-create-manpages.patch
30-fix-utf16.patch
40-deal-with-mkstemp.patch
50-remove-outdated-check.patch
60-add-c-wrapper-functions.patch
60-fix_make_check.patch
60-id3lib-missing-nullpointer-check.patch
60-spelling.patch
61-fix_vbr_stack_smash.patch)
sha256sums=('2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079'
'e884395cf0bd7b44a550fc8785d79c0992d749be1edc45b00d289cbbd179c6d5'
'c41ec6889b775119f71c25fa09bb5110bcf550a14e6aac80597479df453de5fb'
'5fb24595095596ff55d876fb3e5277000f04c4f7a3e07aff5c05e11639dc2165'
'042deb7c2df1afa0851622b6086e8eb4b007cc6cfcd70210852d5c25e39b08b1'
'97442e14a5147df36f35d6a396e2b3fb6e155060ec672d91a68bd1a742234b4e'
'a7cce4176df773677bfc6a527a0465d460fe60a269402af9bdfc9dd6104ea6a4'
'd7999cdb425ba8013dd11da7fb570e875d368e5b1236c2b094abee8446f04218'
'f908af7715fb164081d191c766b040cefa0a94f1414e98f60bc38b3e0b1aa309'
'1b06c5d2c36e6a1f2236c4603a934d8cd675414dcfd52b997cb584404c0bc77d'
'88aded7423f266d2fedb0eef9dbb272b53cc776ae98bd71dd5afb30b6ac48515'
'85f20c4d3467f48df1bcaa4150bae55e95270cabb542589f167a914b2f553d04'
'b31bfa7213325776f6784a684f082814d3affb050d36a7c41cf1b1df07228c5c'
'5a24d460c9dd1e643ac57b817ea9cec87f44c1d49381065f83879b2eea36adf7')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
patch -p1 -i ../00-add-libz-to-compilation.patch
patch -p1 -i ../05-create-m4-directory.patch
patch -p1 -i ../10-fix-compilation-with-cpp-headers.patch
patch -p1 -i ../15-fix-headers-of-main-functions.patch
patch -p1 -i ../20-create-manpages.patch
patch -p1 -i ../30-fix-utf16.patch
patch -p1 -i ../40-deal-with-mkstemp.patch
patch -p1 -i ../60-add-c-wrapper-functions.patch
patch -p1 -i ../60-fix_make_check.patch
patch -p1 -i ../60-id3lib-missing-nullpointer-check.patch
patch -p1 -i ../60-spelling.patch
patch -p1 -i ../61-fix_vbr_stack_smash.patch
patch -p1 -i ../50-remove-outdated-check.patch
libtoolize -fc
aclocal
autoconf
automake --add-missing --copy
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --build=${CHOST}
make
}
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
make check
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
install -d "${pkgdir}"/usr/share/man/man1
cp doc/man/* "${pkgdir}"/usr/share/man/man1
}