summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Drobek <dominik.drobek (at) o2.pl>2020-01-25 07:24:27 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-01-25 07:24:27 +0700
commit10d40f27c9f65ef1bf2f7169bb5fd62dd81a20fa (patch)
treede933c7222855d085f9e2c16fd6713750eebbe9c
parenta1cbb9d55171f9913d5c1ebdb957075122937b1f (diff)
downloadslackbuilds-10d40f27c9f65ef1bf2f7169bb5fd62dd81a20fa.tar.gz
libraries/id3lib: Add upstream patches.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--libraries/id3lib/README11
-rw-r--r--libraries/id3lib/id3lib.SlackBuild74
-rw-r--r--libraries/id3lib/patches/00-add-libz-to-compilation.patch14
-rw-r--r--libraries/id3lib/patches/05-create-m4-directory.patch12
-rw-r--r--libraries/id3lib/patches/10-fix-compilation-with-cpp-headers.patch22
-rw-r--r--libraries/id3lib/patches/10-foo-with-configure.in.patch29
-rw-r--r--libraries/id3lib/patches/15-fix-headers-of-main-functions.patch45
-rw-r--r--libraries/id3lib/patches/20-create-manpages.patch198
-rw-r--r--libraries/id3lib/patches/30-fix-utf16.patch (renamed from libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch)11
-rw-r--r--libraries/id3lib/patches/31-fix-utf16-stringlists.patch24
-rw-r--r--libraries/id3lib/patches/40-deal-with-mkstemp.patch54
-rw-r--r--libraries/id3lib/patches/50-remove-outdated-check.patch11
-rw-r--r--libraries/id3lib/patches/60-add-c-wrapper-functions.patch58
-rw-r--r--libraries/id3lib/patches/60-fix_make_check.patch50
-rw-r--r--libraries/id3lib/patches/60-id3lib-missing-nullpointer-check.patch12
-rw-r--r--libraries/id3lib/patches/60-spelling.patch107
-rw-r--r--libraries/id3lib/patches/61-fix_vbr_stack_smash.patch19
-rw-r--r--libraries/id3lib/patches/62-remove-remote-icons.patch32
-rw-r--r--libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch90
-rw-r--r--libraries/id3lib/patches/id3lib_Doxyfile.patch22
-rw-r--r--libraries/id3lib/slack-desc6
21 files changed, 735 insertions, 166 deletions
diff --git a/libraries/id3lib/README b/libraries/id3lib/README
index 1200e808a8..5f549353c1 100644
--- a/libraries/id3lib/README
+++ b/libraries/id3lib/README
@@ -1,13 +1,10 @@
-This package provides a software library for manipulating ID3v1 and
-ID3v2 tags. It provides a convenient interface for software
+This package provides a software library for manipulating ID3v1
+and ID3v2 tags. It provides a convenient interface for software
developers to include standards-compliant ID3v1/2 tagging
capabilities in their applications.
+
Features include identification of valid tags, automatic size
conversions, (re)synchronisation of tag frames, seamless tag
(de)compression, and optional padding facilities.
-This has been patched with the latest UTF16bugfix patch so that
-it correctly writes UTF8 and 16 files.
-
-This SlackBuild is heavily based on alienBob's, but with added
-patch for correct UTF handling and some other minor changes.
+This SlackBuild applies all patches provided by Debian team.
diff --git a/libraries/id3lib/id3lib.SlackBuild b/libraries/id3lib/id3lib.SlackBuild
index d0b72264bf..6648f4bed7 100644
--- a/libraries/id3lib/id3lib.SlackBuild
+++ b/libraries/id3lib/id3lib.SlackBuild
@@ -2,7 +2,11 @@
# Slackware build script for id3lib
-# Copyright 2006 Halim Issa <yallaone@gmail.com>
+# Heavily based on original slackbuild by AlienBOB.
+# Modified by Robby Workman <rworkman@slackbuilds.org>
+# Copyright 2006-2010 Halim Issa <yallaone@gmail.com>
+# Copyright 2020 Dominik Drobek <dominik.drobek (at) o2.pl>
+# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -10,28 +14,25 @@
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Heavily based on original slackbuild by AlienBOB.
-# Modified by Robby Workman <rworkman@slackbuilds.org>
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=id3lib
VERSION=${VERSION:-3.8.3}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -42,15 +43,14 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
- SLKLDFLAGS="-L/usr/lib64"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
@@ -70,13 +70,14 @@ find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-patch -p1 < $CWD/patches/id3lib_3.8.3_UTF16_writing_bug.patch
-patch -p1 < $CWD/patches/id3lib-3.8.3-GCC43FIX-1.patch
-patch -p1 -d doc < $CWD/patches/id3lib_Doxyfile.patch
+# Apply all available patches provided by Debian
+# https://sources.debian.org/patches/id3lib3.8.3/3.8.3-16.2/
+find $CWD/patches/ -type f | sort -n |
+ while read patch; do patch -p1 -i $patch; done
-# iomanip.h is obsolete; use the standard c++ header
+# iomanip.h is obsolete; use the standard C++ header:
sed -i "s%iomanip.h%iomanip%g" configure
CFLAGS="$SLKCFLAGS" \
@@ -84,36 +85,33 @@ CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
--sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
--enable-static=no \
--enable-debug=no \
--build=$ARCH-slackware-linux
make
-make docs 2>/dev/null || true
make install DESTDIR=$PKG
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+mkdir -p $PKG/usr/man/man1
+cp -a doc/man/* $PKG/usr/man/man1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Strip down the doc and examples directories so we can copy w/impunity
-for i in doc/ examples/; do \
- find $i \
- \( -name 'Makefile*' -or -name '*.ps.gz' -or -name '*.pdf' -or -name '*.in' \
- \) -exec rm {} \; ; done
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- AUTHORS COPYING ChangeLog HISTORY NEWS README THANKS TODO doc/* \
- $PKG/usr/doc/$PRGNAM-$VERSION
-find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 0644 {} \;
-# Remove the massive amount of API docs
-rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/api
+ AUTHORS COPYING ChangeLog HISTORY NEWS README THANKS TODO doc/*.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-chmod -R o-w $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/libraries/id3lib/patches/00-add-libz-to-compilation.patch b/libraries/id3lib/patches/00-add-libz-to-compilation.patch
new file mode 100644
index 0000000000..e937877364
--- /dev/null
+++ b/libraries/id3lib/patches/00-add-libz-to-compilation.patch
@@ -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 = \
diff --git a/libraries/id3lib/patches/05-create-m4-directory.patch b/libraries/id3lib/patches/05-create-m4-directory.patch
new file mode 100644
index 0000000000..d8111205eb
--- /dev/null
+++ b/libraries/id3lib/patches/05-create-m4-directory.patch
@@ -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 \
diff --git a/libraries/id3lib/patches/10-fix-compilation-with-cpp-headers.patch b/libraries/id3lib/patches/10-fix-compilation-with-cpp-headers.patch
new file mode 100644
index 0000000000..a9b45ab02c
--- /dev/null
+++ b/libraries/id3lib/patches/10-fix-compilation-with-cpp-headers.patch
@@ -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
+ {
diff --git a/libraries/id3lib/patches/10-foo-with-configure.in.patch b/libraries/id3lib/patches/10-foo-with-configure.in.patch
new file mode 100644
index 0000000000..e75689682c
--- /dev/null
+++ b/libraries/id3lib/patches/10-foo-with-configure.in.patch
@@ -0,0 +1,29 @@
+--- a/configure.in
++++ b/configure.in
+@@ -17,6 +17,8 @@
+ # init autoconf (and check for presence fo reconf)
+ AC_INIT(reconf)
+
++AC_CONFIG_MACRO_DIR([m4])
++
+ ID3LIB_NAME=id3lib
+
+ dnl The following has been adapted from glib (http://www.gtk.org)
+@@ -87,14 +89,14 @@
+
+ AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
+
++dnl Initialize maintainer mode
++AM_MAINTAINER_MODE
++
+ AC_ISC_POSIX
+
+ dnl Initialize libtool
+ AM_PROG_LIBTOOL
+
+-dnl Initialize maintainer mode
+-AM_MAINTAINER_MODE
+-
+ #AC_CANONICAL_HOST
+
+ dnl figure debugging default, prior to $ac_help setup
diff --git a/libraries/id3lib/patches/15-fix-headers-of-main-functions.patch b/libraries/id3lib/patches/15-fix-headers-of-main-functions.patch
new file mode 100644
index 0000000000..48e01d145f
--- /dev/null
+++ b/libraries/id3lib/patches/15-fix-headers-of-main-functions.patch
@@ -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();
diff --git a/libraries/id3lib/patches/20-create-manpages.patch b/libraries/id3lib/patches/20-create-manpages.patch
new file mode 100644
index 0000000000..cebf3d4d40
--- /dev/null
+++ b/libraries/id3lib/patches/20-create-manpages.patch
@@ -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>.
diff --git a/libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch b/libraries/id3lib/patches/30-fix-utf16.patch
index b05d2cf298..3d3f50fed6 100644
--- a/libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch
+++ b/libraries/id3lib/patches/30-fix-utf16.patch
@@ -1,6 +1,6 @@
-diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
---- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100
-+++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100
+Patch from 'Spoon' to fix issues with writing certain unicode characters
+--- a/ChangeLog
++++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-17 Jerome Couderc
+
@@ -10,9 +10,8 @@ diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
2003-03-02 Sunday 17:38 Thijmen Klok <thijmen@id3lib.org>
* THANKS (1.20): added more people
-diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
---- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100
-+++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100
+--- a/src/io_helpers.cpp
++++ b/src/io_helpers.cpp
@@ -363,11 +363,22 @@
// Write the BOM: 0xFEFF
unicode_t BOM = 0xFEFF;
diff --git a/libraries/id3lib/patches/31-fix-utf16-stringlists.patch b/libraries/id3lib/patches/31-fix-utf16-stringlists.patch
new file mode 100644
index 0000000000..3582238743
--- /dev/null
+++ b/libraries/id3lib/patches/31-fix-utf16-stringlists.patch
@@ -0,0 +1,24 @@
+This patch fixes tag corruption after pipe characters.
+
+Author: Urs Fleisch <urs.fleisch@gmail.com>
+Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680915
+--- a/src/io_helpers.cpp
++++ b/src/io_helpers.cpp
+@@ -373,10 +373,17 @@
+ //}
+ // Right code
+ unsigned char *pdata = (unsigned char *) data.c_str();
++ unicode_t lastCh = BOM;
+ for (size_t i = 0; i < size; i += 2)
+ {
+ unicode_t ch = (pdata[i] << 8) | pdata[i+1];
++ if (lastCh == 0 && ch != BOM)
++ {
++ // Last character was NULL, so start next string with BOM.
++ writer.writeChars((const unsigned char*) &BOM, 2);
++ }
+ writer.writeChars((const unsigned char*) &ch, 2);
++ lastCh = ch;
+ }
+ // End patch
+ }
diff --git a/libraries/id3lib/patches/40-deal-with-mkstemp.patch b/libraries/id3lib/patches/40-deal-with-mkstemp.patch
new file mode 100644
index 0000000000..36c84179fc
--- /dev/null
+++ b/libraries/id3lib/patches/40-deal-with-mkstemp.patch
@@ -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();
diff --git a/libraries/id3lib/patches/50-remove-outdated-check.patch b/libraries/id3lib/patches/50-remove-outdated-check.patch
new file mode 100644
index 0000000000..386da2771b
--- /dev/null
+++ b/libraries/id3lib/patches/50-remove-outdated-check.patch
@@ -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])
+ )
+
diff --git a/libraries/id3lib/patches/60-add-c-wrapper-functions.patch b/libraries/id3lib/patches/60-add-c-wrapper-functions.patch
new file mode 100644
index 0000000000..d72e81c0ec
--- /dev/null
+++ b/libraries/id3lib/patches/60-add-c-wrapper-functions.patch
@@ -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 */
diff --git a/libraries/id3lib/patches/60-fix_make_check.patch b/libraries/id3lib/patches/60-fix_make_check.patch
new file mode 100644
index 0000000000..e2bb1b0518
--- /dev/null
+++ b/libraries/id3lib/patches/60-fix_make_check.patch
@@ -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();
diff --git a/libraries/id3lib/patches/60-id3lib-missing-nullpointer-check.patch b/libraries/id3lib/patches/60-id3lib-missing-nullpointer-check.patch
new file mode 100644
index 0000000000..d4ca5d292f
--- /dev/null
+++ b/libraries/id3lib/patches/60-id3lib-missing-nullpointer-check.patch
@@ -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;
+ }
diff --git a/libraries/id3lib/patches/60-spelling.patch b/libraries/id3lib/patches/60-spelling.patch
new file mode 100644
index 0000000000..89040e29ca
--- /dev/null
+++ b/libraries/id3lib/patches/60-spelling.patch
@@ -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"},
diff --git a/libraries/id3lib/patches/61-fix_vbr_stack_smash.patch b/libraries/id3lib/patches/61-fix_vbr_stack_smash.patch
new file mode 100644
index 0000000000..9bf33e9787
--- /dev/null
+++ b/libraries/id3lib/patches/61-fix_vbr_stack_smash.patch
@@ -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)
+ {
diff --git a/libraries/id3lib/patches/62-remove-remote-icons.patch b/libraries/id3lib/patches/62-remove-remote-icons.patch
new file mode 100644
index 0000000000..6d929953f2
--- /dev/null
+++ b/libraries/id3lib/patches/62-remove-remote-icons.patch
@@ -0,0 +1,32 @@
+This patch removes two icons from the documentation which would be loaded from
+remote servers, thereby exposing the reader's IP address to potential tracking
+(lintian keywords privacy-breach-logo and privacy-breach-w3c-valid-html).
+
+Author: Stefan Ott <stefan@ott.net>
+--- a/doc/index.html
++++ b/doc/index.html
+@@ -427,24 +427,5 @@
+ </td>
+ </tr>
+ </table>
+-
+- <br><br>
+-
+- <table align="center" width="80%" border="0">
+- <tr>
+- <td align="left">
+- <a href="http://sourceforge.net">
+- <IMG src="http://sourceforge.net/sflogo.php?group_id=979&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net"></A>
+- </td>
+- <td align="right">
+-
+- <a href="http://validator.w3.org/check/referer">
+- <img border=0
+- src="http://validator.w3.org/images/vh401"
+- alt="Valid HTML 4.01!" height=31 width=88></a>
+- </td>
+- </tr>
+- </table>
+- <br>
+ </body>
+ </html>
diff --git a/libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch b/libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch
deleted file mode 100644
index cae30e1870..0000000000
--- a/libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Submitted By: zippo zippo@oppiz.net
-Date: 2008-10-28
-Initial Package Version: 3.8.3
-Upstream Status: Unknown
-Origin: zippo@oppiz.net
-Description:Fixes things up for GCC-4.3.2
-
-diff -Naur id3lib-3.8.3/examples/demo_convert.cpp 32/id3lib-3.8.3/examples/demo_convert.cpp
---- id3lib-3.8.3/examples/demo_convert.cpp 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/examples/demo_convert.cpp 2008-10-29 20:10:04.000000000 +0000
-@@ -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;
-diff -Naur id3lib-3.8.3/examples/demo_copy.cpp 32/id3lib-3.8.3/examples/demo_copy.cpp
---- id3lib-3.8.3/examples/demo_copy.cpp 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/examples/demo_copy.cpp 2008-10-29 20:10:54.000000000 +0000
-@@ -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();
-diff -Naur id3lib-3.8.3/examples/demo_info.cpp 32/id3lib-3.8.3/examples/demo_info.cpp
---- id3lib-3.8.3/examples/demo_info.cpp 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/examples/demo_info.cpp 2008-10-29 20:09:31.000000000 +0000
-@@ -309,7 +309,7 @@
-
- #define DEBUG
-
--int main( unsigned int argc, char * const argv[])
-+int main(int argc, char * const argv[])
- {
- ID3D_INIT_DOUT();
-
-diff -Naur id3lib-3.8.3/examples/demo_tag.cpp 32/id3lib-3.8.3/examples/demo_tag.cpp
---- id3lib-3.8.3/examples/demo_tag.cpp 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/examples/demo_tag.cpp 2008-10-29 20:10:26.000000000 +0000
-@@ -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();
-diff -Naur id3lib-3.8.3/include/id3/id3lib_strings.h 32/id3lib-3.8.3/include/id3/id3lib_strings.h
---- id3lib-3.8.3/include/id3/id3lib_strings.h 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/include/id3/id3lib_strings.h 2008-10-29 20:03:28.000000000 +0000
-@@ -30,6 +30,7 @@
- #define _ID3LIB_STRINGS_H_
-
- #include <string>
-+#include "string.h"
-
- #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
- namespace std
-diff -Naur id3lib-3.8.3/include/id3/writers.h 32/id3lib-3.8.3/include/id3/writers.h
---- id3lib-3.8.3/include/id3/writers.h 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/include/id3/writers.h 2008-10-29 20:05:56.000000000 +0000
-@@ -30,7 +30,7 @@
-
- #include "id3/writer.h"
- #include "id3/id3lib_streams.h"
--//#include <string.h>
-+#include "string.h"
-
- class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
- {
-diff -Naur id3lib-3.8.3/src/field.cpp 32/id3lib-3.8.3/src/field.cpp
---- id3lib-3.8.3/src/field.cpp 2003-03-02 00:23:00.000000000 +0000
-+++ 32/id3lib-3.8.3/src/field.cpp 2008-10-29 20:02:19.000000000 +0000
-@@ -33,6 +33,8 @@
- #include "readers.h"
- #include <assert.h>
-
-+#include "string.h"
-+
- using namespace dami;
-
- // This is used for unimplemented frames so that their data is preserved when
diff --git a/libraries/id3lib/patches/id3lib_Doxyfile.patch b/libraries/id3lib/patches/id3lib_Doxyfile.patch
deleted file mode 100644
index 76288cbb05..0000000000
--- a/libraries/id3lib/patches/id3lib_Doxyfile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/Doxyfile.in 2005-01-05 14:27:05.000000000 +0100
-+++ b/Doxyfile.in 2005-01-05 14:30:19.000000000 +0100
-@@ -263,14 +263,17 @@
-
- INPUT = ../src \
- ../include/id3/field.h \
-- ../include/id3/frame.h \
- ../include/id3/globals.h \
-+ ../include/id3/helpers.h \
-+ ../include/id3/id3lib_frame.h \
-+ ../include/id3/id3lib_streams.h \
-+ ../include/id3/id3lib_strings.h \
- ../include/id3/misc_support.h \
- ../include/id3/reader.h \
- ../include/id3/readers.h \
- ../include/id3/sized_types.h \
- ../include/id3/tag.h \
-- ../include/id3/tag.h \
-+ ../include/id3/utils.h \
- ../include/id3/writer.h \
- ../include/id3/writers.h
-
diff --git a/libraries/id3lib/slack-desc b/libraries/id3lib/slack-desc
index ccfa45ce29..d318cdf99c 100644
--- a/libraries/id3lib/slack-desc
+++ b/libraries/id3lib/slack-desc
@@ -6,10 +6,10 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-id3lib: id3lib (id3 tag manipulation library)
+id3lib: id3lib (ID3 tag manipulation library)
id3lib:
-id3lib: This package provides a software library for manipulating ID3v1 and
-id3lib: ID3v2 tags. It provides a convenient interface for software
+id3lib: This package provides a software library for manipulating ID3v1
+id3lib: and ID3v2 tags. It provides a convenient interface for software
id3lib: developers to include standards-compliant ID3v1/2 tagging
id3lib: capabilities in their applications.
id3lib: