* add id3lib
This commit is contained in:
parent
26c3002f8e
commit
146374cc6a
14
id3lib/00-add-libz-to-compilation.patch
Normal file
14
id3lib/00-add-libz-to-compilation.patch
Normal 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 = \
|
12
id3lib/05-create-m4-directory.patch
Normal file
12
id3lib/05-create-m4-directory.patch
Normal 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 \
|
22
id3lib/10-fix-compilation-with-cpp-headers.patch
Normal file
22
id3lib/10-fix-compilation-with-cpp-headers.patch
Normal 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
|
||||
{
|
45
id3lib/15-fix-headers-of-main-functions.patch
Normal file
45
id3lib/15-fix-headers-of-main-functions.patch
Normal 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();
|
198
id3lib/20-create-manpages.patch
Normal file
198
id3lib/20-create-manpages.patch
Normal 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
38
id3lib/30-fix-utf16.patch
Normal 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;
|
||||
}
|
54
id3lib/40-deal-with-mkstemp.patch
Normal file
54
id3lib/40-deal-with-mkstemp.patch
Normal 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();
|
11
id3lib/50-remove-outdated-check.patch
Normal file
11
id3lib/50-remove-outdated-check.patch
Normal 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])
|
||||
)
|
||||
|
58
id3lib/60-add-c-wrapper-functions.patch
Normal file
58
id3lib/60-add-c-wrapper-functions.patch
Normal 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 */
|
50
id3lib/60-fix_make_check.patch
Normal file
50
id3lib/60-fix_make_check.patch
Normal 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();
|
12
id3lib/60-id3lib-missing-nullpointer-check.patch
Normal file
12
id3lib/60-id3lib-missing-nullpointer-check.patch
Normal 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
107
id3lib/60-spelling.patch
Normal 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"},
|
19
id3lib/61-fix_vbr_stack_smash.patch
Normal file
19
id3lib/61-fix_vbr_stack_smash.patch
Normal 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
84
id3lib/PKGBUILD
Normal 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
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user